@openmrs/esm-devtools-app 10.0.1-pre.5434 → 10.0.1-pre.5452

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/893.js CHANGED
@@ -1,4 +1,4 @@
1
- "use strict";(globalThis.webpackChunk_openmrs_esm_devtools_app=globalThis.webpackChunk_openmrs_esm_devtools_app||[]).push([["893"],{3236(e,t,n){let o,r,i;n.r(t),n.d(t,{GenderUnknownIcon:()=>lN,evaluateAsNumber:()=>rr,getImportMapOverrideMap:()=>nn,StockManagementPictogram:()=>mc,ChemistryIcon:()=>ll,BabyIcon:()=>s4,DashboardExtension:()=>cN,openmrsComponentDecorator:()=>af,tryRegisterExtension:()=>sN,pictogramIds:()=>dq,ActivityIcon:()=>s1,compile:()=>rl,removeRouteMapOverride:()=>nP,checkStatus:()=>rM,TableBatchActions:()=>sH,getAsyncLifecycle:()=>ag,subscribeOpenmrsEvent:()=>oL,dispatchConnectivityChanged:()=>s,PasswordIcon:()=>lX,Assessment2Pictogram:()=>dY,CloseIcon:()=>lf,setupRouteMapOverrides:()=>nR,getWorkspaceGroupRegistration:()=>i$,registerWorkspace:()=>iI,useFeatureFlag:()=>aV,reset:()=>ib,LabOrderIcon:()=>lM,VisitMode:()=>oG,offlineUuidPrefix:()=>oh,useLocations:()=>st,getLifecycle:()=>ap,formatDatetime:()=>ut,getVisitsForPatient:()=>oZ,subscribeConnectivity:()=>c,formatPartialDate:()=>c4,CustomOverflowMenu:()=>sX,LocationIcon:()=>lD,GroupIcon:()=>lE,canBeginEditSynchronizationItemsOfType:()=>od,VisitStatus:()=>oV,createUseStore:()=>i8,getCurrentImportMap:()=>np,getSessionLocation:()=>tU,usePatient:()=>sl,useRenderableExtensions:()=>su,getOpenedWindowIndexByWorkspace:()=>iD,checkStatusFor:()=>rW,clearHistory:()=>tb,clearConfigErrors:()=>e3,formatTime:()=>ue,isDevEnabled:()=>tG,setLeftNav:()=>ik,syncOfflinePatientData:()=>o$,closeWorkspaceGroup2:()=>fr,getCurrentRouteMap:()=>nC,ConfigurableLink:()=>iZ,sessionStore:()=>tP,subscribeSnackbarShown:()=>S,getDynamicOfflineDataEntriesFor:()=>ok,getLoggedInUser:()=>tB,GenderMaleIcon:()=>lS,getExtensionSlotConfigFromStore:()=>ed,evaluateAsNumberAsync:()=>ri,putDynamicOfflineDataFor:()=>oj,getImportMapDefaultMap:()=>ne,unregisterExtensionRendering:()=>rq,implementerToolsConfigStore:()=>ej,Type:()=>Q,InPatientPictogram:()=>d7,cleanupObsoleteFeatureFlags:()=>rI,showSnackbar:()=>mk,PatientBannerActionsMenu:()=>dU,PatientSearchPictogram:()=>mn,DocumentAttachmentIcon:()=>lw,Snackbar:()=>m_,CardiologyPictogram:()=>d0,ImageMedicalIcon:()=>lA,ActionableNotificationComponent:()=>da,DiagnosisTags:()=>uV,iconIds:()=>s0,PatientsPictogram:()=>mo,interpolateUrl:()=>tf,setupHistory:()=>t_,subscribeToastShown:()=>k,detachAll:()=>ih,convertToLocaleCalendar:()=>un,DocumentIcon:()=>lh,configInternalStore:()=>ei,ActionMenuButton2:()=>fv,setupDynamicOfflineDataHandler:()=>ob,makeUrl:()=>tE,oneOf:()=>tn,selectPreferredName:()=>dO,launchWorkspaceGroup:()=>function e(t,n){let o=i$(t),{state:r,onWorkspaceGroupLaunch:i,workspaceGroupCleanup:a,workspaceToLaunch:s}=n,l=function(){return mH}();if(l.getState().openWorkspaces.length){let o=l.getState().workspaceGroup;o?mA(o?.name,()=>{e(t,n)}):mJ(()=>{e(t,n)})}else l.setState(e=>({...e,workspaceGroup:{name:t,members:o.members,cleanup:a}})),mY(t,r),i?.(),s&&mT(s.name,s.additionalProps??{})},syncDynamicOfflineData:()=>oO,MobileCheckIcon:()=>lz,createErrorHandler:()=>N,openmrsObservableFetch:()=>tI,parseDate:()=>c1,getAttachmentByUuid:()=>nW,LeftNavMenu:()=>uY,getExtensionRegistration:()=>id,ShoppingCartAddItemIcon:()=>ck,ReferralOrderIcon:()=>l2,ReportIcon:()=>l5,dispatchToastShown:()=>v,getImportMapNextPageMap:()=>nt,registerExtension:()=>im,setupOfflineSync:()=>op,DownloadIcon:()=>l_,useConnectivity:()=>aD,provide:()=>eD,getSynchronizationItemsFor:()=>oa,ShoppingCartArrowDownIcon:()=>ct,featureFlagsStore:()=>rE,promptBeforeClosing:()=>mM,removeDynamicOfflineDataFor:()=>oC,jsep:()=>o1.A,GeriatricsPictogram:()=>d8,SearchIcon:()=>l4,reportError:()=>j,slugify:()=>nd,isOmrsDateToday:()=>cY,getExtensionStore:()=>rK,BloodBankPictogram:()=>dZ,TriagePictogram:()=>md,Workspace2:()=>fp,refetchCurrentUser:()=>tW,CheckmarkOutlineIcon:()=>ls,registerExtensionSlot:()=>iv,AllergiesIcon:()=>cy,ArrowDownIcon:()=>s6,useOpenmrsInfinite:()=>a0,getExtensionConfigFromExtensionSlotStore:()=>eg,OpenmrsDatePicker:()=>uz,getExtensionConfigFromStore:()=>ep,getDynamicOfflineDataEntries:()=>ox,getLocaleDisplayName:()=>cH,messageOmrsServiceWorker:()=>nJ,navigate:()=>tg,launchWorkspace2:()=>fi,getGroupByWindowName:()=>iW,CustomOverflowMenuItem:()=>sQ,isUrl:()=>tt,CaretDownIcon:()=>le,ArrowLeftIcon:()=>s5,FacilityPictogram:()=>d3,ViewOffIcon:()=>ch,setCurrentOfflineMode:()=>n1,updateInternalExtensionStore:()=>rF,dispatchActionableNotificationShown:()=>_,resetRouteMapOverrides:()=>nT,formatDurationBetween:()=>uu,defaultVisitCustomRepresentation:()=>oJ,getBreadcrumbsFor:()=>td,useOpenmrsPagination:()=>aq,Pagination:()=>dS,CheckmarkFilledIcon:()=>la,clearCurrentUser:()=>tD,showModal:()=>dn,ChevronUpIcon:()=>lm,saveVisit:()=>oQ,useAttachments:()=>aP,Pictogram:()=>mh,useExtensionSlot:()=>an,ChevronDownIcon:()=>lc,OpenmrsDateRangePicker:()=>uG,deleteAttachmentPermanently:()=>nB,getVisitTypes:()=>oz,OverflowMenuHorizontalIcon:()=>lq,EventScheduleIcon:()=>lb,getSessionStore:()=>tR,ActionMenu:()=>fe,ProcedureOrderIcon:()=>l0,preloadImport:()=>nf,registerWorkspaceWindows2:()=>iB,useOnVisible:()=>so,setSessionLocation:()=>tF,userHasAccess:()=>tL,ChartAverageIcon:()=>lr,getFeatureFlag:()=>rA,UserAvatarIcon:()=>cm,renderExtension:()=>iK,useFhirInfinite:()=>a3,toVisitTypeObject:()=>oH,useSession:()=>sd,EmergencyDepartmentPictogram:()=>d5,Notification:()=>dr,dispatchSnackbarShown:()=>y,getSynchronizationItem:()=>ou,navigateAndLaunchWorkspace:()=>m$,omrsOfflineCachingStrategyHttpHeaderName:()=>nV,formatDate:()=>c7,workspace2StoreActions:()=>fl,SwitcherIcon:()=>l9,esmStyleGuideSchema:()=>sB,getImportMapDisabledOverrides:()=>no,useAssignedExtensionIds:()=>aI,CaretRightIcon:()=>ln,evaluateAsType:()=>ra,PageHeader:()=>dx,TranslateIcon:()=>cl,setUserProperties:()=>tH,MovementIcon:()=>lJ,renderInlineNotifications:()=>df,subscribePrecacheStaticDependencies:()=>m,PaymentsDeskPictogram:()=>mr,usePrimaryIdentifierCode:()=>sc,dispatchPrecacheStaticDependencies:()=>d,getCurrentUser:()=>t$,useLayoutType:()=>a4,XrayPictogram:()=>mm,CaretUpIcon:()=>lo,renderActionableNotifications:()=>dg,OpenmrsAppContext:()=>aj,setupModals:()=>dt,omrsOfflineResponseBodyHttpHeaderName:()=>nz,getDefaultsFromConfigSchema:()=>function e(t){let n={};for(let o of Object.keys(t))if(fD(t[o])&&t[o].hasOwnProperty("_default"))n[o]=t[o]._default;else{if(o.startsWith("_"))continue;fD(t[o])?n[o]=e(t[o]):n[o]=t[o]}return n},subscribeTo:()=>F,recordConfigDerivationError:()=>ek,useAbortController:()=>aC,Extension:()=>i0,getFhirServerPaginationHandlers:()=>aY,useConnectedExtensions:()=>aW,registerApp:()=>sE,queueSynchronizationItemFor:()=>or,HospitalBedIcon:()=>lI,useExtensionInternalStore:()=>aH,configExtensionStore:()=>es,getSynchronizationItems:()=>ol,getExtensionSlotsConfigStore:()=>ec,registerExtensionRendering:()=>rJ,RenderIfValueIsTruthy:()=>aN,registerFeatureFlag:()=>rO,useFhirFetchAll:()=>a5,restBaseUrl:()=>tj,CalendarHeatMapIcon:()=>s7,getWorkspaceRegistration:()=>iT,isImportMapOverrideDisabled:()=>nr,resetConfigSystem:()=>e8,getFullSynchronizationItems:()=>oc,getExtensionInternalStore:()=>rB,registerGlobalStore:()=>B,runSynchronization:()=>ot,evaluateAsBoolean:()=>rn,PatientBannerPatientInfo:()=>dL,addRouteMapOverride:()=>nA,getDefaultCalendar:()=>c3,SettingsIcon:()=>l7,DrugOrderIcon:()=>ly,isOnline:()=>r$,ProgramsIcon:()=>l1,useAssignedExtensions:()=>at,CloseFilledIcon:()=>lp,canAccessStorage:()=>fW,registerDefaultCalendar:()=>c5,TreeViewAltIcon:()=>cu,OverflowMenuVerticalIcon:()=>lK,clearConfigDerivationError:()=>eS,getConfigStore:()=>el,registerWorkspaceGroup:()=>iA,InformationSquareIcon:()=>l$,EmptyCard:()=>uK,ChevronLeftIcon:()=>lu,RadiologyIcon:()=>cx,useCandidateExtensions:()=>aA,renderToasts:()=>mE,isDesktop:()=>a7,integrateBreakpoints:()=>sT,RegistrationPictogram:()=>ms,CardHeader:()=>sW,getExtensionRegistrationFrom:()=>iu,InformationIcon:()=>lP,TrashCanIcon:()=>cc,useShallowStableValue:()=>i1,useOpenmrsSWR:()=>sr,Assessment1Pictogram:()=>dQ,finishRegisteringAllApps:()=>sO,importDynamic:()=>nm,useFhirPagination:()=>aQ,useVisitContextStore:()=>sy,ArrowUpIcon:()=>s8,showActionableNotification:()=>dh,getDynamicOfflineDataHandlers:()=>ov,useForceUpdate:()=>aJ,updateWorkspaceWindowState:()=>mG,useVisit:()=>sv,PatientBannerPatientIdentifiers:()=>dR,WorkspaceNotification:()=>m4,TransferPictogram:()=>mu,usePagination:()=>si,Breakpoint:()=>sI,PatientBannerToggleContactDetailsButton:()=>fb,CloseOutlineIcon:()=>lg,ObstetricsPictogram:()=>mt,parseDateInput:()=>ur,getConfig:()=>eB,attach:()=>ip,getLocale:()=>cz,ActionMenuButton:()=>m6,isUrlWithTemplateParameters:()=>te,useEmrConfiguration:()=>aF,useLeftNav:()=>a9,ToolsIcon:()=>cs,ErrorState:()=>uX,detach:()=>ig,setCurrentVisit:()=>oX,registerOmrsServiceWorker:()=>nF,ConditionsIcon:()=>cb,SaveIcon:()=>l8,activateOfflineCapability:()=>n2,useWorkspaces:()=>mq,resetWorkspaceStore:()=>mQ,useConfig:()=>aM,validator:()=>Y,CalendarIcon:()=>s9,getHistory:()=>ty,StickyNoteAddIcon:()=>cn,useWorkspace2Store:()=>fc,getPatientName:()=>dj,getVisitStore:()=>oK,getCoreTranslation:()=>tY,registerModuleWithConfigSystem:()=>e$,isOfflineUuid:()=>o_,registerModuleLoad:()=>eR,getBreadcrumbs:()=>tl,extractVariableNames:()=>rj,getOfflineSynchronizationStore:()=>oe,translateFrom:()=>tQ,EditIcon:()=>lv,useStoreWithActions:()=>i3,getCandidateExtensions:()=>iy,putDynamicOfflineData:()=>oS,shallowEqual:()=>E,subscribeNotificationShown:()=>b,MaximizeIcon:()=>lB,promptForClosingWorkspaces:()=>fs,WarningIcon:()=>c_,closeAllWorkspaces:()=>mJ,fhirBaseUrl:()=>tN,matchLocale:()=>fM,registerBreadcrumb:()=>ta,usePatientPhoto:()=>dz,EventsIcon:()=>lx,createGlobalStore:()=>L,workspaceStore:()=>mH,getCurrentOfflineMode:()=>n0,subscribeToFeatureFlag:()=>rP,useExtensionStore:()=>aG,closeWorkspace:()=>mB,createAttachment:()=>nL,useLeftNavStore:()=>se,TableIcon:()=>ci,Icon:()=>cj,InformationFilledIcon:()=>lT,getCurrentPageMap:()=>t9,LaboratoryPictogram:()=>d9,temporaryConfigStore:()=>ea,getPromptBeforeClosingFcn:()=>mW,toDateObjectStrict:()=>cZ,defineConfigSchema:()=>eT,filterBreadcrumbs:()=>tu,invalidateImplementerToolsConfig:()=>eb,PatientBannerContactDetails:()=>fC,getAssignedExtensions:()=>i_,PatientPhoto:()=>dJ,MaterialOrderIcon:()=>lL,MicroscopeIcon:()=>lH,scheduleRecomputation:()=>r0,PharmacyPictogram:()=>mi,AttachmentIcon:()=>cv,MoneyIcon:()=>lG,getAttachments:()=>nD,getFullSynchronizationItemsFor:()=>os,PageHeaderContent:()=>dk,MedicationIcon:()=>lU,PrinterIcon:()=>lZ,getWorkspaceGroupStore:()=>mY,PatientListsPictogram:()=>mp,useAppContext:()=>aE,isOpenmrsRoutes:()=>nw,AppointmentsAltPictogram:()=>dX,GenericOrderTypeIcon:()=>lC,batchExtensionUpdates:()=>rY,useExtensionSlotStore:()=>i9,ViewIcon:()=>cw,formattedName:()=>dE,sessionEndpoint:()=>tC,duration:()=>ul,resetImportMapOverrides:()=>ns,TableOfContentsIcon:()=>cr,CaretLeftIcon:()=>lt,getTranslationOverrides:()=>eU,isVersionSatisfied:()=>fU,EmptyCardIllustration:()=>uq,PenIcon:()=>lY,getWorkspaceStore:()=>mz,registerOfflinePatientHandler:()=>oT,setupImportMapOverrides:()=>nu,showToast:()=>mO,useDefineAppContext:()=>aS,validators:()=>to,getGlobalStore:()=>U,useOnClickOutside:()=>sn,getWindowByWorkspaceName:()=>iM,ArrowRightIcon:()=>s3,loadLifeCycles:()=>sk,registerBreadcrumbs:()=>ts,MotherIcon:()=>lV,fetchCurrentPatient:()=>oM,Toast:()=>mS,MessageQueueIcon:()=>lF,TwoFactorAuthenticationIcon:()=>cd,Pharmacy2Pictogram:()=>ma,goBackInHistory:()=>tv,GroupAccessIcon:()=>lO,getExtensionRenderingsStore:()=>rU,setImplementerToolsConfigRecomputer:()=>ev,getAsyncExtensionLifecycle:()=>aw,setupApiModule:()=>tJ,renderLoadingSpinner:()=>fE,WorkspaceContainer:()=>ft,showNotification:()=>dp,queueSynchronizationItem:()=>oi,getModalRegistration:()=>iC,ListCheckedIcon:()=>lW,ResponsiveWrapper:()=>mw,GynaecologyPictogram:()=>d4,ShoppingCartIcon:()=>ce,getRouteMapNextPageMap:()=>nO,updateVisit:()=>oY,backendDependencies:()=>tV,MaybePictogram:()=>mg,beginEditSynchronizationItem:()=>om,createParcelMounter:()=>iJ,getStartedVisit:()=>o0,omrsOfflineResponseStatusHttpHeaderName:()=>nG,isOpenmrsAppRoutes:()=>nh,openmrsFetch:()=>tO,HomePictogram:()=>mf,DentistryPictogram:()=>d2,ServiceQueuesPictogram:()=>ml,toLanguageTag:()=>cF,launchWorkspace:()=>mT,setFeatureFlag:()=>rT,useStore:()=>i5,DigitalTrustPictogram:()=>d6,NumericObservation:()=>dv,attachmentUrl:()=>nM,interpolateString:()=>tp,inRange:()=>e9,useExtensionSlotMeta:()=>az,AppointmentsPictogram:()=>dK,renderSnackbars:()=>mx,getRegisteredWorkspace2Names:()=>fd,toLocationObject:()=>oU,ChartLineIcon:()=>li,UserHasAccess:()=>sm,evaluateAsBooleanAsync:()=>ro,changeWorkspaceContext:()=>mU,createDashboard:()=>cC,getLocations:()=>oF,getOfflineDb:()=>n8,canCloseWorkspaceWithoutPrompting:()=>mI,getExtensionsConfigStore:()=>em,getRouteMapDefaultMap:()=>nE,age:()=>dA,syncAllDynamicOfflineData:()=>oE,isOmrsDateStrict:()=>cQ,registerWorkspaceGroups2:()=>iL,usePaginationInfo:()=>sa,evaluateAsync:()=>rt,useOpenmrsFetchAll:()=>a2,removeImportMapOverride:()=>na,showWorkspacePrompts:()=>mK,useVisitTypes:()=>sb,ageAsDuration:()=>dI,removeDynamicOfflineData:()=>oN,getExtensionNameFromId:()=>ic,deleteSynchronizationItem:()=>of,renderParcel:()=>iV,useWorkspace2Context:()=>fu,ResetIcon:()=>l3,RenewIcon:()=>l6,subscribeActionableNotificationShown:()=>x,ErrorCard:()=>uQ,GenderFemaleIcon:()=>lk,enableImportMapOverride:()=>nl,getOfflinePatientDataStore:()=>oP,retry:()=>fF,ComponentContext:()=>iY,ExtensionSlot:()=>ar,getOmrsServiceWorker:()=>nH,addImportMapOverride:()=>ni,subscribeConnectivityChanged:()=>l,unsetLeftNav:()=>iS,MaybeIcon:()=>cS,useCustomOverflowMenu:()=>sK,PedestrianFamilyIcon:()=>lQ,generateOfflineUuid:()=>ow,cancelPrompt:()=>mD,CtScanPictogram:()=>d1,dispatchNotificationShown:()=>w,leftNavStore:()=>ix,OpenmrsFetchError:()=>tA,UserFollowIcon:()=>cf,launchWorkspaceGroup2:()=>fo,ChevronRightIcon:()=>ld,UserXrayIcon:()=>cp,GenderOtherIcon:()=>lj,formatDuration:()=>uo,toOmrsIsoString:()=>c0,Labs2Pictogram:()=>me,workspace2Store:()=>iR,setUserLanguage:()=>tM,useBodyScrollLock:()=>aT,getExtensionConfig:()=>ef,SyringeIcon:()=>co,LocationPicker:()=>uZ,useDebounce:()=>aL,TimeIcon:()=>ca,getExtensionSlotConfig:()=>eu,AddIcon:()=>s2,getRouteMapOverrideMap:()=>nI,processConfig:()=>eF,InventoryManagementIcon:()=>lR,registerWorkspaces2:()=>iU,UserIcon:()=>cg,formatPatientName:()=>dC,fireOpenmrsEvent:()=>oD,registerModal:()=>iN,registerTranslationNamespace:()=>eM,displayName:()=>dN,evaluate:()=>re,defineExtensionConfigSchema:()=>eW,renderWorkspaceWindowsAndMenu:()=>f$,getSyncLifecycle:()=>ah,evaluateAsTypeAsync:()=>rs});let a="openmrs:connectivity-changed";function s(e){window.dispatchEvent(new CustomEvent(a,{detail:{online:e}}))}function l(e){if(!window.offlineEnabled)return()=>{};let t=t=>e(t.detail);return window.addEventListener(a,t),()=>window.removeEventListener(a,t)}function c(e){return e({online:!window.offlineEnabled||navigator.onLine}),l(e)}let u="openmrs:precache-static-dependencies";function d(e={}){window.dispatchEvent(new CustomEvent(u,{detail:e}))}function m(e){let t=t=>e(t.detail);return window.addEventListener(u,t),()=>window.removeEventListener(u,t)}let f="openmrs:notification-shown",p="openmrs:actionable-notification-shown",g="openmrs:toast-shown",h="openmrs:snack-bar-shown";function w(e){window.dispatchEvent(new CustomEvent(f,{detail:e}))}function _(e){window.dispatchEvent(new CustomEvent(p,{detail:e}))}function y(e){window.dispatchEvent(new CustomEvent(h,{detail:e}))}function v(e){window.dispatchEvent(new CustomEvent(g,{detail:e}))}function b(e){let t=t=>e(t.detail);return window.addEventListener(f,t),()=>window.removeEventListener(f,t)}function x(e){let t=t=>e(t.detail);return window.addEventListener(p,t),()=>window.removeEventListener(p,t)}function k(e){let t=t=>e(t.detail);return window.addEventListener(g,t),()=>window.removeEventListener(g,t)}function S(e){let t=t=>e(t.detail);return window.addEventListener(h,t),()=>window.removeEventListener(h,t)}function j(e){let t=C(e);setTimeout(()=>{throw t})}function N(){let e=Error();return t=>{let n=C(t);n.stack+=`
1
+ "use strict";(globalThis.webpackChunk_openmrs_esm_devtools_app=globalThis.webpackChunk_openmrs_esm_devtools_app||[]).push([["893"],{3236(e,t,n){let o,r,i;n.r(t),n.d(t,{GenderUnknownIcon:()=>lC,evaluateAsNumber:()=>ri,getImportMapOverrideMap:()=>nn,StockManagementPictogram:()=>mu,ChemistryIcon:()=>lc,BabyIcon:()=>s7,DashboardExtension:()=>cC,openmrsComponentDecorator:()=>ap,tryRegisterExtension:()=>sC,pictogramIds:()=>dK,ActivityIcon:()=>s2,compile:()=>rc,removeRouteMapOverride:()=>nP,checkStatus:()=>rW,TableBatchActions:()=>sz,getAsyncLifecycle:()=>ah,subscribeOpenmrsEvent:()=>oB,dispatchConnectivityChanged:()=>s,PasswordIcon:()=>lQ,Assessment2Pictogram:()=>dZ,CloseIcon:()=>lp,setupRouteMapOverrides:()=>nR,getWorkspaceGroupRegistration:()=>iR,registerWorkspace:()=>iA,useFeatureFlag:()=>aJ,reset:()=>ix,LabOrderIcon:()=>lW,VisitMode:()=>oV,offlineUuidPrefix:()=>ow,useLocations:()=>sn,getLifecycle:()=>ag,formatDatetime:()=>un,getVisitsForPatient:()=>o0,subscribeConnectivity:()=>c,formatPartialDate:()=>c7,CustomOverflowMenu:()=>sQ,LocationIcon:()=>lL,GroupIcon:()=>lO,canBeginEditSynchronizationItemsOfType:()=>om,VisitStatus:()=>oJ,createUseStore:()=>i4,getCurrentImportMap:()=>np,getSessionLocation:()=>tU,usePatient:()=>sc,useRenderableExtensions:()=>sd,getOpenedWindowIndexByWorkspace:()=>iL,checkStatusFor:()=>rD,clearHistory:()=>tb,clearConfigErrors:()=>e3,formatTime:()=>ut,isDevEnabled:()=>tG,setLeftNav:()=>iS,syncOfflinePatientData:()=>oR,closeWorkspaceGroup2:()=>fi,getCurrentRouteMap:()=>nC,ConfigurableLink:()=>i0,sessionStore:()=>tP,subscribeSnackbarShown:()=>S,getDynamicOfflineDataEntriesFor:()=>oS,getLoggedInUser:()=>tB,GenderMaleIcon:()=>lj,getExtensionSlotConfigFromStore:()=>ed,evaluateAsNumberAsync:()=>ra,putDynamicOfflineDataFor:()=>oN,getImportMapDefaultMap:()=>ne,unregisterExtensionRendering:()=>rK,implementerToolsConfigStore:()=>ej,Type:()=>Q,InPatientPictogram:()=>d9,cleanupObsoleteFeatureFlags:()=>rA,getAttachmentsUrl:()=>nL,showSnackbar:()=>mS,PatientBannerActionsMenu:()=>dF,PatientSearchPictogram:()=>mo,DocumentAttachmentIcon:()=>l_,Snackbar:()=>my,CardiologyPictogram:()=>d1,ImageMedicalIcon:()=>lP,ActionableNotificationComponent:()=>ds,DiagnosisTags:()=>uJ,iconIds:()=>s1,PatientsPictogram:()=>mr,interpolateUrl:()=>tf,setupHistory:()=>t_,subscribeToastShown:()=>k,detachAll:()=>iw,convertToLocaleCalendar:()=>uo,DocumentIcon:()=>lw,configInternalStore:()=>ei,ActionMenuButton2:()=>fb,setupDynamicOfflineDataHandler:()=>ox,makeUrl:()=>tE,oneOf:()=>tn,selectPreferredName:()=>dI,launchWorkspaceGroup:()=>function e(t,n){let o=iR(t),{state:r,onWorkspaceGroupLaunch:i,workspaceGroupCleanup:a,workspaceToLaunch:s}=n,l=function(){return mz}();if(l.getState().openWorkspaces.length){let o=l.getState().workspaceGroup;o?mP(o?.name,()=>{e(t,n)}):mq(()=>{e(t,n)})}else l.setState(e=>({...e,workspaceGroup:{name:t,members:o.members,cleanup:a}})),mZ(t,r),i?.(),s&&m$(s.name,s.additionalProps??{})},syncDynamicOfflineData:()=>oI,MobileCheckIcon:()=>lG,createErrorHandler:()=>N,openmrsObservableFetch:()=>tI,parseDate:()=>c2,getAttachmentByUuid:()=>nW,LeftNavMenu:()=>uZ,getExtensionRegistration:()=>im,ShoppingCartAddItemIcon:()=>cS,ReferralOrderIcon:()=>l6,ReportIcon:()=>l3,dispatchToastShown:()=>v,getImportMapNextPageMap:()=>nt,registerExtension:()=>ip,setupOfflineSync:()=>og,DownloadIcon:()=>ly,useConnectivity:()=>aL,provide:()=>eD,getSynchronizationItemsFor:()=>os,ShoppingCartArrowDownIcon:()=>cn,featureFlagsStore:()=>rO,promptBeforeClosing:()=>mW,removeDynamicOfflineDataFor:()=>oE,jsep:()=>o2.A,GeriatricsPictogram:()=>d4,SearchIcon:()=>l7,reportError:()=>j,slugify:()=>nd,isOmrsDateToday:()=>cZ,getExtensionStore:()=>rX,BloodBankPictogram:()=>d0,TriagePictogram:()=>mm,Workspace2:()=>fg,refetchCurrentUser:()=>tW,CheckmarkOutlineIcon:()=>ll,registerExtensionSlot:()=>ib,AllergiesIcon:()=>cv,ArrowDownIcon:()=>s5,useOpenmrsInfinite:()=>a1,getExtensionConfigFromExtensionSlotStore:()=>eg,OpenmrsDatePicker:()=>uG,getExtensionConfigFromStore:()=>ep,getDynamicOfflineDataEntries:()=>ok,getLocaleDisplayName:()=>cz,messageOmrsServiceWorker:()=>nq,navigate:()=>tg,launchWorkspace2:()=>fa,getGroupByWindowName:()=>iD,CustomOverflowMenuItem:()=>sY,isUrl:()=>tt,CaretDownIcon:()=>lt,ArrowLeftIcon:()=>s3,FacilityPictogram:()=>d8,ViewOffIcon:()=>cw,setCurrentOfflineMode:()=>n2,updateInternalExtensionStore:()=>rH,dispatchActionableNotificationShown:()=>_,resetRouteMapOverrides:()=>nT,formatDurationBetween:()=>ud,defaultVisitCustomRepresentation:()=>oq,getBreadcrumbsFor:()=>td,useOpenmrsPagination:()=>aK,Pagination:()=>dj,CheckmarkFilledIcon:()=>ls,clearCurrentUser:()=>tD,showModal:()=>dr,ChevronUpIcon:()=>lf,saveVisit:()=>oY,useAttachments:()=>aT,Pictogram:()=>mw,useExtensionSlot:()=>ao,ChevronDownIcon:()=>lu,OpenmrsDateRangePicker:()=>uV,deleteAttachmentPermanently:()=>nU,getVisitTypes:()=>oG,OverflowMenuHorizontalIcon:()=>lK,EventScheduleIcon:()=>lx,getSessionStore:()=>tR,ActionMenu:()=>ft,ProcedureOrderIcon:()=>l1,preloadImport:()=>nf,registerWorkspaceWindows2:()=>iU,useOnVisible:()=>sr,setSessionLocation:()=>tF,userHasAccess:()=>tL,ChartAverageIcon:()=>li,getFeatureFlag:()=>rP,UserAvatarIcon:()=>cf,renderExtension:()=>iX,useFhirInfinite:()=>a8,toVisitTypeObject:()=>oz,useSession:()=>sm,EmergencyDepartmentPictogram:()=>d3,Notification:()=>di,dispatchSnackbarShown:()=>y,getSynchronizationItem:()=>od,navigateAndLaunchWorkspace:()=>mR,omrsOfflineCachingStrategyHttpHeaderName:()=>nJ,formatDate:()=>c9,workspace2StoreActions:()=>fc,SwitcherIcon:()=>ce,esmStyleGuideSchema:()=>sU,getImportMapDisabledOverrides:()=>no,useAssignedExtensionIds:()=>aA,CaretRightIcon:()=>lo,evaluateAsType:()=>rs,PageHeader:()=>dk,TranslateIcon:()=>cc,setUserProperties:()=>tH,MovementIcon:()=>lq,renderInlineNotifications:()=>dp,subscribePrecacheStaticDependencies:()=>m,PaymentsDeskPictogram:()=>mi,usePrimaryIdentifierCode:()=>su,dispatchPrecacheStaticDependencies:()=>d,getCurrentUser:()=>t$,useLayoutType:()=>a7,XrayPictogram:()=>mf,CaretUpIcon:()=>lr,renderActionableNotifications:()=>dh,OpenmrsAppContext:()=>aN,setupModals:()=>dn,omrsOfflineResponseBodyHttpHeaderName:()=>nG,getDefaultsFromConfigSchema:()=>function e(t){let n={};for(let o of Object.keys(t))if(fL(t[o])&&t[o].hasOwnProperty("_default"))n[o]=t[o]._default;else{if(o.startsWith("_"))continue;fL(t[o])?n[o]=e(t[o]):n[o]=t[o]}return n},subscribeTo:()=>F,recordConfigDerivationError:()=>ek,useAbortController:()=>aE,Extension:()=>i1,getFhirServerPaginationHandlers:()=>aZ,useConnectedExtensions:()=>aD,registerApp:()=>sO,queueSynchronizationItemFor:()=>oi,HospitalBedIcon:()=>lA,useExtensionInternalStore:()=>az,configExtensionStore:()=>es,getSynchronizationItems:()=>oc,getExtensionSlotsConfigStore:()=>ec,registerExtensionRendering:()=>rq,RenderIfValueIsTruthy:()=>aC,registerFeatureFlag:()=>rI,useFhirFetchAll:()=>a3,restBaseUrl:()=>tj,CalendarHeatMapIcon:()=>s9,getWorkspaceRegistration:()=>i$,isImportMapOverrideDisabled:()=>nr,resetConfigSystem:()=>e8,getFullSynchronizationItems:()=>ou,getExtensionInternalStore:()=>rU,registerGlobalStore:()=>B,runSynchronization:()=>on,evaluateAsBoolean:()=>ro,PatientBannerPatientInfo:()=>dB,addRouteMapOverride:()=>nA,getDefaultCalendar:()=>c8,SettingsIcon:()=>l9,DrugOrderIcon:()=>lv,isOnline:()=>rR,ProgramsIcon:()=>l2,useAssignedExtensions:()=>an,CloseFilledIcon:()=>lg,canAccessStorage:()=>fD,registerDefaultCalendar:()=>c3,TreeViewAltIcon:()=>cd,OverflowMenuVerticalIcon:()=>lX,clearConfigDerivationError:()=>eS,getConfigStore:()=>el,registerWorkspaceGroup:()=>iP,InformationSquareIcon:()=>lR,EmptyCard:()=>uX,ChevronLeftIcon:()=>ld,RadiologyIcon:()=>ck,useCandidateExtensions:()=>aP,renderToasts:()=>mO,isDesktop:()=>a9,integrateBreakpoints:()=>s$,RegistrationPictogram:()=>ml,CardHeader:()=>sD,getExtensionRegistrationFrom:()=>id,InformationIcon:()=>lT,TrashCanIcon:()=>cu,useShallowStableValue:()=>i2,useOpenmrsSWR:()=>si,Assessment1Pictogram:()=>dY,finishRegisteringAllApps:()=>sI,importDynamic:()=>nm,useFhirPagination:()=>aY,useVisitContextStore:()=>sv,ArrowUpIcon:()=>s4,showActionableNotification:()=>dw,getDynamicOfflineDataHandlers:()=>ob,useForceUpdate:()=>aq,updateWorkspaceWindowState:()=>mV,useVisit:()=>sb,PatientBannerPatientIdentifiers:()=>dM,WorkspaceNotification:()=>m7,TransferPictogram:()=>md,usePagination:()=>sa,Breakpoint:()=>sA,PatientBannerToggleContactDetailsButton:()=>fx,CloseOutlineIcon:()=>lh,ObstetricsPictogram:()=>mn,parseDateInput:()=>ui,getConfig:()=>eB,attach:()=>ig,getLocale:()=>cG,ActionMenuButton:()=>m5,isUrlWithTemplateParameters:()=>te,useEmrConfiguration:()=>aH,useLeftNav:()=>se,ToolsIcon:()=>cl,ErrorState:()=>uQ,detach:()=>ih,setCurrentVisit:()=>oQ,registerOmrsServiceWorker:()=>nH,ConditionsIcon:()=>cx,SaveIcon:()=>l4,activateOfflineCapability:()=>n6,useWorkspaces:()=>mK,resetWorkspaceStore:()=>mY,useConfig:()=>aW,validator:()=>Y,CalendarIcon:()=>le,getHistory:()=>ty,StickyNoteAddIcon:()=>co,useWorkspace2Store:()=>fu,getPatientName:()=>dN,getVisitStore:()=>oX,getCoreTranslation:()=>tY,registerModuleWithConfigSystem:()=>e$,isOfflineUuid:()=>oy,registerModuleLoad:()=>eR,getBreadcrumbs:()=>tl,extractVariableNames:()=>rN,getOfflineSynchronizationStore:()=>ot,translateFrom:()=>tQ,EditIcon:()=>lb,useStoreWithActions:()=>i8,getCandidateExtensions:()=>iv,putDynamicOfflineData:()=>oj,shallowEqual:()=>E,subscribeNotificationShown:()=>b,MaximizeIcon:()=>lU,promptForClosingWorkspaces:()=>fl,WarningIcon:()=>cy,closeAllWorkspaces:()=>mq,fhirBaseUrl:()=>tN,matchLocale:()=>fW,registerBreadcrumb:()=>ta,usePatientPhoto:()=>dG,EventsIcon:()=>lk,createGlobalStore:()=>L,workspaceStore:()=>mz,getCurrentOfflineMode:()=>n1,subscribeToFeatureFlag:()=>rT,useExtensionStore:()=>aV,closeWorkspace:()=>mU,createAttachment:()=>nB,useLeftNavStore:()=>st,TableIcon:()=>ca,Icon:()=>cN,InformationFilledIcon:()=>l$,getCurrentPageMap:()=>t9,LaboratoryPictogram:()=>me,temporaryConfigStore:()=>ea,getPromptBeforeClosingFcn:()=>mD,toDateObjectStrict:()=>c0,defineConfigSchema:()=>eT,filterBreadcrumbs:()=>tu,invalidateImplementerToolsConfig:()=>eb,PatientBannerContactDetails:()=>fE,getAssignedExtensions:()=>iy,PatientPhoto:()=>dq,MaterialOrderIcon:()=>lB,MicroscopeIcon:()=>lz,scheduleRecomputation:()=>r1,PharmacyPictogram:()=>ma,AttachmentIcon:()=>cb,MoneyIcon:()=>lV,getAttachments:()=>nD,getFullSynchronizationItemsFor:()=>ol,PageHeaderContent:()=>dS,MedicationIcon:()=>lF,PrinterIcon:()=>l0,getWorkspaceGroupStore:()=>mZ,PatientListsPictogram:()=>mg,useAppContext:()=>aO,isOpenmrsRoutes:()=>nw,AppointmentsAltPictogram:()=>dQ,GenericOrderTypeIcon:()=>lE,batchExtensionUpdates:()=>rZ,useExtensionSlotStore:()=>ae,ViewIcon:()=>c_,formattedName:()=>dO,sessionEndpoint:()=>tC,duration:()=>uc,resetImportMapOverrides:()=>ns,TableOfContentsIcon:()=>ci,CaretLeftIcon:()=>ln,getTranslationOverrides:()=>eU,isVersionSatisfied:()=>fF,EmptyCardIllustration:()=>uK,PenIcon:()=>lZ,getWorkspaceStore:()=>mG,registerOfflinePatientHandler:()=>o$,setupImportMapOverrides:()=>nu,showToast:()=>mI,useDefineAppContext:()=>aj,validators:()=>to,getGlobalStore:()=>U,useOnClickOutside:()=>so,getWindowByWorkspaceName:()=>iW,ArrowRightIcon:()=>s8,loadLifeCycles:()=>sS,registerBreadcrumbs:()=>ts,MotherIcon:()=>lJ,fetchCurrentPatient:()=>oW,Toast:()=>mj,MessageQueueIcon:()=>lH,TwoFactorAuthenticationIcon:()=>cm,Pharmacy2Pictogram:()=>ms,goBackInHistory:()=>tv,GroupAccessIcon:()=>lI,getExtensionRenderingsStore:()=>rF,setImplementerToolsConfigRecomputer:()=>ev,getAsyncExtensionLifecycle:()=>a_,setupApiModule:()=>tJ,renderLoadingSpinner:()=>fO,WorkspaceContainer:()=>fn,showNotification:()=>dg,queueSynchronizationItem:()=>oa,getModalRegistration:()=>iE,ListCheckedIcon:()=>lD,ResponsiveWrapper:()=>m_,GynaecologyPictogram:()=>d7,ShoppingCartIcon:()=>ct,getRouteMapNextPageMap:()=>nO,updateVisit:()=>oZ,backendDependencies:()=>tV,MaybePictogram:()=>mh,beginEditSynchronizationItem:()=>of,createParcelMounter:()=>iq,getStartedVisit:()=>o1,omrsOfflineResponseStatusHttpHeaderName:()=>nV,isOpenmrsAppRoutes:()=>nh,openmrsFetch:()=>tO,HomePictogram:()=>mp,DentistryPictogram:()=>d6,ServiceQueuesPictogram:()=>mc,toLanguageTag:()=>cH,launchWorkspace:()=>m$,setFeatureFlag:()=>r$,useStore:()=>i3,DigitalTrustPictogram:()=>d5,NumericObservation:()=>db,attachmentUrl:()=>nM,interpolateString:()=>tp,inRange:()=>e9,useExtensionSlotMeta:()=>aG,AppointmentsPictogram:()=>dX,renderSnackbars:()=>mk,getRegisteredWorkspace2Names:()=>fm,toLocationObject:()=>oF,ChartLineIcon:()=>la,UserHasAccess:()=>sf,evaluateAsBooleanAsync:()=>rr,changeWorkspaceContext:()=>mF,createDashboard:()=>cE,getLocations:()=>oH,getOfflineDb:()=>n4,canCloseWorkspaceWithoutPrompting:()=>mA,getExtensionsConfigStore:()=>em,getRouteMapDefaultMap:()=>nE,age:()=>dP,syncAllDynamicOfflineData:()=>oO,isOmrsDateStrict:()=>cY,registerWorkspaceGroups2:()=>iB,usePaginationInfo:()=>ss,evaluateAsync:()=>rn,useOpenmrsFetchAll:()=>a6,removeImportMapOverride:()=>na,showWorkspacePrompts:()=>mX,useVisitTypes:()=>sx,ageAsDuration:()=>dA,removeDynamicOfflineData:()=>oC,getExtensionNameFromId:()=>iu,deleteSynchronizationItem:()=>op,renderParcel:()=>iJ,useWorkspace2Context:()=>fd,ResetIcon:()=>l8,RenewIcon:()=>l5,subscribeActionableNotificationShown:()=>x,ErrorCard:()=>uY,GenderFemaleIcon:()=>lS,enableImportMapOverride:()=>nl,getOfflinePatientDataStore:()=>oT,retry:()=>fH,ComponentContext:()=>iZ,ExtensionSlot:()=>ai,getOmrsServiceWorker:()=>nz,addImportMapOverride:()=>ni,subscribeConnectivityChanged:()=>l,unsetLeftNav:()=>ij,MaybeIcon:()=>cj,useCustomOverflowMenu:()=>sX,PedestrianFamilyIcon:()=>lY,generateOfflineUuid:()=>o_,cancelPrompt:()=>mL,CtScanPictogram:()=>d2,dispatchNotificationShown:()=>w,leftNavStore:()=>ik,OpenmrsFetchError:()=>tA,UserFollowIcon:()=>cp,launchWorkspaceGroup2:()=>fr,ChevronRightIcon:()=>lm,UserXrayIcon:()=>cg,GenderOtherIcon:()=>lN,formatDuration:()=>ur,toOmrsIsoString:()=>c1,Labs2Pictogram:()=>mt,workspace2Store:()=>iM,setUserLanguage:()=>tM,useBodyScrollLock:()=>a$,getExtensionConfig:()=>ef,SyringeIcon:()=>cr,LocationPicker:()=>u0,useDebounce:()=>aB,TimeIcon:()=>cs,getExtensionSlotConfig:()=>eu,AddIcon:()=>s6,getRouteMapOverrideMap:()=>nI,processConfig:()=>eF,InventoryManagementIcon:()=>lM,registerWorkspaces2:()=>iF,UserIcon:()=>ch,formatPatientName:()=>dE,fireOpenmrsEvent:()=>oL,registerModal:()=>iC,registerTranslationNamespace:()=>eM,displayName:()=>dC,evaluate:()=>rt,defineExtensionConfigSchema:()=>eW,renderWorkspaceWindowsAndMenu:()=>fR,getSyncLifecycle:()=>aw,evaluateAsTypeAsync:()=>rl});let a="openmrs:connectivity-changed";function s(e){window.dispatchEvent(new CustomEvent(a,{detail:{online:e}}))}function l(e){if(!window.offlineEnabled)return()=>{};let t=t=>e(t.detail);return window.addEventListener(a,t),()=>window.removeEventListener(a,t)}function c(e){return e({online:!window.offlineEnabled||navigator.onLine}),l(e)}let u="openmrs:precache-static-dependencies";function d(e={}){window.dispatchEvent(new CustomEvent(u,{detail:e}))}function m(e){let t=t=>e(t.detail);return window.addEventListener(u,t),()=>window.removeEventListener(u,t)}let f="openmrs:notification-shown",p="openmrs:actionable-notification-shown",g="openmrs:toast-shown",h="openmrs:snack-bar-shown";function w(e){window.dispatchEvent(new CustomEvent(f,{detail:e}))}function _(e){window.dispatchEvent(new CustomEvent(p,{detail:e}))}function y(e){window.dispatchEvent(new CustomEvent(h,{detail:e}))}function v(e){window.dispatchEvent(new CustomEvent(g,{detail:e}))}function b(e){let t=t=>e(t.detail);return window.addEventListener(f,t),()=>window.removeEventListener(f,t)}function x(e){let t=t=>e(t.detail);return window.addEventListener(p,t),()=>window.removeEventListener(p,t)}function k(e){let t=t=>e(t.detail);return window.addEventListener(g,t),()=>window.removeEventListener(g,t)}function S(e){let t=t=>e(t.detail);return window.addEventListener(h,t),()=>window.removeEventListener(h,t)}function j(e){let t=C(e);setTimeout(()=>{throw t})}function N(){let e=Error();return t=>{let n=C(t);n.stack+=`
2
2
  Async stacktrace:
3
3
  ${e.stack}`,j(t)}}function C(e){let t;if(e instanceof Error)return e;if(null===e)return Error("'null' was thrown as an error");if("object"==typeof e){try{t=`Object thrown as error: ${JSON.stringify(e)}`}catch(n){t=`Object thrown as error with the following properties: ${Object.keys(e)}`}return Error(t)}if(void 0===e)return Error("'undefined' was thrown as an error");return Error(e.toString())}function E(e,t){if(e===t||Object.is(e,t))return!0;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}if(Array.isArray(t)||"object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;let n=Object.getOwnPropertyNames(e),o=Object.getOwnPropertyNames(t);return n.length===o.length&&n.every(n=>e[n]===t[n])}window.onerror=function(e){return console.error("Unexpected error: ",e),v({description:e??"Oops! An unexpected error occurred.",kind:"error",title:"Error"}),!1},window.onunhandledrejection=function(e){console.error("Unhandled rejection: ",e.reason),v({description:e.reason??"Oops! An unhandled promise rejection occurred.",kind:"error",title:"Error"})};var O,I,A,P=n(1978),T=n(9167);function $(){try{return"u">typeof process&&("true"===process.env.VITEST||void 0!==process.env.JEST_WORKER_ID)||"u">typeof globalThis&&("__vitest_worker__"in globalThis||"__jest__"in globalThis)}catch{return!1}}let R={},M=Symbol.for("openmrs.esm-state.instanceCount"),W=globalThis,D=(W[M]??0)+1;function L(e,t,n="none"){let o=R[e];if(o)return o.active?$()||console.error(`Attempted to override the existing store ${e}. Make sure that stores are only created once.`):o.value.setState(t,!0),o.active=!0,o.value;{let o=H(e,t,n);return R[e]={value:o,active:!0},o}}function B(e,t){let n=R[e];return n?(n.active?$()||console.error(`Attempted to override the existing store ${e}. Make sure that stores are only created once.`):n.value=t,n.active=!0,n.value):(R[e]={value:t,active:!0},t)}function U(e,t,n="none"){let o=R[e];if(!o){let o=H(e,t??{},n);return R[e]={value:o,active:!1},o}return o.value}function F(...e){let[t,n,o]=e,r=void 0===o?n:o,i=void 0===o?e=>e:n,a=i(t.getState());return r(a),t.subscribe(e=>{let t=i(e);E(a,t)||(a=t,r(t))})}function H(e,t,n){return"sessionStorage"===n?(0,T.y)()((0,P.Zr)(()=>t,{name:e,storage:(0,P.KU)(()=>sessionStorage)})):(0,T.y)()(()=>t)}W[M]=D,D>1&&!$()&&console.error(`Detected ${D} copies of @openmrs/esm-framework running on this page. Each copy keeps its own store registry, so stores, configuration and extension state are not shared between them. This usually means a frontend module loaded its own bundled framework instead of the one the app shell provides.`),globalThis.setTimeout?.(()=>{"u">typeof window&&"development"===window.spaEnv&&(window.stores=R)},1e3);var z=n(1156),G=n(7436),V=n(3591),J=n(4888),q=n(9352),K=n(8170),X=n(8395),Q=((O={}).Array="Array",O.Boolean="Boolean",O.ConceptUuid="ConceptUuid",O.Number="Number",O.Object="Object",O.String="String",O.UUID="UUID",O.PersonAttributeTypeUuid="PersonAttributeTypeUuid",O.PatientIdentifierTypeUuid="PatientIdentifierTypeUuid",O);function Y(e,t){return n=>{if(!e(n))if("function"==typeof t)return t(n);else return t}}let Z=Y(e=>Array.isArray(e),"must be an array"),ee=Y(e=>"boolean"==typeof e,"must be a boolean"),et=Y(e=>"number"==typeof e,"must be a number"),en=Y(e=>"string"==typeof e,"must be a string"),eo=Y(e=>"object"==typeof e&&!Array.isArray(e)&&null!==e,"must be an object (not an array or null)"),er=Y(e=>/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)||/^[0-9a-f]{36}$/i.test(e),"must be a valid UUID or a 36-character hexadecimal string"),ei=L("config-internal",{providedConfigs:[],schemas:{},moduleLoaded:{}}),ea=L("temporary-config",{config:function(){try{return JSON.parse(localStorage.getItem("openmrs:temporaryConfig")||"{}")}catch(e){return{}}}()});ea.subscribe(e=>{var t=e.config;try{localStorage.setItem("openmrs:temporaryConfig",JSON.stringify(t))}catch(e){}});let es=L("config-store-of-extension-state",{mountedExtensions:[]});function el(e){return U(`config-module-${e}`,{config:null,loaded:!1,translationOverridesLoaded:!1})}function ec(){return U("config-extension-slots",{slots:{}})}function eu(e){return ed(ec().getState(),e)}function ed(e,t){return e.slots[t]??{loaded:!1,config:{}}}function em(){return U("config-extensions",{configs:{}})}function ef(e,t){if("string"!=typeof e||"string"!=typeof t||"__proto__"===e||"__proto__"===t||"constructor"===e||"constructor"===t||"prototype"===e||"prototype"===t)throw Error("Attempted to call `getExtensionConfig()` with invalid argument");let n=em(),o=n=>n.configs[e]?.[t];return{getInitialState:()=>o(n.getInitialState()),getState:()=>o(n.getState())??{loaded:!1,config:null},subscribe:e=>n.subscribe((t,n)=>{let r=o(t),i=o(n);E(r,i)||e(r,i)})}}function ep(e,t,n){return e.configs[t]?.[n]??{loaded:!1,config:null}}function eg(e,t,n){return e.configure?.[n]??null}let eh=(0,T.y)()(()=>({config:{}})),ew=0,e_=!0,ey=!1;function ev(e){o=e}function eb(){e_=!0,ew>0&&ex()}function ex(){if(e_&&o&&!ey){ey=!0,e_=!1;try{o()}catch(e){e_=!0,ek(e),console.error("Failed to derive the implementer tools config",e)}finally{ey=!1}}}function ek(e){eh.setState({derivationError:e instanceof Error?e.message:String(e)})}function eS(){eh.getState().derivationError&&eh.setState({derivationError:void 0})}let ej=B("config-implementer-tools",{...eh,getState:()=>(0===ew&&ex(),eh.getState()),setState:(...e)=>(e_=!1,eh.setState(...e)),subscribe(e){ew++,ex();let t=eh.subscribe(e),n=!1;return()=>{!n&&(n=!0,ew--),t()}}});function eN(e,t){if(Array.isArray(t))return t}function eC(e,t){return(0,J.A)({},e,t,eN)}let eE=[];function eO(){let e=ei.getState(),t=ea.getState(),n=es.getState();!function(e,t){for(let n of Object.keys(e.schemas)){let o,r=el(n),i=e.schemas[n],a=!!e.moduleLoaded[n],s=eP.get(n);if(s&&s.schema===i&&s.moduleLoaded===a&&s.providedConfigs===e.providedConfigs&&s.temporaryConfig===t.config)o=s.state;else{let r=a?function(e,t,n){let o=t.schemas[e],r=eq(e,eV(t,n));eX(o,r,e);let i=e0(o,r);return eQ(o,i,e),delete i.extensionSlots,i}(n,e,t):function(e,t,n){let o=e0(e7,eq(e,eV(t,n)));return eQ(e7,o,e),delete o.extensionSlots,o}(n,e,t);o={translationOverridesLoaded:!0,loaded:a,config:r},eP.set(n,{schema:i,moduleLoaded:a,providedConfigs:e.providedConfigs,temporaryConfig:t.config,state:o})}let l=r.getState();l.loaded===o.loaded&&l.translationOverridesLoaded===o.translationOverridesLoaded&&(0,q.A)(l.config,o.config)||r.setState(o)}}(e,t);let o=function(e,t){let n=eK(eV(e,t)),o=Object.keys(n).reduce((e,t)=>(n[t]?.extensionSlots&&(e[t]=n[t]?.extensionSlots),e),{});var r=o;for(let[e,t]of Object.entries(r))for(let[n,o]of Object.entries(t))!function(e,t,n){let o=`${t}.extensionSlots.${n}`,r=`Extension slot config '${o}'`,i=Object.keys(e).filter(e=>!["add","remove","order","configure"].includes(e));i.length&&e5(o,r+`' contains invalid keys '${i.join("', '")}'`),!e.add||Array.isArray(e.add)&&e.add.every(e=>"string"==typeof e)||e5(o,r+".add' is invalid. Must be an array of strings (extension IDs)"),!e.remove||Array.isArray(e.remove)&&e.remove.every(e=>"string"==typeof e)||e5(o,r+".remove' is invalid. Must be an array of strings (extension IDs)"),!e.order||Array.isArray(e.order)&&e.order.every(e=>"string"==typeof e)||e5(o,r+".order' is invalid. Must be an array of strings (extension IDs)"),e.configure&&!e2(e.configure)&&e5(o,r+".configure' is invalid. Must be an object with extension IDs for keys")}(o,e,n);let i={},a={};for(let e of Object.values(o))for(let[t,n]of Object.entries(e))i[t]=n,n.configure&&(a[t]??(a[t]=[])).push(n.configure);for(let[e,t]of Object.entries(a)){let n=1===t.length?t[0]:eK(t);i[e].configure!==n&&(i[e]={...i[e],configure:n})}return i}(e,t);(function(e){let t=ec(),n=t.getState().slots,o={},r=!1;for(let[t,i]of Object.entries(e)){let e=n[t];e?.loaded&&(0,q.A)(e.config,i)?o[t]=e:(o[t]={loaded:!0,config:i},r=!0)}(r||Object.keys(n).length!==Object.keys(o).length)&&t.setState({slots:o})})(o),function(e,t,n,o){let r=em(),i=r.getState().configs,a={},s=!1,l=0;for(let r of t.mountedExtensions){let t=function(e,t,n,o,r,i,a){let s=function(e){let[t]=e.split("#");return t}(o),l=r.schemas[s],c=JSON.stringify([n,o,e,t]),u=eH.get(c);if(u&&u.extensionSchema===l&&u.extensionModuleSchema===r.schemas[t]&&u.providedConfigs===r.providedConfigs&&u.temporaryConfig===i.config)return u.config;let d=l?s:t,m=eV(r,i),f=a?.configure?.[o]??{},p=eq(e,m),g=p?.extensionSlots?.[n]?.configure?.[o]??{},h=eK([eq(d,m),f,g]),w=l??r.schemas[t];eX(w,h,d);let _=e0(w,h);return eQ(w,_,d),delete _.extensionSlots,eH.set(c,{extensionSchema:l,extensionModuleSchema:r.schemas[t],providedConfigs:r.providedConfigs,temporaryConfig:i.config,config:_}),_}(r.slotModuleName,r.extensionModuleName,r.slotName,r.extensionId,e,n,o[r.slotName]),c=i[r.slotName]?.[r.extensionId],u=c?.loaded&&(0,q.A)(c.config,t)?c:{config:t,loaded:!0};u!==c&&(s=!0),a[r.slotName]||(a[r.slotName]={}),a[r.slotName][r.extensionId]=u,l++}for(let[e,t]of Object.entries(a)){let n=i[e];n&&Object.keys(n).length===Object.keys(t).length&&Object.entries(t).every(([e,t])=>n[e]===t)&&(a[e]=n)}s||(s=Object.keys(i).length!==Object.keys(a).length||Object.values(i).reduce((e,t)=>e+Object.keys(t).length,0)!==l),s&&r.setState({configs:a})}(e,n,t,o),eb()}function eI(){o=()=>{var e,t;let n,o;return e=ei.getState(),t=ea.getState(),n=ej.getState(),o={config:function(e,t){let n=function(e){let t={};for(let[n,o]of Object.entries(e)){let e=eG.get(n);if(e&&e.schema===o)t[n]=e.annotated;else{let e=function e(t){return t.hasOwnProperty("_default")?{...t,_value:t._default,_source:"default"}:e2(t)?Object.keys(t).reduce((n,o)=>(n[o]=e(t[o]),n),{}):{}}((0,X.A)(o));eG.set(n,{schema:o,annotated:e}),t[n]=e}}return t}(e.schemas),o=[...e.providedConfigs.map(e=>[e.config,e.source]),[t.config,"temporary config"]],r=new Set(Object.keys(n));for(let[e]of o)for(let t of Object.keys(e))r.add(t);let i={};for(let e of r){let t=n[e],r=o.map(([t])=>t[e]),a=o.map(([,e])=>e),s=ez.get(e);if(s&&s.annotatedSchema===t&&s.configSlices.length===r.length&&s.configSlices.every((e,t)=>e===r[t])&&s.sources.every((e,t)=>e===a[t])){i[e]=s.result;continue}let l=t??{};o.forEach(([,e],t)=>{let n=r[t];void 0!==n&&(l=eC(l,function e(t,n){return e2(t)?Object.keys(t).reduce((o,r)=>(o[r]=e(t[r],n),o),{}):{_value:t,_source:n}}(n,e)))}),ez.set(e,{annotatedSchema:t,configSlices:r,sources:a,result:l}),i[e]=l}return i}(e,t)},void((0,q.A)(n.config,o.config)||ej.setState(o))},eO(),eE.push(ei.subscribe(eA),ea.subscribe(eA),es.subscribe(eA))}function eA(){eS();try{eO()}catch(e){ek(e),console.error("Failed to recompute the configuration",e)}}eI();let eP=new Map;function eT(e,t){eJ(e,t);let n=eC(t,e7);ei.setState(t=>({...t,schemas:{...t.schemas,[e]:n},moduleLoaded:{...t.moduleLoaded,[e]:!0}}))}function e$(e){ei.setState(t=>({...t,schemas:{...t.schemas,[e]:e7}}))}function eR(e){ei.setState(t=>({...t,moduleLoaded:{...t.moduleLoaded,[e]:!0}}))}function eM(e){ei.setState(t=>({...t,schemas:{...t.schemas,[e]:e4}}))}function eW(e,t){eJ(e,t);let n=eC(t,e7);ei.getState().schemas[e]&&console.error(`Config schema for extension ${e} already exists. If there are multiple extensions with this same name, one will probably crash.`),ei.setState(t=>({...t,schemas:{...t.schemas,[e]:n}}))}function eD(e,t="provided"){ei.setState(n=>({...n,providedConfigs:[...n.providedConfigs,{source:t,config:e}]}))}function eL(e,t,n){return new Promise(o=>{let r,i=!1;function a(e){!i&&t(e)&&(i=!0,o(n(e)),r?.())}a(e.getState()),i||(r=e.subscribe(a))})}function eB(e){return eL(el(e),e=>!!(e.loaded&&e.config),e=>(0,K.A)(e.config,["Display conditions","Translation overrides"]))}function eU(e,t,n){let o=[eL(el(e),e=>!!(e.translationOverridesLoaded&&e.config),e=>e.config["Translation overrides"]??{})];return t&&n&&o.push(eL(ef(t,n),e=>!!(e.loaded&&e.config),e=>e.config["Translation overrides"]??{})),Promise.all(o)}function eF(e,t,n){eX(e,t,n);let o=e0(e,t);return eQ(e,o,n),o}let eH=new Map,ez=new Map,eG=new Map;function eV(e,t){return[...e.providedConfigs.map(e=>e.config),t.config]}function eJ(e,t,n=""){let o="Please verify that you are running the latest version and, if so, alert the maintainer.";for(let r of Object.keys(t).filter(e=>!e.startsWith("_"))){let i=n+(n&&".")+r,a=t[r];if("Display conditions"===i&&console.error(`${e} declares a configuration option called "Display conditions"; the "Display conditions" option is a reserved name. ${o}`),"Translation overrides"===i&&console.error(`${e} declares a configuration option called "Translation overrides"; the "Translation overrides" option is a reserved name. ${o}`),!e2(a)){console.error(`${e} has bad config schema definition for key '${i}'. ${o}`);continue}a.hasOwnProperty("_default")||eJ(e,a,i);let s=a._elements;if(e1(s)&&eJ(e,s,i+"._elements"),a._validators)for(let t of a._validators)"function"!=typeof t&&console.error(`${e} has invalid validator for key '${i}' ${o}.
4
4
 
@@ -12,21 +12,21 @@ If you're the maintainer: the 'elements' key only works with '_type' equal to 'A
12
12
  ${t}`)}return o}let e0=(e,t)=>{let n=structuredClone(t);if(!e)return n;for(let t of Object.keys(e)){let o=n[t],r=e[t];if(r&&(r.hasOwnProperty("_type")||r.hasOwnProperty("_default"))){n.hasOwnProperty(t)||(n[t]=r._default);let e=r._elements;if(o&&e1(e)){if(r._type===Q.Array&&Array.isArray(o)){let r=o.map(t=>e0(e,t));n[t]=r}else if(r._type===Q.Object)for(let t of Object.keys(o))o[t]=e0(e,o[t])}}else if(e2(r)){let e=o??{};e2(e)&&(n[t]=e0(r,e))}}return n};function e1(e){return!!e&&Object.keys(e).filter(e=>!["_default","_validators"].includes(e)).length>0}function e2(e){return"object"==typeof e&&!Array.isArray(e)&&null!==e}let e6=new Set;function e5(e,t){let n=`${e}:::${t}`;e6||(e6=new Set),e6.has(n)||(console.error(t),e6.add(n))}function e3(e){e?e6.forEach(t=>{t.startsWith(e)&&e6.delete(t)}):e6.clear()}function e8(){eE.forEach(e=>e()),eE.length=0,eP.clear(),eH.clear(),eG.clear(),ez.clear(),eI()}let e4={"Translation overrides":{_description:"Per-language overrides for frontend translations should be keyed by language code and each language dictionary contains the translation key and the display value",_type:Q.Object,_default:{},_validators:[Y(e=>Object.keys(e).every(e=>/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e)),e=>{let t=Object.keys(e).filter(e=>!/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e));return`The 'Translation overrides' object should have language codes for keys. Language codes must be in the form of a two-to-three letter language code optionally followed by a hyphen and a two-to-three letter country code. The following keys do not conform: ${t.join(", ")}.`})]}},e7={"Display conditions":{privileges:{_description:"The privilege(s) the user must have to use this extension",_type:Q.Array,_default:[]},expression:{_description:"The expression that determines whether the extension is displayed",_type:Q.String,_default:void 0}},...e4},e9=(e,t)=>Y(n=>e<=n&&n<=t,`must be between ${e} and ${t}`),te=e=>{let t=e.concat(["openmrsBase","openmrsSpaBase"]);return Y(e=>{if(!e||"string"!=typeof e)return!1;let n=/\${(.*?)}/g,o=n.exec(e);for(;o;){if(!t.includes(o[1]))return!1;o=n.exec(e)}return!0},"Should be a URL or path. The allowed template parameters are "+t.map(e=>"${"+e+"}").join(", "))},tt=te([]),tn=e=>Y(t=>e.includes(t),`Must be one of the following: '${e.join("', '")}'.`),to={inRange:e9,isUrl:tt,isUrlWithTemplateParameters:te,oneOf:tn};var tr=n(4913);let ti=L("breadcrumbs",[]);function ta(e){return ts([e])}function ts(e){let t=[...tl(),...e.map(e=>({matcher:e.matcher instanceof RegExp?e.matcher:"string"==typeof e.matcher?(0,tr.pathToRegexp)(e.matcher).regexp:(0,tr.pathToRegexp)(e.path).regexp,settings:e}))];ti.setState(t,!0)}function tl(){return ti.getState()}function tc(e,t){if(t)return function(e,t){let[n]=e.filter(e=>e.matcher.test(t));return n}(e,t)||function(e,t){let n=t.split("/");for(;n.length>1;){n.pop();let t=tc(e,n.join("/"));if(t)return t}}(e,t)}function tu(e,t){if(e.length>0){let n=tc(e,t);if(n){let t=[n],o=tc(e,n.settings.parent);for(;void 0!==o;)t.push(o),o=tc(e,o.settings.parent);return t.reverse()}}return[]}function td(e){return tu(tl(),e)}var tm=n(2267);function tf(e,t){let n=window.getOpenmrsSpaBase().replace(/\/$/,"");return tp(e,{openmrsBase:window.openmrsBase,openmrsSpaBase:n,...t}).replace(/^\/\//,"/")}function tp(e,t){return Object.keys(t).reduce((e,n)=>e.split("${"+n+"}").join(t[n]),e)}function tg({to:e,templateParams:t}){let n=window.getOpenmrsSpaBase().replace(/\/$/,""),o=tf(e,t).replace(window.location.origin,"");o.startsWith(n)?(0,tm.EH)(o):window.location.assign(o)}let th="openmrs:history";function tw(e){let t=JSON.parse(sessionStorage.getItem(th)??"[]")||[];t.push(e),t.length>50&&(t=t.slice(-50)),sessionStorage.setItem(th,JSON.stringify(t))}function t_(){0===JSON.parse(sessionStorage.getItem(th)??"[]").length&&document.referrer&&tw(document.referrer),window.addEventListener("single-spa:routing-event",e=>{let t=ty();e.detail.originalEvent?.singleSpaTrigger=="replaceState"?(t[t.length-1]=window.location.href,sessionStorage.setItem(th,JSON.stringify(t))):!e.detail.originalEvent?.singleSpa&&t.includes(window.location.href)?tv({toUrl:window.location.href}):t[t.length-1]!==window.location.href&&tw(window.location.href)})}function ty(){return JSON.parse(sessionStorage.getItem(th)??"[]")}function tv({toUrl:e}){let t=ty(),n=t.lastIndexOf(e);if(-1!=n){let e=t.slice(0,n+1);tg({to:t[n]}),sessionStorage.setItem(th,JSON.stringify(e))}else throw Error(`URL ${e} not found in history; cannot go back to it.`)}function tb(){sessionStorage.removeItem(th)}let tx="${openmrsSpaBase}/login",tk={redirectAuthFailure:{enabled:{_type:Q.Boolean,_default:!0,_description:"Whether to redirect logged-out users to `redirectAuthFailure.url`"},url:{_type:Q.String,_default:tx,_validators:[to.isUrl],_description:"The url to which users will be redirected when they are logged out. If set to blank, the `location` header from the response will be used."},errors:{_type:Q.Array,_default:[401],_elements:{_type:Q.Number,_validators:[to.inRange(100,600)]},_description:"The HTTP error codes for which users will be redirected"},resolvePromise:{_type:Q.Boolean,_default:!1,_description:"Changes how requests that fail authentication are handled. Try messing with this if redirects to the login page aren't working correctly."}},followRedirects:{_type:Q.Boolean,_default:!0,_description:"Whether openmrsFetch should support redirects returned from the backend"}};function tS(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}let tj="/ws/rest/v1",tN="/ws/fhir2/R4",tC=`${tj}/session`;function tE(e){return e&&e.startsWith("http")?e:("/"!==e[0]&&(e="/"+e),window.openmrsBase+e)}function tO(e,t={}){if("string"!=typeof e)throw Error("The first argument to @openmrs/api's openmrsFetch function must be a url string");if("object"!=typeof t)throw Error("The second argument to @openmrs/api's openmrsFetch function must be a plain object.");if(!window.openmrsBase)throw Error("@openmrs/api is running in a browser that doesn't have window.openmrsBase, which is provided by openmrs-module-spa's HTML file.");let n=tE(e);if(t.headers||(t.headers={}),(0,V.A)(t.body)&&(t.body=JSON.stringify(t.body)),void 0===t.headers.Accept&&(t.headers.Accept="application/json"),null===t.headers.Accept&&delete t.headers.Accept,e.startsWith(tj)&&void 0===t.headers["Disable-WWW-Authenticate"]&&(t.headers["Disable-WWW-Authenticate"]="true"),e.startsWith(tN)){let e=new URL(n,window.location.toString());e.searchParams.has("_summary")||(e.searchParams.set("_summary","data"),n=e.toString())}let o=Error();return window.fetch(n,t).then(async e=>{let{redirectAuthFailure:t,followRedirects:r}=await eB("@openmrs/esm-api");if(e.ok){let t=e.headers.get("location");return(r&&t&&(n===tE(tC)||204===e.status)&&tg({to:t}),204===e.status)?(e.data=null,e):e.clone().text().then(t=>{try{t&&(e.data=JSON.parse(t))}catch(e){}return e})}return n===tE(tC)&&403===e.status||t.enabled&&t.errors.includes(e.status)?(tb(),tg({to:t.url||e.headers.get("location")||tx}),t.resolvePromise?Promise.resolve():new Promise(()=>{})):e.clone().text().then(t=>{let r=t;try{r=JSON.parse(t)}catch(e){}throw new tA(n,e,r,o)},t=>{throw new tA(n,e,null,o)})})}function tI(e,t={}){if("object"!=typeof t)throw Error("The second argument to openmrsObservableFetch must be either omitted or an object");let n=new AbortController;return t.signal=n.signal,new G.Observable(o=>{let r=!1;return tO(e,t).then(e=>{r=!0,o.next(e),o.complete()},e=>{r=!0,o.error(e)}),()=>{r||n.abort()}})}class tA extends Error{constructor(e,t,n,o){super(),tS(this,"response",void 0),tS(this,"responseBody",void 0),this.message=`Server responded with ${t.status} (${t.statusText}) for url ${e}. Check err.responseBody or network tab in dev tools for more info`,o.message=this.message,this.responseBody=n,this.response=t,this.stack=`Stacktrace for outgoing request:
13
13
  ${o.stack}
14
14
  Stacktrace for incoming response:
15
- ${this.stack}`}}let tP=L("session",{loaded:!1,session:null}),tT=0;function t$(e={includeAuthStatus:!0}){return(tT<Date.now()-6e4||!tP.getState().loaded)&&tW(),new G.Observable(t=>{let n=n=>{n.loaded&&(e.includeAuthStatus?t.next(n.session):t.next(n.session?.user))};return n(tP.getState()),tP.subscribe(n)})}function tR(){return(tT<Date.now()-6e4||!tP.getState().loaded)&&tW(),tP}function tM(e){let t=e.locale??e.user?.userProperties?.defaultLocale;t&&t.includes("_")&&(t=t.replaceAll("_","-")),function(e){if(void 0===e||"string"!=typeof e)return!1;try{new Intl.Locale(e)}catch(e){return!1}return!0}(t)&&t!==document.documentElement.getAttribute("lang")&&document.documentElement.setAttribute("lang",t)}function tW(e,t){tT=Date.now();let n={};return e&&t&&(n.Authorization=`Basic ${window.btoa(`${e}:${t}`)}`),tz(tO(tC,{headers:n}))}function tD(){tP.setState({loaded:!0,session:{authenticated:!1,sessionId:""}})}function tL(e,t){var n,o;if(void 0===t)return!e;if(!e)return!0;return n=e,o=t,("string"==typeof n?!(0,z.A)(o.privileges.find(e=>n===e.display)):Array.isArray(n)?n.every(e=>!(0,z.A)(o.privileges.find(t=>e===t.display))):((0,z.A)(n)||console.error(`Could not understand privileges "${n}"`),!0))||!(0,z.A)(t.roles.find(e=>"System Developer"===e.display))}function tB(){let e,t;return new Promise(n=>{let o=o=>{o.loaded&&o.session.user&&(e=o.session.user,n(o.session.user),t&&t())};o(tP.getState()),e||(t=tP.subscribe(o))})}function tU(){return new Promise((e,t)=>{t$().subscribe(t=>{e(t.sessionLocation)},t).unsubscribe()})}async function tF(e,t){return tz(tO(tC,{method:"POST",body:{sessionLocation:e},headers:{"Content-Type":"application/json"},signal:t.signal}))}async function tH(e,t,n){return n||(n=new AbortController),await tO(`${tj}/user/${e}`,{method:"POST",body:{userProperties:t},headers:{"Content-Type":"application/json"},signal:n.signal}),tW()}function tz(e){return new Promise((t,n)=>{e.then(e=>{let o;"object"==typeof e?.data?(o={loaded:!0,session:e.data},tP.setState(o),t(o)):(o={loaded:!1,session:null},tP.setState(o),n(o))}).catch(e=>{j(`Failed to fetch new session information: ${e}`);let t={loaded:!1,session:null};tP.setState(t),n(t)})})}function tG(){return"development"===window.spaEnv||"true"===localStorage.getItem("openmrs:devtools")}tP.subscribe(e=>{e.loaded&&e.session&&tM(e.session)});let tV={"webservices.rest":"2.24.0",fhir2:"1.0.0-SNAPSHOT"};function tJ(){eT("@openmrs/esm-api",tk),tW()}let tq={address1:"Address line 1",address2:"Address line 2",address3:"Address line 3",address4:"Address line 4",address5:"Address line 5",address6:"Address line 6",city:"City",cityVillage:"City",country:"Country",countyDistrict:"District",district:"District",postalCode:"Postal code",state:"State",stateProvince:"State",closeAllOpenedWorkspaces:"Discard changes in {{count}} workspaces",closingAllWorkspacesPromptBody:"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}",closingAllWorkspacesPromptTitle:"You have unsaved changes",discard:"Discard",hide:"Hide",maximize:"Maximize",minimize:"Minimize",openAnyway:"Open anyway",unsavedChangesInOpenedWorkspace:"You may have unsaved changes in the opened workspace. Do you want to discard these changes?",unsavedChangesInWorkspace:'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',unsavedChangesTitleText:"Unsaved changes",workspaceHeader:"Workspace header",discardUnsavedChangesPromptBodyMultiple:"{{count}} workspaces have unsaved changes. Closing them will discard the changes:",discardUnsavedChangesPromptBodySingle:"<strong>{{workspaceTitle}}</strong> has unsaved changes. Closing it will discard them.",discardUnsavedChangesPromptTitle:"Discard unsaved changes?",keepEditing:"Keep editing",abnormalValue:"Abnormal value",actions:"Actions",actionableNotification:"Actionable notification",address:"Address",age:"Age",batchActionItemSelected:"{{totalSelected}} item selected",batchActionsItemsSelected:"{{totalSelected}} items selected",cancel:"Cancel",change:"Change",Clinic:"Clinic",close:"Close",closesActionableNotification:"Close actionable notification",closeSnackbar:"Close snackbar",confirm:"Confirm",contactAdministratorIfIssuePersists:"Contact your system administrator if the problem persists.",contactDetails:"Contact details",delete:"Delete",discardChanges:"Discard changes",edit:"Edit",emptyStateText:"There are no {{displayText}} to display",error:"Error",errorCopy:"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.",errorLoadingLoginLocations:"Unable to load login locations. Please try again or contact support if the problem persists.",female:"Female",leftNavigation:"Left navigation",loading:"Loading",localVersion:"Local Build",male:"Male",noResultsToDisplay:"No results to display",notAvailable:"Not available",other:"Other",paginationItemsCount:"{{pageItemsCount}} / {{totalItems}} items",paginationOfPages:"of {{count}} pages",patientAvatarAlt:"Avatar for {{patientName}}",patientIdentifierSticker:"Patient identifier sticker",patientLists:"Patient lists",patientPhotoAlt:"Profile photo of {{patientName}}",patientPhotoPlaceholder:"Photo placeholder for {{patientName}}",prereleaseVersion:"Prerelease",print:"Print",printError:"Print error",printErrorExplainer:"An error occurred in {{errorLocation}}",printIdentifierSticker:"Print identifier sticker",printing:"Printing",recordNewEntry:"Record {{displayText}}",relationships:"Relationships",resetOverrides:"Reset overrides",save:"Save",scriptLoadingFailed:"Error: Script failed to load",scriptLoadingError:"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",searchForLocation:"Search for a location",seeAll:"See all",seeMoreLists:"See {{count}} more lists",selectAll:"Select all",sex:"Sex",showLess:"Show less",showMore:"Show more",snackbarNotification:"Snackbar notification",toggleDevTools:"Toggle dev tools",unknown:"Unknown",yearAbbreviation:"yr",yearsAbbreviation:"yrs"};var tK=n(2279);let tX=tK.Ay.default||tK.Ay;function tQ(e,t,n,o){return tX.t(t,{ns:e,defaultValue:n,...o})}function tY(e,t,n){return tq[e]?tQ("core",e,t??tq[e],n):(console.error(`O3 Core Translations does not provide key '${e}'. The key itself is being rendered as text.`),e)}tX.on("initialized",function(){window.i18next.loadNamespaces(["core"])});let tZ="import-map-override:",t0="import-map-overrides-disabled",t1="import-map-overrides:change",t2=!1,t6=null,t5=null;async function t3(){return t5??(t5=t8().then(({map:e,complete:t})=>(t||(t5=null),e))),t5}async function t8(){let e=document.querySelectorAll('script[type="systemjs-importmap"]'),t=[],n=!0;for(let o=0;o<e.length;o++){let r=e[o];try{if(r.src){let e=await fetch(r.src);if(!e.ok)throw Error(`Request for ${r.src} returned ${e.status} ${e.statusText}`);t.push(await e.json())}else r.textContent&&t.push(JSON.parse(r.textContent))}catch(e){n=!1,console.warn(`[import-maps] Failed to parse import map from script tag at index ${o}`,e)}}return{map:t4(t),complete:n}}function t4(e){let t={imports:{}};for(let n of e)n?.imports&&Object.assign(t.imports,n.imports);return t}function t7(){let e={};try{let t=no();for(let n=0;n<localStorage.length;n++){let o=localStorage.key(n);if(o?.startsWith(tZ)){let n=o.slice(tZ.length);if(!t.includes(n)){let t=localStorage.getItem(o);t&&(e[n]=t)}}}}catch(e){console.warn("[import-maps] Failed to read import-map overrides from localStorage",e)}return{imports:e}}async function t9(){let e=await t3();return t2?t4([e,t6??t7()]):e}async function ne(){return t3()}async function nt(){return t2?t4([await t3(),t7()]):t3()}function nn(e){if(!t2)return{imports:{}};if(e){let e={};for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n?.startsWith(tZ)){let t=localStorage.getItem(n);t&&(e[n.slice(tZ.length)]=t)}}return{imports:e}}return t7()}function no(){if(!t2)return[];try{let e=localStorage.getItem(t0);if(e){let t=JSON.parse(e);if(Array.isArray(t))return t}}catch{}return[]}function nr(e){return!!t2&&no().includes(e)}function ni(e,t){if(!t2)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.setItem(tZ+e,t),window.dispatchEvent(new CustomEvent(t1))}catch(e){console.warn("[import-maps] Failed to write import-map override to localStorage",e)}}function na(e){if(!t2)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.removeItem(tZ+e);let t=no().filter(t=>t!==e);t.length>0?localStorage.setItem(t0,JSON.stringify(t)):localStorage.removeItem(t0),window.dispatchEvent(new CustomEvent(t1))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}function ns(){if(!t2)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n?.startsWith(tZ)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e)),localStorage.removeItem(t0),window.dispatchEvent(new CustomEvent(t1))}catch(e){console.warn("[import-maps] Failed to clear import-map overrides from localStorage",e)}}function nl(e){if(!t2)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let t=no().filter(t=>t!==e);t.length>0?localStorage.setItem(t0,JSON.stringify(t)):localStorage.removeItem(t0),window.dispatchEvent(new CustomEvent(t1))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}let nc=!1;function nu(){!nc&&(nc=!0,(t2="development"===window.spaEnv)&&(t6=t7()))}function nd(e){return e.replace(/[\/\-@]/g,"_")}async function nm(e,t="./start",o){var r;let i,a=!o?.maxLoadingTime||o.maxLoadingTime<=0?6e5:o.maxLoadingTime;await Promise.race([nf(e,o?.importMap),new Promise((t,n)=>{i=setTimeout(()=>{var t;n(Error(`Could not resolve requested script, ${e}, within ${(t=a)<1e3?`${t} milliseconds`:t<6e4?`${Math.floor(t/1e3)} seconds`:t<36e5?`${Math.floor(t/6e4)} minutes`:t<864e5?`${Math.floor(t/36e5)} hours`:`${Math.floor(t/864e5)} days`}.`))},a)})]),i&&clearTimeout(i);let s=nd(e),l=window[s];if(!("object"==typeof(r=l)&&null!==r&&"init"in r&&"function"==typeof r.init&&"get"in r&&"function"==typeof r.get)){let e=`The global variable ${s} does not refer to a federated module`;throw console.error(e),Error(e)}l.init(n.S.default);let c=(await l.get(t))();if("object"!=typeof c||null===c){let t=`Container for ${e} did not return an ESM module as expected`;throw console.error(t),Error(t)}return c}async function nf(e,t){if("string"!=typeof e||0===e.trim().length){let e="Attempted to call importDynamic() without supplying a package to load";throw console.error(e),Error(e)}let n=nd(e);if(!window[n]){let n=t??await np();if(!n.imports.hasOwnProperty(e)){let t=`Could not find the package ${e} defined in the current importmap`;throw console.error(t),Error(t)}let o=n.imports[e];o.startsWith("./")&&(o=window.spaBase+o.substring(1));let r=e in nn().imports;try{return await function(e){var t;let n=(t=window)[ng]??(t[ng]=new Map),o=n.get(e);if(o)return o;if(document.head.querySelector(`script[src="${e}"]`))return console.warn(`Script at ${e} already loaded. Not loading it again.`),Promise.resolve();let r=document.createElement("script");r.src=e,r.type="text/javascript",r.async=!0;let i=new Promise((t,o)=>{let i=setTimeout(()=>{console.error(`The script at ${e} did not load within 5 seconds. This may indicate an issue with the imports in the script's entry-point file or with the script's bundler configuration.`)},5e3);function a(){clearTimeout(i),r.removeEventListener("load",s),r.removeEventListener("error",l)}function s(){a(),t()}function l(t){a(),n.delete(e),r.remove();let i=`Failed to load script from ${e}`;console.error(i,t),o(t.message??i)}r.addEventListener("load",s),r.addEventListener("error",l),document.head.appendChild(r)});return n.set(e,i),i}(o)}catch(e){return r&&v({kind:"error",title:tY("scriptLoadingFailed","Error: Script failed to load"),description:tY("scriptLoadingError","Failed to load overridden script from {{- url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",{url:o}),actionButtonLabel:tY("resetOverrides","Reset overrides"),onActionButtonClick(){ns(),window.location.reload()}}),Promise.reject(e)}}return Promise.resolve()}async function np(){return t9()}let ng=Symbol.for("__openmrs_script_loading");function nh(e){return!!e&&"object"==typeof e&&!(Object.hasOwn(e,"pages")&&(!e.pages||!Array.isArray(e.pages))||Object.hasOwn(e,"extensions")&&(!e.extensions||!Array.isArray(e.extensions))||Object.hasOwn(e,"workspaces")&&(!e.workspaces||!Array.isArray(e.workspaces))||Object.hasOwn(e,"modals")&&(!e.modals||!Array.isArray(e.modals)))}function nw(e){return!!e&&"object"==typeof e&&"routes"in e&&!!e.routes&&"object"==typeof e.routes&&Object.entries(e.routes).every(([e,t])=>"string"==typeof e&&nh(t))}let n_="openmrs-routes:",ny="openmrs-routes:change",nv=!1,nb=null,nx=null;async function nk(){return nx??(nx=nS().then(({map:e,complete:t})=>(t||(nx=null),e))),nx}async function nS(){let e=document.querySelectorAll("script[type='openmrs-routes']"),t=[],n=!0;for(let o=0;o<e.length;o++){let r=e[o];try{let e;if(r.src){let t=await fetch(r.src);if(!t.ok)throw Error(`Request for ${r.src} returned ${t.status} ${t.statusText}`);e=await t.json()}else r.textContent&&(e=JSON.parse(r.textContent));e&&nw(e)&&t.push(e)}catch(e){n=!1,console.warn(`[route-maps] Failed to parse routes from script tag at index ${o}`,e)}}return{map:nj(t),complete:n}}function nj(e){let t={routes:{}};for(let n of e)n&&"object"==typeof n&&!Array.isArray(n)&&(Object.assign(t.routes,n.routes),void 0===t.version&&void 0!==n.version&&(t.version=n.version));return t}async function nN(){let e={version:void 0,routes:{}};try{let t=[];for(let e=0;e<localStorage.length;e++){let n=localStorage.key(e);if(n?.startsWith(n_)){let e=localStorage.getItem(n);e&&t.push({moduleName:n.slice(n_.length),raw:e})}}for(let n of(await Promise.allSettled(t.map(async({moduleName:e,raw:t})=>{let n=JSON.parse(t);if(nh(n))return{moduleName:e,routes:n};if("string"==typeof n&&n.startsWith("http")){let t=await fetch(n),o=await t.json();if(nh(o))return{moduleName:e,routes:o};throw Error(`${n} did not resolve to a valid OpenmrsAppRoutes object`)}throw Error(`Override for ${e} is neither a valid routes object nor a URL`)}))))"fulfilled"===n.status?e.routes[n.value.moduleName]=n.value.routes:console.warn("[route-maps] Failed to load route override",n.reason)}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}async function nC(){let e=await nk();return nv?nj([e,nb??await nN()]):e}async function nE(){return nk()}async function nO(){return nv?nj([await nk(),await nN()]):nk()}function nI(){if(!nv)return{};let e={};try{for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n?.startsWith(n_)){let t=localStorage.getItem(n);t&&(e[n.slice(n_.length)]=t)}}}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}function nA(e,t){if(!nv)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{if("string"==typeof t)if(t.startsWith("http"))localStorage.setItem(n_+e,JSON.stringify(t));else{let n=JSON.parse(t);if(!nh(n))return void console.error(`The supplied routes for ${e} is not a valid OpenmrsAppRoutes object`,t);localStorage.setItem(n_+e,JSON.stringify(n))}else if(t instanceof URL)localStorage.setItem(n_+e,JSON.stringify(t.toString()));else{if(!nh(t))return void console.error(`Override for ${e} is not in a valid format. Expected either a Javascript Object, a JSON string of a Javascript object, or a URL`,t);localStorage.setItem(n_+e,JSON.stringify(t))}window.dispatchEvent(new CustomEvent(ny))}catch(e){console.warn("[route-maps] Failed to write route override to localStorage",e)}}function nP(e){if(!nv)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{localStorage.removeItem(n_+e),window.dispatchEvent(new CustomEvent(ny))}catch(e){console.warn("[route-maps] Failed to remove route override from localStorage",e)}}function nT(){if(!nv)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n?.startsWith(n_)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e)),window.dispatchEvent(new CustomEvent(ny))}catch(e){console.warn("[route-maps] Failed to clear route overrides from localStorage",e)}}let n$=null;function nR(){return n$||(n$=(nv="development"===window.spaEnv)?nN().then(e=>{nb=e}):Promise.resolve())}let nM=`${tj}/attachment`;function nW(e,t){return tO(`${nM}/${e}`,{signal:t.signal})}function nD(e,t,n){return tO(`${nM}?patient=${e}&includeEncounterless=${t}`,{signal:n.signal})}async function nL(e,t){let n=new FormData;return n.append("fileCaption",t.fileDescription),n.append("patient",e),t.file?n.append("file",t.file,t.fileName):(n.append("file",new File([""],t.fileName),t.fileName),n.append("base64Content",t.base64Content)),tO(`${nM}`,{method:"POST",body:n})}function nB(e,t){return tO(`${nM}/${e}`,{method:"DELETE",signal:t.signal})}var nU=n(8798);function nF(e,t){if(void 0!==i)return console.warn(`The application's Service Worker has already been registered. The new service worker at ${e} will not be registered.`),i;if(!("serviceWorker"in navigator))throw Error("Registering the Service Worker is not possible due to missing browser capabilities.");let n=new nU.JK(e,t);return i=n.register().then(()=>n.controlling.then(()=>n))}function nH(){return i??Promise.resolve(void 0)}let nz="x-omrs-offline-response-body",nG="x-omrs-offline-response-status",nV="x-omrs-offline-caching-strategy";async function nJ(e){let t=await nH();return t?await t.messageSW(e):{success:!1,result:void 0,error:"No service worker has been registered. This is typically the case when the application has been built without offline-related features."}}async function nq(){let e=window.sessionStorage;try{e.setItem("someKeyHere","test"),e.removeItem("someKeyHere")}catch(t){if(t.code===DOMException.QUOTA_EXCEEDED_ERR&&0===e.length)return!0}return!1}async function nK(){return!window.indexedDB}async function nX(){return new Promise(e=>{let t=indexedDB.open("test");t.onerror=()=>e(!0),t.onsuccess=()=>e(!1)})}async function nQ(){return await nX()||await nK()||await nq()}let nY="openmrs3:offline-mode",nZ="unavailable";function n0(){return{current:nZ,notAvailable:"unavailable"===nZ,active:"on"===nZ}}function n1(e){"unavailable"!==nZ&&"unavailable"!==e&&(localStorage.setItem(nY,"on"===e?"active":"disabled"),nZ=e)}async function n2(){await nQ()||(nZ="active"===localStorage.getItem(nY)?"on":"off"),navigator.onLine}var n6=n(8442);function n5(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class n3 extends n6.Ay{constructor(){super("EsmOffline"),n5(this,"syncQueue",void 0),n5(this,"dynamicOfflineData",void 0),this.version(4).stores({syncQueue:"++id,userId,type,[userId+type]",dynamicOfflineData:"++id,type,identifier,*users,&[type+identifier]"}),this.syncQueue=this.table("syncQueue"),this.dynamicOfflineData=this.table("dynamicOfflineData")}}function n8(){return new n3}let n4=new n3,n7={},n9=L("offline-synchronization",{});function oe(){return n9}async function ot(){if(n9.getState().synchronization)return;let e=await n4.syncQueue.count(),t={},n=Object.entries(n7),o=n.length,r={},i=new AbortController,a=()=>{let e=n9.getState().synchronization;n9.setState({synchronization:{...e,pendingCount:e.pendingCount-1}})};try{n9.setState({synchronization:{totalCount:e,pendingCount:e,abortController:i}});for(let e=0;e<o&&n.length>0;e++)for(let e=n.length;e--;){let[o,s]=n[e],l=s.dependsOn.map(e=>t[e]);l.every(Boolean)&&(r[o]={},await Promise.all(l),t[o]=on(s,r,i,a),n.splice(e,1))}await Promise.allSettled(Object.values(t))}finally{n9.setState({synchronization:void 0})}}async function on({type:e,dependsOn:t,process:n},o,r,i){let a=[],s=[],l=await oo();await n4.syncQueue.where({type:e,userId:l}).each((e,t)=>{a.push([t.primaryKey,e.content,e.descriptor]),s.push(e.content)});for(let c=0;c<a.length;c++){let[u,d,{id:m,dependencies:f=[]}]=a[c];try{let i=await n(d,{abort:r,index:c,items:s,userId:l,dependencies:f.map(({id:e,type:n})=>t.includes(n)?o[n][e]:void 0)});void 0!==m&&(o[e][m]=i),await n4.syncQueue.delete(u)}catch(e){await n4.syncQueue.update(u,{lastError:{name:e?.name,message:e?.message??e?.toString()}})}finally{i()}}}async function oo(){let e=await tB();return e?.uuid||"*"}async function or(e,t,n,o){let r=o&&o.id;return void 0!==r&&await n4.syncQueue.where({type:t,userId:e}).filter(e=>e?.descriptor.id===r).delete().catch(n6.Ay.errnames.DatabaseClosed),await n4.syncQueue.add({type:t,content:n,userId:e,descriptor:o||{},createdOn:new Date}).catch(n6.Ay.errnames.DatabaseClosed,()=>-1)}async function oi(e,t,n){let o=await oo();return await or(o,e,t,n)}async function oa(e,t){return(await os(e,t)).map(e=>e.content)}async function os(e,t){return await n4.syncQueue.where(t?{type:t,userId:e}:{userId:e}).toArray().catch(n6.Ay.errnames.DatabaseClosed,()=>[])}async function ol(e){let t=await oo();return await oa(t,e)}async function oc(e){let t=await oo();return await os(t,e)}async function ou(e){return await n4.syncQueue.get(e).catch(n6.Ay.errnames.DatabaseClosed,()=>void 0)}function od(e){return!!n7[e]?.options.onBeginEditSyncItem}async function om(e){let t=await ou(e);if(!t)throw Error(`No sync item with the ID ${e} exists.`);let n=n7[t.type]?.options.onBeginEditSyncItem;if(!n)throw Error(`A sync item with the ID ${e} exists, but the associated handler (if one exists) doesn't support editing the item. You can avoid this error by either verifying that sync items of this type can be edited via the "canEditSynchronizationItemsOfType(type: string)" function or alternatively ensure that the synchronizaton handler for sync items of type "${t.type}" supports editing items.`);n(t)}async function of(e){await n4.syncQueue.delete(e).catch(n6.Ay.errnames.DatabaseClosed)}function op(e,t,n,o={}){n7[e]={type:e,dependsOn:t,process:n,options:o}}var og=n(1301);let oh="OFFLINE+";function ow(){return oh+(0,og.A)()}function o_(e){return e.startsWith(oh)}let oy={};function ov(){return Object.values(oy)}function ob(e){oy[e.id]&&console.warn(`[setupDynamicOfflineDataHandler] Another second handler with the ID "${e.id}" was registered. This handler will override the previous one. This could be unintended as the previous handler might run different flows than the newly registered one. If this is the case, ensure that you are setting up the handlers with different IDs.`),oy[e.id]=e}async function ox(e){let t=await oI();return await ok(t,e)}async function ok(e,t){let n=new n3;return await n.dynamicOfflineData.where(t?{type:t,users:e}:{users:e}).toArray().catch(n6.Ay.errnames.DatabaseClosed,()=>[])}async function oS(e,t){let n=await oI();return await oj(n,e,t)}async function oj(e,t,n){let o=new n3,r=await o.dynamicOfflineData.get({type:t,identifier:n}).catch(n6.Ay.errnames.DatabaseClosed,()=>void 0);r?r.users.includes(e)||await o.dynamicOfflineData.update(r.id,{users:[...r.users,e]}).catch(n6.Ay.errnames.DatabaseClosed):await o.dynamicOfflineData.add({users:[e],type:t,identifier:n}).catch(n6.Ay.errnames.DatabaseClosed)}async function oN(e,t){let n=await oI();return await oC(n,e,t)}async function oC(e,t,n){let o=new n3,r=await o.dynamicOfflineData.get({type:t,identifier:n,users:e}).catch(n6.Ay.errnames.DatabaseClosed,()=>void 0);r&&(r.users.length>1?await o.dynamicOfflineData.update(r.id,{users:r.users.filter(t=>t!==e)}).catch(n6.Ay.errnames.DatabaseClosed):await o.dynamicOfflineData.delete(r.id).catch(n6.Ay.errnames.DatabaseClosed))}async function oE(e,t){let n=await ox(e);await Promise.all(n.map(async e=>oO(e.type,e.identifier,t)))}async function oO(e,t,n){await oS(e,t);let o=new n3,r=await oI(),i=await o.dynamicOfflineData.get({type:e,identifier:t}).catch(n6.Ay.errnames.DatabaseClosed,()=>void 0),a=ov().filter(t=>t.type===e);if(!i)return;let s=await Promise.all(a.map(async e=>{try{return e.sync(t,n),{id:e.id,error:void 0}}catch(n){let t=n.message?.toString()??n.toString();return{id:e.id,error:t}}})),l=s.filter(e=>!e.error).map(e=>e.id),c=s.filter(e=>e.error).map(e=>e.id),u=s.filter(e=>e.error).map(e=>({handlerId:e.id,message:e.error})),d={syncedOn:new Date,syncedBy:r,succeededHandlers:l,erroredHandlers:c,errors:u};i.id&&await o.dynamicOfflineData.update(i.id,{syncState:d}).catch(n6.Ay.errnames.DatabaseClosed)}async function oI(){let e=(await tB()).uuid;if(!e)throw Error("Using the dynamic offline data API requires a logged in user.");return e}let oA=L("offline-patients",{offlinePatientDataSyncState:{},handlers:{}});function oP(){return oR(),oA}function oT(e,t){oR(),ob({type:"patient",displayName:t.displayName,id:e,isSynced:()=>Promise.resolve(!0),sync:(e,n)=>t.onOfflinePatientAdded({patientUuid:e,signal:n??new AbortController().signal})})}async function o$(e){oR(),await oO("patient",e)}function oR(){console.warn("The offline patient API has been deprecated and will be removed in a future release. To prevent future crashes, the functions remain available for the moment, but any invocations should be migrated ASAP.")}async function oM(e,t,n=!0){if(e){let o=null,[r,i]=await Promise.all([tO(`${tN}/Patient/${e}`,t).catch(e=>o=e),n?oW(e):Promise.resolve(null)]);if(r.ok)return r.data;if(i)return i;if(o)throw o}return null}async function oW(e){let t=(await ol("patient-registration")).find(t=>t.fhirPatient.id===e);return t?.fhirPatient??null}function oD(e,t){let n=new CustomEvent(`openmrs:${e}`,{detail:t??void 0,cancelable:!0,bubbles:!0});return window.dispatchEvent(n)}function oL(e,t){let n=e=>{t("detail"in e&&null!==e.detail?e.detail:void 0)};return window.addEventListener(`openmrs:${e}`,n),()=>{window.removeEventListener(`openmrs:${e}`,n)}}var oB=n(3492);function oU(e){return{uuid:e.uuid,display:e.display}}function oF(e=null,t=null){let n=new URLSearchParams;e&&n.set("tag",e),t&&n.set("q",t);let o=n.toString();return tI(`${tj}/location${o?"?"+o:""}`).pipe((0,oB.map)(e=>e.data.results.map(oU))).pipe((0,oB.take)(1))}function oH(e){return{uuid:e.uuid,display:e.display,name:e.name}}function oz(){return tI(`${tj}/visittype`).pipe((0,oB.map)(e=>e.data.results.map(oH))).pipe((0,oB.take)(1))}var oG=((I={}).NEWVISIT="startVisit",I.EDITVISIT="editVisit",I.LOADING="loadingVisit",I),oV=((A={}).NOTSTARTED="notStarted",A.ONGOING="ongoing",A);let oJ="custom:(uuid,display,voided,indication,startDatetime,stopDatetime,encounters:(uuid,display,encounterDatetime,form:(uuid,name),location:ref,encounterType:ref,encounterProviders:(uuid,display,provider:(uuid,display))),patient:(uuid,display),visitType:(uuid,name,display),attributes:(uuid,display,attributeType:(name,datatypeClassname,uuid),value),location:(uuid,name,display))",oq=function(){try{return JSON.parse(sessionStorage.getItem("openmrs:visitStoreState")||"null")}catch(e){return null}}()||{patientUuid:null,manuallySetVisitUuid:null};function oK(){return U("visit",oq)}function oX(e,t){oK().setState({patientUuid:e,manuallySetVisitUuid:t})}function oQ(e,t){return tO(`${tj}/visit`,{signal:t.signal,method:"POST",headers:{"Content-type":"application/json"},body:e})}function oY(e,t,n){return tO(`${tj}/visit/${e}`,{signal:n.signal,method:"POST",headers:{"Content-type":"application/json"},body:t})}function oZ(e,t,n){return tO(`${tj}/visit?patient=${e}&v=${n??oJ}`,{signal:t.signal,method:"GET",headers:{"Content-type":"application/json"}})}oK().subscribe(e=>{var t;t=e,sessionStorage.setItem("openmrs:visitStoreState",JSON.stringify(t))});let o0=new G.BehaviorSubject(null);var o1=n(9225),o2=n(6881),o6=n(6828),o5=n(1956),o3=n(3635),o8=n(7839),o4=n(2298);let o7={Array,Boolean,Symbol,Infinity,NaN,Math,Number,BigInt,String,RegExp,JSON,isFinite,isNaN,parseFloat,parseInt,decodeURI,encodeURI,encodeURIComponent,Object:{__proto__:void 0,assign:Object.assign.bind(null),fromEntries:Object.fromEntries.bind(null),hasOwn:Object.hasOwn.bind(null),keys:Object.keys.bind(null),is:Object.is.bind(null),values:Object.values.bind(null)}},o9={...o7,Promise};function re(e,t={}){return ra(e,t,rc)}async function rt(e,t={}){return rs(e,t,rc)}function rn(e,t={}){return ra(e,t,ru)}function ro(e,t={}){return rs(e,t,ru)}function rr(e,t={}){return ra(e,t,rd)}function ri(e,t={}){return rs(e,t,rd)}function ra(e,t={},n){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let o=rh(t,o7),r=rm("string"==typeof e?(0,o1.A)(e):e,o);if(n(r))return r;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}}async function rs(e,t={},n){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))return Promise.reject(`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`);if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let o=rh(t,o9);return Promise.resolve(rm("string"==typeof e?(0,o1.A)(e):e,o)).then(t=>{if(n(t))return t;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}})}function rl(e){return(0,o1.A)(e)}function rc(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||null==e||e instanceof Date}function ru(e){return"boolean"==typeof e}function rd(e){return"number"==typeof e}function rm(e,t){switch(e.type){case"UnaryExpression":var n,o,r,i,a,s,l,c,u,d,m,f,p,g=e,h=t;let w=rm(g.argument,h);switch(g.operator){case"+":return+w;case"-":return-w;case"~":return~w;case"!":return!w;default:throw`Expression evaluator does not support operator '${g.operator}''`}case"BinaryExpression":var _=e,y=t;switch(_.operator){case"&&":return rm(_.left,y)&&rm(_.right,y);case"||":return rm(_.left,y)||rm(_.right,y);case"??":return rm(_.left,y)??rm(_.right,y)}let v=rm(_.left,y),b=rm(_.right,y);switch(_.operator){case"+":return v+b;case"-":return v-b;case"*":return v*b;case"/":return v/b;case"%":return v%b;case"**":return v**b;case"==":return v==b;case"===":return v===b;case"!=":return v!=b;case"!==":return v!==b;case">":return v>b;case">=":return v>=b;case"<":return v<b;case"<=":return v<=b;case"in":return v in b;default:throw`Expression evaluator does not support operator '${_.operator}' operator`}case"ConditionalExpression":return n=e,o=t,rm(n.test,o)?rm(n.consequent,o):rm(n.alternate,o);case"CallExpression":return ry(rp(e,t));case"ArrowFunctionExpression":let x;return r=e,i=t,x=r.params?.map(e=>{if("Identifier"===e.type)return e.name;throw`Cannot handle parameter of type ${e.type}`})??[],(function(...e){if(e.length<x.length)throw`Required argument(s) ${x.slice(e.length,-1).join(", ")} were not provided`;let t=Object.fromEntries(x.reduce((t,n,o)=>{let r=e[o];return function e(t){if("string"==typeof t||"number"==typeof t||"boolean"==typeof t||"function"==typeof t||null===t||t instanceof RegExp)return!0;if("object"==typeof t){for(let n of Object.keys(t))if(!e(t[n]))return!1;return!0}if(Array.isArray(t)){for(let n of t)if(!e(n))break}return!1}(r)&&t.push([n,r]),t},[]));return rm(r.body,i.addVariables(t))}).bind(null);case"MemberExpression":return ry(rg(e,t));case"ArrayExpression":return a=e,s=t,a.elements?.map(rv(s));case"SequenceExpression":let k;return l=e,c=t,(k=l.expressions.map(rv(c)))[k.length-1];case"NewExpression":var S=e,j=t;if(S.callee&&"Identifier"===S.callee.type){let e=S.arguments?.map(rv(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,(rb(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,f=t,N=m.expressions?.map(rv(f))??[],(C=m.quasis?.map(rv(f))??[]).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:(p=e).cooked,tail:p.tail};default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function rf(e,t){switch(e.type){case"Literal":return e.value;case"Identifier":return e.name;case"MemberExpression":return rf(e.property,t);default:throw`VisitExpressionName does not support expression of type '${e.type}'`}}function rp(e,t){let n=r_(e.callee,t);if(n===rw||e.optional&&null==n)return rw;let o=e.arguments?.map(rv(t));if(n){if("function"!=typeof n)throw`${rS(e.callee)} is not a function`}else throw`No function named ${rS(e.callee)} is defined in this context`;return n(...o)}function rg(e,t){let n=r_(e.object,t);if(n===rw||e.optional&&null==n)return rw;if(null===n)throw TypeError(`TypeError: cannot read properties of null (reading '${rk(e.property,t)}')`);if(void 0===n)switch(e.object.type){case"Identifier":{let n=rf(e.object,t);throw ReferenceError(`ReferenceError: ${n} is not defined`)}case"MemberExpression":throw TypeError(`TypeError: cannot read properties of undefined (reading '${rk(e.property,t)}')`);default:throw`VisitMemberExpression does not support operator '${e.object.type}' type`}if("object"!=typeof n&&"function"!=typeof n&&"string"!=typeof n&&"number"!=typeof n)throw`VisitMemberExpression does not support member access on type ${typeof n}`;let o=e.computed?function(e){if(void 0===e)throw{type:"Illegal property access",message:"No property was supplied to the property access"};if("string"!=typeof e&&"number"!=typeof e)throw{type:"Illegal property access",message:`Cannot use a value of type ${null===e?"null":typeof e} as a property name`};return e}(rm(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);rb(o),function(e,t){if(rx.has(String(t)))return;let n=Object(e);for(;null!==n;){if(Object.hasOwn(n,t)){if(n===Object.prototype||n===Function.prototype)throw{type:"Illegal property access",message:`Cannot access the ${t} property of objects`};return}n=Object.getPrototypeOf(n)}}(n,o);let r=n[o];return"function"==typeof r?r.bind(n):r}function rh(e,t){let n={variables:{...e},globals:{...t},addVariables(e){return this.variables={...this.variables,...e},this}};return n.addVariables.bind(n),n}o1.A.plugins.register(o2.A),o1.A.plugins.register(o6.A),o1.A.plugins.register(o5.A),o1.A.plugins.register(o3.A),o1.A.plugins.register(o8.A),o1.A.plugins.register(o4.A),o1.A.addBinaryOp("in",7),o1.A.addBinaryOp("??",1);let rw=Symbol("optional chain short-circuited");function r_(e,t){switch(e.type){case"MemberExpression":return rg(e,t);case"CallExpression":return rp(e,t);default:return rm(e,t)}}function ry(e){return e===rw?void 0:e}function rv(e){return function(t){return null===t?null:rm(t,e)}}function rb(e){if("__proto__"===e||"prototype"===e||"constructor"===e)throw{type:"Illegal property access",message:`Cannot access the ${e} property of objects`}}let rx=new Set(["toString","valueOf","hasOwnProperty"]);function rk(e,t){try{return rf(e,t)}catch{return"<computed>"}}function rS(e){return e?"MemberExpression"===e.type?e.property?.name:e.name:null}function rj(e){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;let t={globals:{...o9},isLocalExpression:!1,variables:new Set};return rN("string"==typeof e?(0,o1.A)(e):e,t),[...t.variables]}function rN(e,t){switch(e.type){case"UnaryExpression":return o=e,r=t,rN(o.argument,r);case"BinaryExpression":return i=e,a=t,[rN(i.left,a),rN(i.right,a)].filter(Boolean);case"ConditionalExpression":return s=e,l=t,[rN(s.consequent,l),rN(s.test,l),rN(s.alternate,l)].filter(Boolean);case"CallExpression":let n;return c=e,u=t,n=rN(c.callee,u),c.arguments?.map(rC(u)),n;case"ArrowFunctionExpression":var o,r,i,a,s,l,c,u,d,m,f,p,g,h,w,_,y=e,v=t;let b={...v};b.isLocalExpression=!0;let x=y.params?.map(rC(b))??[],k=rN(y.body,b)??[];if(k&&Array.isArray(k))for(let e of k)x.includes(e)||v.variables.add(e);return;case"MemberExpression":var S=e,j=t;if(rN(S.object,j),S.computed)return void rN(S.property,j);let N={...j};N.isLocalExpression=!0,rN(S.property,N);return;case"ArrayExpression":return d=e,m=t,void d.elements?.map(rC(m));case"SequenceExpression":return f=e,p=t,void f.expressions?.map(rC(p));case"NewExpression":return g=e,h=t,void g.arguments?.map(rC(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(rC(_)),w.quasis?.map(rC(_)));default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function rC(e){return function(t){return null===t?null:rN(t,e)}}let rE=U("feature-flags",{flags:function(){let e={};for(let t of Object.keys(localStorage))if(t.startsWith("openmrs:feature-flag:")){let n=t.replace("openmrs:feature-flag:",""),o=JSON.parse(localStorage.getItem(`openmrs:feature-flag-meta:${n}`)||"{}");e[n]={enabled:"true"===localStorage.getItem(t),...o}}return e}()});function rO(e,t,n){rE.setState(o=>({flags:{...o.flags,[e]:{enabled:o.flags[e]?.enabled??!1,label:t,description:n}}}))}function rI(){let e=rE.getState().flags;Object.keys(localStorage).filter(e=>e.startsWith("openmrs:feature-flag:")).forEach(t=>{let n=t.replace("openmrs:feature-flag:","");e[n]||(localStorage.removeItem(t),localStorage.removeItem(`openmrs:feature-flag-meta:${n}`))})}function rA(e){return rE.getState().flags[e].enabled}function rP(e,t){rE.subscribe(n=>{t(n.flags[e].enabled)})}function rT(e,t){rE.setState(n=>({flags:{...n.flags,[e]:{...n.flags[e],enabled:t}}}))}function r$(e){return!window.offlineEnabled||(e??navigator.onLine)}rE.subscribe(e=>{for(let[t,n]of Object.entries(e.flags))localStorage.setItem(`openmrs:feature-flag:${t}`,n.enabled.toString()),localStorage.setItem(`openmrs:feature-flag-meta:${t}`,JSON.stringify({label:n.label,description:n.description}))});var rR=n(1216);function rM(e=!0,t=!1){return rW(r$(),e,t)}function rW(e,t=!0,n=!1){return!!(e?t:n)}let rD=L("extensionsInternal",{slots:{},extensions:{}}),rL=L("extensionRenderings",{renderings:new Map}),rB=()=>U("extensionsInternal",{slots:{},extensions:{}}),rU=()=>U("extensionRenderings",{renderings:new Map});function rF(e){let t=rD.getState(),n=e(t);n!==t&&rD.setState(n)}let rH=null,rz=null;function rG(){let e=rL.getState();return rH&&e===rz||(rH=new Map(e.renderings),rz=e,function(e){for(let t of(r1.clear(),e.values()))r6(t,1);r2=!0}(rH)),rH}function rV(e){rz={renderings:e},rL.setState(rz,!0)}function rJ(e){let t=rG();t.has(e.renderingId)||(t.set(e.renderingId,e),r6(e,1),rV(t))}function rq(e){let t=rG(),n=t.get(e);n&&(t.delete(e),r6(n,-1),rV(t))}let rK=()=>U("extensions",{slots:{}}),rX=0,rQ=new Set;function rY(e){rX++;try{return e()}finally{if(0==--rX&&rQ.size>0){let e=Array.from(rQ);for(let t of(rQ.clear(),e))rZ(t)}}}function rZ(e){try{e()}catch(t){console.error(`The extension system's '${e.name}' recomputation failed`,t)}}function r0(e){rX>0?rQ.add(e):rZ(e)}let r1=new Map,r2=!1;function r6(e,t){let n=JSON.stringify([e.slotName,e.extensionId,e.slotModuleName,e.extensionModuleName]),o=r1.get(n);if(!o){if(t<0)return;r1.set(n,{count:1,record:{slotModuleName:e.slotModuleName,extensionModuleName:e.extensionModuleName,slotName:e.slotName,extensionId:e.extensionId}}),r2=!0;return}o.count+=t,o.count<1&&(r1.delete(n),r2=!0)}function r5(){var e,t;if(rG(),!r2)return;r2=!1;let n=Array.from(r1.values(),({record:e})=>e);n.sort(r3),e=es.getState().mountedExtensions,t=n,e.length===t.length&&e.every((e,n)=>0===r3(e,t[n]))||es.setState({mountedExtensions:n})}function r3(e,t){return r8(e.slotName,t.slotName)||r8(e.extensionId,t.extensionId)||r8(e.slotModuleName,t.slotModuleName)||r8(e.extensionModuleName,t.extensionModuleName)}function r8(e,t){return e===t?0:e<t?-1:1}r5(),rL.subscribe(()=>r0(r5));let r4=rB(),r7=rK(),r9=ec(),ie=em(),it=new Set,io=!1;function ir(e){if(null===e)it=null;else if(null!==it)for(let t of e)it.add(t);r0(ii)}function ii(){if(!io){io=!0;try{for(let e=1;;e++){let t=it;if(null!==t&&0===t.size)return;it=new Set;try{!function(e,t,n,o,r,i=null){let a=r7.getState().slots,s={},l=!1,c=r$(),u=Object.entries(o.flags).filter(([,{enabled:e}])=>e).map(([e])=>e);for(let[o,d]of Object.entries(e.slots)){let m=a[o];if(m&&i&&!i.has(o)){s[o]=m;continue}let{config:f}=ed(t,d.name),p=function(e,t,n,o,r,i,a){let s=function(e,t){let n=e.add||[],o=e.remove||[],r=e.order||[],{extensions:i}=r4.getState();return[...t,...n].filter(e=>!o.includes(e)).sort((e,n)=>iw(e,r,i[ic(e)]?.order,t)-iw(n,r,i[ic(n)]?.order,t))}(n,t.slots[e].attachedIds),l=[];for(let c of s){let{config:s}=ep(o,e,c),u=eg(n,e,c),d=u?(0,rR.A)({},s,u):s,m=ic(c),f=t.extensions[m];if(f){let e=d?.["Display conditions"]?.privileges??f.privileges??[];if(e&&("string"==typeof e||Array.isArray(e)&&e.length>0)&&(!a?.user||!tL(e,a.user))||f.featureFlag&&!r.includes(f.featureFlag)||window.offlineEnabled&&!rW(i,f.online,f.offline))continue;l.push({id:c,name:m,moduleName:f.moduleName,config:d,featureFlag:f.featureFlag,meta:f.meta,online:d?.["Display conditions"]?.online??f.online??!0,offline:d?.["Display conditions"]?.offline??f.offline??!1,displayConditionExpression:d?.["Display conditions"]?.expression||f.displayExpression})}}return l}(o,e,f,n,u,c,r.session);m&&m.moduleName===d.moduleName&&(0,q.A)(m.candidateExtensions,p)?s[o]=m:(s[o]={moduleName:d.moduleName,candidateExtensions:p},l=!0)}(l||Object.keys(a).length!==Object.keys(s).length)&&r7.setState({slots:s})}(r4.getState(),r9.getState(),ie.getState(),rE.getState(),tP.getState(),t)}catch(e){throw it=null===t||null===it?null:new Set([...t,...it]),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{io=!1}}}function ia(e,t){let n=new Set;for(let o of Object.keys(e))e[o]!==t[o]&&n.add(o);for(let o of Object.keys(t))o in e||n.add(o);return n}function is(){ir(null)}function il(e,t){return{moduleName:t,name:e,attachedIds:[]}}function ic(e){let[t]=e.split("#");return t}function iu(e,t){let n=ic(t);return e.extensions[n]}function id(e){return iu(r4.getState(),e)}r4.subscribe((e,t)=>{ir(e.extensions!==t.extensions?null:ia(e.slots,t.slots))}),r9.subscribe((e,t)=>{ir(ia(e.slots,t.slots))}),ie.subscribe((e,t)=>{ir(ia(e.configs,t.configs))}),rE.subscribe(()=>ir(null)),tP.subscribe(()=>ir(null)),is(),l(is);let im=e=>rF(t=>({...t,extensions:{...t.extensions,[e.name]:{...e}}}));function ip(e,t){rF(n=>{let o=n.slots[e];return o?{...n,slots:{...n.slots,[e]:{...o,attachedIds:[...o.attachedIds,t]}}}:{...n,slots:{...n.slots,[e]:{...il(e),attachedIds:[t]}}}})}function ig(e,t){rF(n=>{let o=n.slots[e];return o&&o.attachedIds.includes(t)?{...n,slots:{...n.slots,[e]:{...o,attachedIds:o.attachedIds.filter(e=>e!==t)}}}:n})}function ih(e){rF(t=>{let n=t.slots[e];return n?{...t,slots:{...t.slots,[e]:{...n,attachedIds:[]}}}:t})}function iw(e,t,n,o){let r=t.indexOf(e);if(-1!==r)return r;{if(void 0!==n)return 1e3+n;let t=o.indexOf(e);return -1!==t?2e3+t:3e3}}function i_(e,t){return function(e,t,n=null,o){let r;return e.filter(e=>{let i=e.displayConditionExpression;if("string"!=typeof i||0===i.trim().length)return!0;r??(r=t&&"object"==typeof t?{session:n,...t}:{session:n});try{return!!rn(i,r)}catch(t){return console.error(`Error while evaluating expression '${i}' for ${e.id}`+(o?` in ${o}`:""),t),!1}})}(iy(e),t,tP.getState().session,e)}function iy(e){return r7.getState().slots[e]?.candidateExtensions??[]}let iv=(e,t)=>r4.setState(n=>{let o=n.slots[t]?.moduleName;if(o&&o!=e)return console.warn(`An extension slot with the name '${t}' already exists. Refusing to register the same slot name twice (in "registerExtensionSlot"). The existing one is from module ${o}.`),n;if(o&&o==e)return n;if(n.slots[t])return{...n,slots:{...n.slots,[t]:{...n.slots[t],moduleName:e}}};let r=il(t,e);return{...n,slots:{...n.slots,[t]:{...r}}}}),ib=()=>{it=null,rF(()=>({slots:{},extensions:{}})),rU().setState({renderings:new Map}),r7.setState({slots:{}})},ix=L("left-nav",{slotName:null,basePath:window.spaBase,mode:"normal"});function ik({name:e,basePath:t,mode:n,componentContext:o,state:r}){ix.setState({slotName:e,basePath:t,mode:n??"normal",componentContext:o,state:r})}function iS(e){ix.getState().slotName===e&&ix.setState(ix.getInitialState(),!0)}let ij=L("modalRegistry",{modals:{}});function iN(e){ij.setState(t=>(t.modals[e.name]=e,t))}function iC(e){let t=ij.getState().modals[e];if(!t){let n=id(e);n&&(t={name:e,load:n.load,moduleName:n.moduleName},console.warn(`Modal ${e} was registered as an extension. This is deprecated and will be removed in the future. Please register it in the "modals" section of routes.json instead of the "extensions" section.`),iN(t))}return t}let iE=L("workspaceRegistrations",{workspaces:{}}),iO=L("workspaceGroups",{workspaceGroups:{}});function iI(e){iE.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 iA(e){iO.setState(t=>{let n=t.workspaceGroups[e.name];return n?{workspaceGroups:{...t.workspaceGroups,[e.name]:{...n,members:Array.from(new Set([...n.members,...e.members]))}}}:{workspaceGroups:{...t.workspaceGroups,[e.name]:{name:e.name,members:e.members}}}})}let iP=new Set;function iT(e){let t=iE.getState().workspaces;if(t[e])return t[e];{let t=id(e);if(t){var n;let o;return iP.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.`),iP.add(e)),{name:t.name,title:(n=t,"string"==typeof(o=n?.meta?.title)?o:o&&"object"==typeof o?tQ(n.moduleName,o.key,o.default):n.name),moduleName:t.moduleName,preferredWindowSize:t.meta?.screenSize??"normal",load:t.load,type:t.meta?.type??"form",canHide:t.meta?.canHide??!1,canMaximize:t.meta?.canMaximize??!1,width:t.meta?.width??"narrow",groups:t.meta?.groups??[]}}throw Error(`No workspace named '${e}' has been registered.`)}}function i$(e){let t=iO.getState().workspaceGroups;if(t[e])return t[e];throw Error(`No workspace group named '${e}' has been registered.`)}let iR=L("workspace2",{registeredGroupsByName:{},registeredWindowsByName:{},registeredWorkspacesByName:{},openedGroup:null,openedWindows:[],workspaceTitleByWorkspaceName:{},isMostRecentlyOpenedWindowHidden:!1});function iM(e){let{registeredWorkspacesByName:t,registeredWindowsByName:n}=iR.getState(),o=t[e];if(o){let t=n[o.window];if(t)return t;throw Error(`No workspace window found with name: ${o.window} for workspace: ${e}`)}throw Error(`No workspace found with name: ${e}`)}function iW(e){let{registeredGroupsByName:t,registeredWindowsByName:n}=iR.getState(),o=n[e];if(o){let n=t[o.group];if(n)return n;throw Error(`No workspace group found with name: ${o.group} for window: ${e}`)}throw Error(`No workspace window found with name: ${e}`)}function iD(e){let{openedWindows:t}=iR.getState();return t.findIndex(t=>t.openedWorkspaces.find(t=>t.workspaceName===e))}function iL(e,t){if(0==t.length)return;let{registeredGroupsByName:n}=iR.getState(),o={...n};for(let n of t){if(o[n.name])throw Error(`Cannot register workspace group ${n.name} more than once`);o[n.name]={...n,moduleName:e}}iR.setState({registeredGroupsByName:o})}function iB(e,t){if(0==t.length)return;let{registeredWindowsByName:n}=iR.getState(),o={...n};for(let n of t){if(o[n.name])throw Error(`Cannot register workspace window ${n.name} more than once`);let t={...n,moduleName:e};o[n.name]=t}iR.setState({registeredWindowsByName:o})}function iU(e,t){if(0==t.length)return;let{registeredWorkspacesByName:n}=iR.getState(),o={...n};for(let n of t){if(o[n.name])throw Error(`Cannot register workspace ${n.name} more than once`);let t={...n,moduleName:e};o[n.name]=t}iR.setState({registeredWorkspacesByName:o})}let iF=0,iH=null,iz={bootstrap:15e3,mount:15e3,unmount:15e3};function iG(e,t){if(e.timeouts)return e;let n=e.name??"parcel",o=Object.fromEntries(Object.keys(iz).filter(t=>e[t]).map(o=>{var r,i;let a,s;return[o,(r=e[o],i=iz[o],a=Array.isArray(r)?r:[r],s=e=>a.reduce((t,r,i)=>t.then(()=>{let t=r(e);return"function"==typeof t?.then&&"function"==typeof t?.catch?t:Promise.reject(Error(`Lifecycle function ${o} at array index ${i} for parcel ${n} did not return a promise`))}),Promise.resolve(void 0)),e=>{let r,a=new Promise((e,t)=>{r=setTimeout(()=>t(Error(`Lifecycle function ${o} for parcel ${n} did not settle within ${i}ms`)),i)});return Promise.race([s(e),a]).finally(()=>clearTimeout(r)).then(e=>(t(o,!1),e),e=>{throw t(o,!0),e})})]}));return{...e,...o}}async function iV(e,t){var n,o;let r,i,a,s,l,c=await (iH??(iH=new Promise((e,t)=>{(0,tm.xL)({name:"openmrs-extension-host",bootstrap:()=>Promise.resolve(),mount:t=>(e(t.mountParcel),Promise.resolve()),unmount:()=>Promise.resolve()},{domElement:document.createElement("div")}).mountPromise.catch(t)}).catch(e=>(console.error("The host parcel used to mount extensions could not be mounted. Falling back to mounting extensions as root parcels, which leaks their DOM elements.",e),tm.xL))),iH),u={...t},d=(r=u,i=!1,{retarget:e=>r={...e},release:a=()=>(function(e){for(let t of Object.keys(e))delete e[t]})(r),onSettled(e,t){switch(e){case"bootstrap":t&&a();return;case"mount":i||(i=t);return;case"unmount":(t||i)&&a();return}}});return o=c((n=d.onSettled,"function"==typeof e?()=>e().then(e=>iG(e,n)):iG(e,n)),u),s=e=>t=>e.call(o,d.retarget(t)).catch(e=>{throw"SKIP_BECAUSE_BROKEN"===o.getStatus()&&d.release(),e}),l=o.update&&s(o.update),Object.defineProperty(o,"update",{configurable:!0,enumerable:!0,get:()=>l,set:e=>{l=e&&s(e)}})}function iJ(){return iq}function iq(e,t){let n,o=iV(e,t).then(e=>n=e);return{mount:()=>o.then(e=>e.mount()),unmount:()=>o.then(e=>e.unmount()),update:e=>o.then(t=>t.update?.(e)),getStatus:()=>n?.getStatus()??"LOADING_SOURCE_CODE",get loadPromise(){return o.then(e=>e.loadPromise)},get bootstrapPromise(){return o.then(e=>e.bootstrapPromise)},get mountPromise(){return o.then(e=>e.mountPromise)},get unmountPromise(){return o.then(e=>e.unmountPromise)}}}async function iK(e,t,n,o,r=e=>e,i={}){let a=ic(o),s=id(o),l=null;if(e){if(!s)throw Error(`Couldn't find extension '${a}' to attach to '${t}'`);let{meta:c,moduleName:u,online:d,offline:m,load:f}=s;if(rM(d,m)){let s,d=iF++,m=`${t}/${o}-${d}`;e.dataset.extensionRenderingId=m;let p=e=>{try{rq(m)}catch(t){console.error(e,t)}};try{rJ({renderingId:m,extensionName:a,extensionModuleName:u,extensionId:o,slotName:t,slotModuleName:n})}catch(e){throw p(`Recomputing configuration after registering '${o}' failed also failed`),e}try{s=await f()}catch(e){throw p(`Recomputing configuration after '${o}' failed to load also failed`),e}try{l=await iV(r({...s,name:`${t}/${a}-${d}`}),{...i,_meta:c,_extensionContext:{extensionId:o,extensionSlotName:t,extensionSlotModuleName:n,extensionModuleName:u},domElement:e})}catch(e){throw p(`Recomputing configuration after '${o}' failed to mount also failed`),e}l.mountPromise.then(void 0,e=>{console.error(`Extension '${o}' in slot '${t}' failed to mount`,e),p(`Recomputing configuration after '${o}' failed to mount also failed`)}),l.unmountPromise.then(()=>p(`Recomputing configuration after unmounting '${o}' failed`),e=>{console.error(`Extension '${o}' in slot '${t}' failed to unmount`,e),p(`Recomputing configuration after '${o}' failed to unmount also failed`)})}}else console.warn(`Tried to render ${o} into ${t} but no DOM element was available.`);return l}var iX=n(6925),iQ=n.n(iX);let iY=(0,iX.createContext)({moduleName:"",featureName:""});function iZ({to:e,templateParams:t,onBeforeNavigate:n,children:o,...r}){return(0,iX.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}`)},[]),iQ().createElement("a",{onClick:o=>{0===o.button&&!o.ctrlKey&&!o.shiftKey&&!o.altKey&&!o.metaKey&&(o.preventDefault(),n?.(o),tg({to:e,templateParams:t})),0===o.button&&(o.ctrlKey||o.metaKey)&&n?.(o),0===o.button&&o.shiftKey&&n?.(o),1===o.button&&n?.(o)},href:tf(e,t),...r},o)}let i0=({state:e,children:t,...n})=>{let{extension:o}=(0,iX.useContext)(iY),r=(0,iX.useRef)(null),i=(0,iX.useRef)(Promise.resolve()),a=(0,iX.useRef)(!1),s=(0,iX.useRef)(!1),l=(0,iX.useRef)(e),c=(0,iX.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,iX.useCallback)((e,t)=>{e.update&&"UNMOUNTING"!==e.getStatus()&&(i.current=Promise.all([e.mountPromise,i.current]).then(()=>{if(r.current?.getStatus()==="MOUNTED"&&r.current.update)return r.current.update({...t})}).catch(e=>{let t=r.current?.getStatus();"UNMOUNTING"!==t&&"NOT_MOUNTED"!==t&&"UNLOADING"!==t&&console.error(`The extension '${o?.extensionId}' failed to update`,e)}))},[]),d=(0,iX.useCallback)(t=>{t&&!r.current&&!s.current&&o?.extensionSlotName&&o.extensionSlotModuleName&&(s.current=!0,iK(t,o.extensionSlotName,o.extensionSlotModuleName,o.extensionId,void 0,e).then(t=>{(s.current=!1,r.current=t,a.current)?c(t):t&&l.current!==e&&u(t,l.current)},()=>{s.current=!1}))},[]);return(0,iX.useEffect)(()=>(a.current=!1,()=>{a.current=!0,c(r.current)}),[]),(0,iX.useEffect)(()=>{l.current=e,r.current&&u(r.current,e)},[e]),o?iQ().createElement("div",{ref:d,"data-extension-id":o?.extensionId,style:{position:"relative"},...n}):null};function i1(e){let t=(0,iX.useRef)(e);return E(t.current,e)||(t.current=e),t.current}function i2(e,t){"function"==typeof t&&(t=t(e));let n={};for(let[o,r]of Object.entries(t)){let t=function(...t){e.setState(e=>r(e,...t))};n[o]=t}return n}let i6=e=>e;function i5(e,t=i6,n){let o=(0,iX.useCallback)(t=>e.subscribe(t),[e]),r=(0,iX.useCallback)(()=>t(e.getState()),[e,t]),i=(0,iX.useSyncExternalStore)(o,r,r),a=(0,iX.useMemo)(()=>n?i2(e,n):null,[e,n]);return(0,iX.useMemo)(()=>a?{...i,...a}:i,[i,a])}function i3(e,t){return i5(e,i6,t)}function i8(e){return function(t){let n=(0,iX.useCallback)(t=>e.subscribe(t),[]),o=(0,iX.useCallback)(()=>e.getState(),[]),r=(0,iX.useSyncExternalStore)(n,o,o),i=(0,iX.useMemo)(()=>t?i2(e,t):null,[t]);return(0,iX.useMemo)(()=>i?{...r,...i}:r,[r,i])}}let i4=[];Object.freeze(i4);let i7={candidateExtensions:i4};Object.freeze(i7);let i9=e=>{let t=(0,iX.useCallback)(t=>t.slots?.[e]??i7,[e]);return i5(rK(),t)},ae=e=>e.session;function at(e,t){let{candidateExtensions:n}=i9(e),o=i5(tP,ae),r=i1(t);return(0,iX.useMemo)(()=>i_(e,r),[e,r,o,n])}function an(e,t){let{moduleName:n}=(0,iX.useContext)(iY);if(!n)throw Error("ComponentContext has not been provided. This should come from @openmrs/esm-react-utils.");return(0,iX.useEffect)(()=>{iv(n,e)},[n,e]),{extensions:at(e,t),extensionSlotName:e,extensionSlotModuleName:n}}function ao(e){return e}function ar({name:e,extensionSlotName:t,select:n=ao,children:o,state:r,style:i,...a}){if(o&&r)throw Error("Both children and state have been provided. If children are provided, the state must be passed as a prop to the `Extension` component.");let s=e??t,l=(0,iX.useRef)(null),{extensions:c,extensionSlotModuleName:u}=an(s,r),d=(0,iX.useMemo)(()=>n(c),[n,c]),m=(0,iX.useMemo)(()=>{if("function"==typeof o&&!iQ().isValidElement(o))return d.map(e=>o(e,r))},[o,d]);return iQ().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)=>iQ().createElement(iY.Provider,{key:e.id,value:{moduleName:u,featureName:"",extension:{extensionId:e.id,extensionSlotName:s,extensionSlotModuleName:u}}},m?.[t]??("function"!=typeof o?o:null)??iQ().createElement(i0,{state:r}))))}var ai=n(3776),aa=n(9568),as=n(9737),al=n(2324),ac=n(242);let au={strictMode:!0,throwErrorsToConsole:!0,disableTranslations:!1},ad=new Map;(0,ac.y)(ad);let am={errorRetryCount:3,fetcher:tO,focusThrottleInterval:18e5,revalidateIfStale:!0,revalidateOnFocus:!1,revalidateOnReconnect:!1,refreshInterval:0,shouldRetryOnError:e=>{if(e instanceof tA){let t=e.response.status;return!!(t>=500)||401===t||403===t||429===t}return!0},provider:()=>ad};function af(e){if("object"!=typeof e||"string"!=typeof e.featureName||"string"!=typeof e.moduleName)throw Error("Invalid options");let t=Object.assign({},au,e),n={...am,...t.swrConfig};return function(e){var o,r,i,a,s;return i=r=class extends(o=iQ().Component){componentDidCatch(e,n){n&&n.componentStack&&(e.extra=Object.assign(e.extra||{},{componentStack:n.componentStack})),t.throwErrorsToConsole&&setTimeout(()=>{throw e}),this.setState({caughtError:e,caughtErrorInfo:n})}render(){if(this.state.caughtError)return iQ().createElement("div",null,"An error has occurred. Please try reloading the page.");{let o=iQ().createElement(iX.Suspense,{fallback:null},iQ().createElement(al.S,{value:n},iQ().createElement(iY.Provider,{value:this.state.config},t.disableTranslations?iQ().createElement(e,this.props):iQ().createElement(as.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},iQ().createElement(e,this.props)))));return t.strictMode&&iQ().StrictMode?iQ().createElement(iQ().StrictMode,null,o):o}}constructor(e){super(e),this.state={caughtError:null,caughtErrorInfo:null,config:{moduleName:t.moduleName,featureName:t.featureName,extension:e._extensionContext}}}},a="displayName",s=`OpenmrsReactComponent(${t.featureName})`,a in i?Object.defineProperty(i,a,{value:s,enumerable:!0,configurable:!0,writable:!0}):i[a]=s,r}}function ap(e,t){return(0,aa.A)({React:iQ(),ReactDOMClient:ai,rootComponent:af(t)(e)})}function ag(e,t){return()=>e().then(({default:e})=>ap(e,t))}function ah(e,t){return()=>Promise.resolve(ap(e,t))}let aw=ag,a_=(0,T.y)()(()=>({}));B("openmrs-app-context",a_);let ay={};function av(e,t=e=>e){let n=a_.getState();return e in n?Object.freeze(Object.assign({},t?t(n[e]):n[e])):null}function ab(e,t){a_.setState(n=>(e in n||(n[e]={}),n[e]=t(n[e]),Object.assign({},n)))}function ax(e){return null===e?null:Object.freeze(Object.assign({},e))}let ak=new Map;function aS(e,t){let n=(0,iX.useRef)(t??{}),o=(0,iX.useRef)(t=>ab(e,t)),r=(0,iX.useRef)(Symbol());return(0,iX.useEffect)(()=>{let n=t??{},o=r.current;return null===av(e)?!function(e,t=ay){a_.setState(n=>{if(e in n)throw Error(`Attempted to re-register namespace ${e} in the app context. Each namespace must be unregistered before the name can be registered again.`);return Object.assign({},n,{[e]:t===ay?{}:t})})}(e,n):(console.warn(`Namespace ${e} is already registered in the app context. This is likely a race condition during navigation, but may indicate two components are trying to own the same namespace. Updating the existing context.`),ab(e,()=>n)),ak.set(e,o),()=>{ak.get(e)===o&&(a_.setState(t=>(e in t&&delete t[e],t)),ak.delete(e))}},[e]),(0,iX.useEffect)(()=>{let o=t??{};E(n.current,o)||(ab(e,()=>o),n.current=o)},[t]),o.current}function aj({namespace:e,value:t}){return aS(e,t),null}let aN=({children:e,value:t,fallback:n})=>t?iQ().createElement(iQ().Fragment,null,e):n?iQ().createElement(iQ().Fragment,null,n):null;function aC(){let e=(0,iX.useRef)();return(!e.current||e.current.signal.aborted)&&(e.current=new AbortController),(0,iX.useEffect)(()=>{let t=e.current;return()=>t?.abort()},[]),e.current}function aE(e,t=e=>e??{}){let[n,o]=(0,iX.useState)(()=>{if(aO(e))return;let n=av(e);if(null!==n)return t?t(n):n});return(0,iX.useEffect)(()=>{if(aO(e))throw Error(`The namespace supplied to useAppContext must be a non-empty string, but was "${e}".`)},[e]),(0,iX.useEffect)(()=>{var n;let r;return(n=e=>{if(null==e)return void o(void 0);let n=t?t(e):e;o(e=>E(e,n)?e:n)})(ax(r=av(e))),a_.subscribe(t=>{let o=e in t?t[e]:null;o!==r&&(r=o,n(ax(o)))})},[e,t]),n}function aO(e){return"string"!=typeof e||0===e.trim().length}function aI(e){let t=at(e);return(0,iX.useMemo)(()=>t.map(e=>e.id),[t])}function aA(e){return i9(e).candidateExtensions}function aP(e,t){let{data:n,error:o,mutate:r,isLoading:i,isValidating:a}=(0,al.u)(`${nM}?patient=${e}&includeEncounterless=${t}`,tO);return(0,iX.useMemo)(()=>({isLoading:i,data:n?.data.results??[],error:o,mutate:r,isValidating:a}),[n,o,i,a,r])}function aT(e){(0,iX.useEffect)(()=>{if(e){let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}},[e])}let a$={},aR=`No ComponentContext has been provided. This should come from "openmrsComponentDecorator".
16
- Usually this is already applied when using "getAsyncLifecycle" or "getSyncLifecycle".`;function aM(e){let{moduleName:t,extension:n}=(0,iX.useContext)(iY),o=e?.externalModuleName??t;if(!o&&!n)throw Error(aR);let r=function(e){let t=(0,iX.useMemo)(()=>el(e),[e]),n=function(e){let[t,n]=(0,iX.useState)(()=>{let t=e.getState();return t.loaded&&t.config?t.config:null});return(0,iX.useEffect)(()=>e?.subscribe(e=>{e.loaded&&e.config&&n(e.config)}),[e]),t}(t);if(!n)throw a$[e]||(a$[e]=new Promise(e=>{let n=t.subscribe(t=>{t.loaded&&t.config&&(e(t.config),n())})})),a$[e];return n}(o),i=function(e){let t=(0,iX.useMemo)(em,[]),n=function(e,t){let[n,o]=(0,iX.useState)(t?()=>{let n=ep(e.getState(),t.extensionSlotName,t.extensionId);if(n.loaded&&n.config)return n.config}:null);return(0,iX.useEffect)(()=>{if(t)return e.subscribe(e=>{let r=ep(e,t.extensionSlotName,t.extensionId);r.loaded&&r.config&&!(0,q.A)(r.config,n)&&o(r.config)})},[e,t,n]),n}(t,e);if(!n&&e){let n=`${e.extensionSlotName}-${e.extensionId}`;throw!a$[n]&&t&&(a$[n]=new Promise(n=>{let o=t.subscribe(t=>{let r=ep(t,e.extensionSlotName,e.extensionId);r.loaded&&r.config&&(n(r.config),o())})})),a$[n]}return n||{}}(n);return(0,iX.useMemo)(()=>e?.externalModuleName&&o===e.externalModuleName?{...r}:{...r,...i},[o,e?.externalModuleName,r,i])}let aW=at;function aD(){let[e,t]=(0,iX.useState)(r$());return(0,iX.useEffect)(()=>l(({online:e})=>t(e)),[]),e}function aL(e,t=300){let[n,o]=(0,iX.useState)(e);return(0,iX.useEffect)(()=>{let n=setTimeout(()=>{o(e)},t);return()=>{clearTimeout(n)}},[e,t]),n}var aB=n(6269);let aU=`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 aF(){let e=`${tj}/emrapi/configuration?v=${aU}`,t=(0,aB.A)(e,tO);return(0,iX.useMemo)(()=>({emrConfiguration:t.data?.data,isLoadingEmrConfiguration:t.isLoading,mutateEmrConfiguration:t.mutate,errorFetchingEmrConfiguration:t.error}),[t])}let aH=i8(rB());function az(e){let t=at(e);return(0,iX.useMemo)(()=>Object.fromEntries(t.map(e=>[e.name,e.meta])),[t])}let aG=i8(rK());function aV(e){let{flags:t}=i5(rE);return t[e]?.enabled??!1}function aJ(){let[,e]=(0,iX.useState)(0);return(0,iX.useCallback)(()=>{e(e=>e+1)},[])}function aq(e,t,n={}){return aX(e,t,aK,n)}let aK={getPaginatedUrl:(e,t,n)=>{if(!e)return null;{let o=new URL(tE(e.toString()),window.location.toString());return o.searchParams.set("limit",""+t),o.searchParams.set("startIndex",""+n),o.searchParams.set("totalCount","true"),o.toString()}},getNextUrl:e=>{let t=e?.links?.find(e=>"next"==e.rel)?.uri;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.totalCount??NaN,getCurrentPageSize:e=>e?.results?.length??NaN,getData:e=>e?.results};function aX(e,t,n,o={}){let{getPaginatedUrl:r,getTotalCount:i,getCurrentPageSize:a,getData:s}=n,{immutable:l,swrConfig:c}=o,u=o.fetcher??tO,[d,m]=(0,iX.useState)(1),f=(0,iX.useRef)(NaN),p=(0,iX.useRef)(NaN),g=(0,iX.useRef)(d),h=(0,iX.useRef)(!1),w=(0,iX.useRef)(!1),_=e?.toString()??"",[y,v]=(0,iX.useState)(_);_!==y&&(v(_),m(1),g.current=1,f.current=NaN,p.current=NaN,h.current=!1,w.current=!1);let b=(d-1)*t,x=(0,iX.useMemo)(()=>r(e,t,b),[e,t,b]),{data:k,...S}=(l?aB.A:al.u)(x,u,c);k?.data&&(f.current=i(k?.data),p.current=a(k?.data),h.current=!0);let j=Math.ceil(f.current/t),N=(0,iX.useCallback)(e=>{if(!Number.isInteger(e)||e<1)return void console.warn(`useServerPagination: ignoring goTo(${e}); page must be a positive integer.`);let n=Math.ceil(f.current/t);!h.current||Number.isNaN(n)||e<=n?(g.current=e,m(e)):console.warn("Invalid attempt to go to out of bounds page: "+e)},[t]);(0,iX.useEffect)(()=>{if(!h.current)return;if(Number.isNaN(f.current)){w.current||(w.current=!0,console.warn(`useServerPagination: ${_} returned no total count, so out-of-range pages cannot be detected.`));return}let e=Math.max(1,Math.ceil(f.current/t));d>e&&(console.warn(`Invalid attempt to go to out of bounds page: ${d}; returning to page ${e}.`),g.current=e,m(e))},[d,t,_,k]);let C=(0,iX.useCallback)(()=>{N(g.current+1)},[N]),E=(0,iX.useCallback)(()=>{N(g.current-1)},[N]);return{data:s(k?.data),totalPages:j,totalCount:f.current,currentPage:d,currentPageSize:p.current,paginated:j>1,showNextButton:d<j,showPreviousButton:d>1,goTo:N,goToNext:C,goToPrevious:E,...S}}function aQ(e,t,n={}){return aX(e,t,aY(),n)}function aY(){return{getPaginatedUrl:(e,t,n)=>{if(!e)return null;{let o=new URL(tE(e.toString()),window.location.toString());return o.searchParams.set("_count",""+t),o.searchParams.set("_getpagesoffset",""+n),o.toString()}},getNextUrl:e=>{let t=e?.link?.find(e=>"next"==e.relation)?.url;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.total??NaN,getCurrentPageSize:e=>e?.entry?.length??NaN,getData:e=>e?.entry?.map(e=>e.resource)}}var aZ=n(3709);function a0(e,t={}){return a1(e,aK,t)}function a1(e,t,n={}){let{swrInfiniteConfig:o,immutable:r}=n,{getNextUrl:i,getTotalCount:a,getData:s}=t,l=n.fetcher??tO,c=(0,iX.useCallback)((n,o)=>0==n?e?.toString()??null:t.getNextUrl(o.data),[e]),{data:u,size:d,setSize:m,...f}=(0,aZ.Ay)(c,l,{...o,...r?{revalidateIfStale:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1}:{}}),p=i(u?.[u.length-1].data),g=a(u?.[0]?.data);return{data:u?.flatMap(e=>s(e.data)),totalCount:g,hasMore:null!=p,loadMore:()=>{m((u?.length??0)+1)},nextUri:p,...f}}function a2(e,t={}){return a6(e,aK,t)}function a6(e,t,n={}){let o=a1(e,t,n),{hasMore:r,error:i,data:a,loadMore:s,isLoading:l,nextUri:c}=o;return((0,iX.useEffect)(()=>{r&&!i&&s()},[r,c]),n.partialData)?o:{...o,data:r||i?void 0:a,isLoading:l||r}}function a5(e,t={}){return a6(e,aY(),t)}function a3(e,t={}){return a1(e,aY(),t)}function a8(){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 a4(){let[e,t]=(0,iX.useState)(a8);return(0,iX.useEffect)(()=>{let e=()=>{t(a8())};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}let a7=e=>"small-desktop"===e||"large-desktop"===e;function a9(e){let t=(0,iX.useContext)(iY);(0,iX.useEffect)(()=>(t&&t.moduleName&&(e.componentContext=t),ik(e),()=>{iS(e.name)}),[t,e])}function se(){return i5(ix)}function st(e=null,t=null){let[n,o]=(0,iX.useState)([]);return(0,iX.useEffect)(()=>{let n=oF(e,t).subscribe(e=>{o(e)},e=>{console.error(e)});return()=>n.unsubscribe()},[e,t]),n}function sn(e,t=!0){let n=(0,iX.useRef)(null);return(0,iX.useEffect)(()=>{let o=o=>{t&&n.current&&o.target&&o.target instanceof Node&&(n.current.contains(o.target)||e(o))};return window.addEventListener("mousedown",o),window.addEventListener("touchstart",o),()=>{window.removeEventListener("mousedown",o),window.removeEventListener("touchstart",o)}},[e,t]),n}function so(e){let t=(0,iX.useRef)();return(0,iX.useEffect)(()=>{let n=new IntersectionObserver(t=>{for(let n of t)if(n.isIntersecting)return void e()},{threshold:1});return t.current&&n.observe(t.current),()=>{t.current&&n.unobserve(t.current)}},[t.current,e]),t}function sr(e,t={}){let{abortController:n,fetchInit:o,url:r,swrConfig:i}=t,a=aC(),s=(0,iX.useMemo)(()=>o?.signal??n?.signal??a.signal,[n?.signal,o?.signal,a.signal]),l=(0,iX.useCallback)(e=>tO(function(e,t){if(t)return"function"==typeof t?t(e):t;if("string"==typeof e)return e;throw Error(`When using useOpenmrsSWR with a key that is not a string, you must provide a url() function that converts the key to a valid url. The key for this hook is ${e}.`)}(e,r),{...o,signal:s}),[s,o,r]);return(0,al.u)(e,l,i)}function si(e=[],t=10){let[n,o]=(0,iX.useState)(1),r=(0,iX.useMemo)(()=>"number"==typeof t&&t>0?Math.max(1,Math.ceil(e.length/t)):1,[e.length,t]);n>r&&o(r);let i=Math.min(Math.max(1,n),r),a=(0,iX.useMemo)(()=>{let n=(i-1)*t,o=(i+0)*t;return e.slice(n,o)},[e,i,t]),s=(0,iX.useCallback)(e=>{!Number.isInteger(e)||e<1?console.warn(`usePagination: ignoring goTo(${e}); page must be a positive integer.`):o(e)},[]),l=(0,iX.useCallback)(()=>{o(e=>e+1)},[]),c=(0,iX.useCallback)(()=>{o(e=>Math.max(1,e-1))},[]);return(0,iX.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 sa(e,t,n,o){return{pageSizes:(0,iX.useMemo)(()=>{let n=Math.ceil(t/e);return isNaN(n)&&(n=0),[...Array(n).keys()].map(t=>(t+1)*e)},[e,t]),pageItemsCount:(0,iX.useMemo)(()=>e>t?t:e*n>t?e*(n-1)+o:e*n,[e,t,n,o])}}function ss(){let e=/\/patient\/([a-zA-Z0-9\-]+)\/?/.exec(location.pathname);return e&&e[1]}function sl(e){let[t,n]=(0,iX.useState)(e??ss()),{data:o,error:r,isValidating:i}=(0,al.u)(t?["patient",t]:null,()=>oM(t,{}));return(0,iX.useEffect)(()=>{let e=()=>{let e=ss();e!==t&&n(e)};return window.addEventListener("single-spa:routing-event",e),()=>window.removeEventListener("single-spa:routing-event",e)},[t]),(0,iX.useMemo)(()=>({isLoading:i&&!r&&!o,patient:o,patientUuid:t,error:r}),[i,r,o,t])}function sc(){let e=`${tj}/metadatamapping/termmapping?v=custom:(metadataUuid)&code=emr.primaryIdentifierType`,{data:t,error:n,isLoading:o}=(0,al.u)(e,tO);return(0,iX.useMemo)(()=>({primaryIdentifierCode:t?.data?.results[0]?.metadataUuid,isLoading:o,error:n}),[t,n,o])}function su(e){let{extensions:t,extensionSlotModuleName:n}=an(e);return e?t.map(t=>({state:o})=>iQ().createElement(iY.Provider,{value:{moduleName:n,featureName:"",extension:{extensionId:t.id,extensionSlotName:e,extensionSlotModuleName:n}}},iQ().createElement(i0,{state:o}))):[]}function sd(){let e=(0,iX.useRef)(),[t,n]=(0,iX.useState)(null),o=null;if(!t){if(r){let e=tR().getState();e.loaded&&(o=e.session)}else r=new Promise(t=>{let n=({loaded:n,session:r})=>{n&&(t(r),o=r,e.current&&(e.current(),e.current=void 0))};n(tR().getState()),o||(e.current=tR().subscribe(n))});if(o)n(o);else throw r}(0,iX.useEffect)(()=>(e.current||(e.current=tR().subscribe(({loaded:e,session:t})=>{e&&(o=t,n(t))})),()=>{e.current&&(e.current(),e.current=void 0)}),[]);let i=t||o;if(!i)if(r)throw console.warn("useSession is in an unexpected state. Attempting to recover."),r;else throw Error("useSession is in an invalid state.");return i}let sm=({privilege:e,fallback:t,children:n})=>{let[o,r]=(0,iX.useState)(null);return((0,iX.useEffect)(()=>{let e=t$({includeAuthStatus:!1}).subscribe(r);return()=>e.unsubscribe()},[]),o&&tL(e,o))?iQ().createElement(iQ().Fragment,null,n):t?iQ().createElement(iQ().Fragment,null,t):null};var sf=n(4343),sp=n.n(sf),sg=n(3355);let sh=new Map;function sw(){for(let e of Array.from(sh.values()))e()}let s_={setVisitContext:(e,t)=>null==t?{manuallySetVisitUuid:null}:{manuallySetVisitUuid:t.uuid,patientUuid:t.patient?.uuid}};function sy(e){let t=(0,iX.useId)();return(0,iX.useEffect)(()=>{if(e)return sh.set(t,e),()=>{sh.delete(t)}},[t,e]),{...i3(oK(),s_),mutateVisit:sw}}function sv(e,t=oJ){let n=(0,iX.useRef)(void 0),{patientUuid:o,manuallySetVisitUuid:r,setVisitContext:i}=sy((0,iX.useCallback)(()=>n.current?.(),[])),a=e&&o==e?r:null,s=`?patient=${e}&v=${t}&includeInactive=false`,l=`/${a}?v=${t}`,{data:c,error:u,mutate:d,isValidating:m}=(0,al.u)(e?`${tj}/visit${s}`:null,tO),{data:f,error:p,mutate:g,isValidating:h}=(0,al.u)(e&&a?`${tj}/visit${l}`:null,tO),w=(0,iX.useMemo)(()=>c?.data.results.find(e=>null===e.stopDatetime)??null,[c]),_=(0,iX.useMemo)(()=>a&&f?f.data:null,[f,a]),y=(0,iX.useRef)(null);(0,iX.useEffect)(()=>{!m&&w&&o===e&&null===r&&i(w),h||(y.current&&_&&y.current.uuid===_.uuid&&!y.current.stopDatetime&&_.stopDatetime&&i(null),y.current=_)},[_,r,w,m,h,o]);let v=(0,iX.useCallback)(()=>{d(),g()},[d,g]);(0,iX.useEffect)(()=>{n.current=v},[v]);let b=!!(!c||a&&!f),x=!!(a?p:u);return{error:u||p,mutate:v,isValidating:m||h,activeVisit:w,currentVisit:_,currentVisitIsRetrospective:!!a,isLoading:b&&!x}}function sb(){let[e,t]=(0,iX.useState)([]);return(0,iX.useEffect)(()=>{let e=oz().subscribe(e=>{t(e)},e=>console.error(e));return()=>e.unsubscribe()},[]),e}sf.extend(sg);let sx=new Map;async function sk(e,t){let n=t.indexOf("#"),o=n>=0,r=o?t.substring(0,n):e,i=o?t.substring(n+1):t,a=await nm(r);return a&&Object.hasOwn(a,i)&&"function"==typeof a[i]?sj(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`),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 n=t??await nm(e);await (sx[e]=new Promise((t,o)=>{if(Object.hasOwn(n,"startupApp")){let r=n.startupApp;if("function"==typeof r)return Promise.resolve(r()).then(()=>{eR(e),t(null)}).catch(o)}eR(e),t(null)}))}}function sN(e,t){let n=t.name;if(!n)return void console.error(`An extension definition in ${e} is missing an name and thus cannot be
15
+ ${this.stack}`}}let tP=L("session",{loaded:!1,session:null}),tT=0;function t$(e={includeAuthStatus:!0}){return(tT<Date.now()-6e4||!tP.getState().loaded)&&tW(),new G.Observable(t=>{let n=n=>{n.loaded&&(e.includeAuthStatus?t.next(n.session):t.next(n.session?.user))};return n(tP.getState()),tP.subscribe(n)})}function tR(){return(tT<Date.now()-6e4||!tP.getState().loaded)&&tW(),tP}function tM(e){let t=e.locale??e.user?.userProperties?.defaultLocale;t&&t.includes("_")&&(t=t.replaceAll("_","-")),function(e){if(void 0===e||"string"!=typeof e)return!1;try{new Intl.Locale(e)}catch(e){return!1}return!0}(t)&&t!==document.documentElement.getAttribute("lang")&&document.documentElement.setAttribute("lang",t)}function tW(e,t){tT=Date.now();let n={};return e&&t&&(n.Authorization=`Basic ${window.btoa(`${e}:${t}`)}`),tz(tO(tC,{headers:n}))}function tD(){tP.setState({loaded:!0,session:{authenticated:!1,sessionId:""}})}function tL(e,t){var n,o;if(void 0===t)return!e;if(!e)return!0;return n=e,o=t,("string"==typeof n?!(0,z.A)(o.privileges.find(e=>n===e.display)):Array.isArray(n)?n.every(e=>!(0,z.A)(o.privileges.find(t=>e===t.display))):((0,z.A)(n)||console.error(`Could not understand privileges "${n}"`),!0))||!(0,z.A)(t.roles.find(e=>"System Developer"===e.display))}function tB(){let e,t;return new Promise(n=>{let o=o=>{o.loaded&&o.session.user&&(e=o.session.user,n(o.session.user),t&&t())};o(tP.getState()),e||(t=tP.subscribe(o))})}function tU(){return new Promise((e,t)=>{t$().subscribe(t=>{e(t.sessionLocation)},t).unsubscribe()})}async function tF(e,t){return tz(tO(tC,{method:"POST",body:{sessionLocation:e},headers:{"Content-Type":"application/json"},signal:t.signal}))}async function tH(e,t,n){return n||(n=new AbortController),await tO(`${tj}/user/${e}`,{method:"POST",body:{userProperties:t},headers:{"Content-Type":"application/json"},signal:n.signal}),tW()}function tz(e){return new Promise((t,n)=>{e.then(e=>{let o;"object"==typeof e?.data?(o={loaded:!0,session:e.data},tP.setState(o),t(o)):(o={loaded:!1,session:null},tP.setState(o),n(o))}).catch(e=>{j(`Failed to fetch new session information: ${e}`);let t={loaded:!1,session:null};tP.setState(t),n(t)})})}function tG(){return"development"===window.spaEnv||"true"===localStorage.getItem("openmrs:devtools")}tP.subscribe(e=>{e.loaded&&e.session&&tM(e.session)});let tV={"webservices.rest":"2.24.0",fhir2:"1.0.0-SNAPSHOT"};function tJ(){eT("@openmrs/esm-api",tk),tW()}let tq={address1:"Address line 1",address2:"Address line 2",address3:"Address line 3",address4:"Address line 4",address5:"Address line 5",address6:"Address line 6",city:"City",cityVillage:"City",country:"Country",countyDistrict:"District",district:"District",postalCode:"Postal code",state:"State",stateProvince:"State",closeAllOpenedWorkspaces:"Discard changes in {{count}} workspaces",closingAllWorkspacesPromptBody:"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}",closingAllWorkspacesPromptTitle:"You have unsaved changes",discard:"Discard",hide:"Hide",maximize:"Maximize",minimize:"Minimize",openAnyway:"Open anyway",unsavedChangesInOpenedWorkspace:"You may have unsaved changes in the opened workspace. Do you want to discard these changes?",unsavedChangesInWorkspace:'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',unsavedChangesTitleText:"Unsaved changes",workspaceHeader:"Workspace header",discardUnsavedChangesPromptBodyMultiple:"{{count}} workspaces have unsaved changes. Closing them will discard the changes:",discardUnsavedChangesPromptBodySingle:"<strong>{{workspaceTitle}}</strong> has unsaved changes. Closing it will discard them.",discardUnsavedChangesPromptTitle:"Discard unsaved changes?",keepEditing:"Keep editing",abnormalValue:"Abnormal value",actions:"Actions",actionableNotification:"Actionable notification",address:"Address",age:"Age",batchActionItemSelected:"{{totalSelected}} item selected",batchActionsItemsSelected:"{{totalSelected}} items selected",cancel:"Cancel",change:"Change",Clinic:"Clinic",close:"Close",closesActionableNotification:"Close actionable notification",closeSnackbar:"Close snackbar",confirm:"Confirm",contactAdministratorIfIssuePersists:"Contact your system administrator if the problem persists.",contactDetails:"Contact details",delete:"Delete",discardChanges:"Discard changes",edit:"Edit",emptyStateText:"There are no {{displayText}} to display",error:"Error",errorCopy:"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.",errorLoadingLoginLocations:"Unable to load login locations. Please try again or contact support if the problem persists.",female:"Female",leftNavigation:"Left navigation",loading:"Loading",localVersion:"Local Build",male:"Male",noResultsToDisplay:"No results to display",notAvailable:"Not available",other:"Other",paginationItemsCount:"{{pageItemsCount}} / {{totalItems}} items",paginationOfPages:"of {{count}} pages",patientAvatarAlt:"Avatar for {{patientName}}",patientIdentifierSticker:"Patient identifier sticker",patientLists:"Patient lists",patientPhotoAlt:"Profile photo of {{patientName}}",patientPhotoPlaceholder:"Photo placeholder for {{patientName}}",prereleaseVersion:"Prerelease",print:"Print",printError:"Print error",printErrorExplainer:"An error occurred in {{errorLocation}}",printIdentifierSticker:"Print identifier sticker",printing:"Printing",recordNewEntry:"Record {{displayText}}",relationships:"Relationships",resetOverrides:"Reset overrides",save:"Save",scriptLoadingFailed:"Error: Script failed to load",scriptLoadingError:"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",searchForLocation:"Search for a location",seeAll:"See all",seeMoreLists:"See {{count}} more lists",selectAll:"Select all",sex:"Sex",showLess:"Show less",showMore:"Show more",snackbarNotification:"Snackbar notification",toggleDevTools:"Toggle dev tools",unknown:"Unknown",yearAbbreviation:"yr",yearsAbbreviation:"yrs"};var tK=n(2279);let tX=tK.Ay.default||tK.Ay;function tQ(e,t,n,o){return tX.t(t,{ns:e,defaultValue:n,...o})}function tY(e,t,n){return tq[e]?tQ("core",e,t??tq[e],n):(console.error(`O3 Core Translations does not provide key '${e}'. The key itself is being rendered as text.`),e)}tX.on("initialized",function(){window.i18next.loadNamespaces(["core"])});let tZ="import-map-override:",t0="import-map-overrides-disabled",t1="import-map-overrides:change",t2=!1,t6=null,t5=null;async function t3(){return t5??(t5=t8().then(({map:e,complete:t})=>(t||(t5=null),e))),t5}async function t8(){let e=document.querySelectorAll('script[type="systemjs-importmap"]'),t=[],n=!0;for(let o=0;o<e.length;o++){let r=e[o];try{if(r.src){let e=await fetch(r.src);if(!e.ok)throw Error(`Request for ${r.src} returned ${e.status} ${e.statusText}`);t.push(await e.json())}else r.textContent&&t.push(JSON.parse(r.textContent))}catch(e){n=!1,console.warn(`[import-maps] Failed to parse import map from script tag at index ${o}`,e)}}return{map:t4(t),complete:n}}function t4(e){let t={imports:{}};for(let n of e)n?.imports&&Object.assign(t.imports,n.imports);return t}function t7(){let e={};try{let t=no();for(let n=0;n<localStorage.length;n++){let o=localStorage.key(n);if(o?.startsWith(tZ)){let n=o.slice(tZ.length);if(!t.includes(n)){let t=localStorage.getItem(o);t&&(e[n]=t)}}}}catch(e){console.warn("[import-maps] Failed to read import-map overrides from localStorage",e)}return{imports:e}}async function t9(){let e=await t3();return t2?t4([e,t6??t7()]):e}async function ne(){return t3()}async function nt(){return t2?t4([await t3(),t7()]):t3()}function nn(e){if(!t2)return{imports:{}};if(e){let e={};for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n?.startsWith(tZ)){let t=localStorage.getItem(n);t&&(e[n.slice(tZ.length)]=t)}}return{imports:e}}return t7()}function no(){if(!t2)return[];try{let e=localStorage.getItem(t0);if(e){let t=JSON.parse(e);if(Array.isArray(t))return t}}catch{}return[]}function nr(e){return!!t2&&no().includes(e)}function ni(e,t){if(!t2)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.setItem(tZ+e,t),window.dispatchEvent(new CustomEvent(t1))}catch(e){console.warn("[import-maps] Failed to write import-map override to localStorage",e)}}function na(e){if(!t2)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.removeItem(tZ+e);let t=no().filter(t=>t!==e);t.length>0?localStorage.setItem(t0,JSON.stringify(t)):localStorage.removeItem(t0),window.dispatchEvent(new CustomEvent(t1))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}function ns(){if(!t2)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n?.startsWith(tZ)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e)),localStorage.removeItem(t0),window.dispatchEvent(new CustomEvent(t1))}catch(e){console.warn("[import-maps] Failed to clear import-map overrides from localStorage",e)}}function nl(e){if(!t2)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let t=no().filter(t=>t!==e);t.length>0?localStorage.setItem(t0,JSON.stringify(t)):localStorage.removeItem(t0),window.dispatchEvent(new CustomEvent(t1))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}let nc=!1;function nu(){!nc&&(nc=!0,(t2="development"===window.spaEnv)&&(t6=t7()))}function nd(e){return e.replace(/[\/\-@]/g,"_")}async function nm(e,t="./start",o){var r;let i,a=!o?.maxLoadingTime||o.maxLoadingTime<=0?6e5:o.maxLoadingTime;await Promise.race([nf(e,o?.importMap),new Promise((t,n)=>{i=setTimeout(()=>{var t;n(Error(`Could not resolve requested script, ${e}, within ${(t=a)<1e3?`${t} milliseconds`:t<6e4?`${Math.floor(t/1e3)} seconds`:t<36e5?`${Math.floor(t/6e4)} minutes`:t<864e5?`${Math.floor(t/36e5)} hours`:`${Math.floor(t/864e5)} days`}.`))},a)})]),i&&clearTimeout(i);let s=nd(e),l=window[s];if(!("object"==typeof(r=l)&&null!==r&&"init"in r&&"function"==typeof r.init&&"get"in r&&"function"==typeof r.get)){let e=`The global variable ${s} does not refer to a federated module`;throw console.error(e),Error(e)}l.init(n.S.default);let c=(await l.get(t))();if("object"!=typeof c||null===c){let t=`Container for ${e} did not return an ESM module as expected`;throw console.error(t),Error(t)}return c}async function nf(e,t){if("string"!=typeof e||0===e.trim().length){let e="Attempted to call importDynamic() without supplying a package to load";throw console.error(e),Error(e)}let n=nd(e);if(!window[n]){let n=t??await np();if(!n.imports.hasOwnProperty(e)){let t=`Could not find the package ${e} defined in the current importmap`;throw console.error(t),Error(t)}let o=n.imports[e];o.startsWith("./")&&(o=window.spaBase+o.substring(1));let r=e in nn().imports;try{return await function(e){var t;let n=(t=window)[ng]??(t[ng]=new Map),o=n.get(e);if(o)return o;if(document.head.querySelector(`script[src="${e}"]`))return console.warn(`Script at ${e} already loaded. Not loading it again.`),Promise.resolve();let r=document.createElement("script");r.src=e,r.type="text/javascript",r.async=!0;let i=new Promise((t,o)=>{let i=setTimeout(()=>{console.error(`The script at ${e} did not load within 5 seconds. This may indicate an issue with the imports in the script's entry-point file or with the script's bundler configuration.`)},5e3);function a(){clearTimeout(i),r.removeEventListener("load",s),r.removeEventListener("error",l)}function s(){a(),t()}function l(t){a(),n.delete(e),r.remove();let i=`Failed to load script from ${e}`;console.error(i,t),o(t.message??i)}r.addEventListener("load",s),r.addEventListener("error",l),document.head.appendChild(r)});return n.set(e,i),i}(o)}catch(e){return r&&v({kind:"error",title:tY("scriptLoadingFailed","Error: Script failed to load"),description:tY("scriptLoadingError","Failed to load overridden script from {{- url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",{url:o}),actionButtonLabel:tY("resetOverrides","Reset overrides"),onActionButtonClick(){ns(),window.location.reload()}}),Promise.reject(e)}}return Promise.resolve()}async function np(){return t9()}let ng=Symbol.for("__openmrs_script_loading");function nh(e){return!!e&&"object"==typeof e&&!(Object.hasOwn(e,"pages")&&(!e.pages||!Array.isArray(e.pages))||Object.hasOwn(e,"extensions")&&(!e.extensions||!Array.isArray(e.extensions))||Object.hasOwn(e,"workspaces")&&(!e.workspaces||!Array.isArray(e.workspaces))||Object.hasOwn(e,"modals")&&(!e.modals||!Array.isArray(e.modals)))}function nw(e){return!!e&&"object"==typeof e&&"routes"in e&&!!e.routes&&"object"==typeof e.routes&&Object.entries(e.routes).every(([e,t])=>"string"==typeof e&&nh(t))}let n_="openmrs-routes:",ny="openmrs-routes:change",nv=!1,nb=null,nx=null;async function nk(){return nx??(nx=nS().then(({map:e,complete:t})=>(t||(nx=null),e))),nx}async function nS(){let e=document.querySelectorAll("script[type='openmrs-routes']"),t=[],n=!0;for(let o=0;o<e.length;o++){let r=e[o];try{let e;if(r.src){let t=await fetch(r.src);if(!t.ok)throw Error(`Request for ${r.src} returned ${t.status} ${t.statusText}`);e=await t.json()}else r.textContent&&(e=JSON.parse(r.textContent));e&&nw(e)&&t.push(e)}catch(e){n=!1,console.warn(`[route-maps] Failed to parse routes from script tag at index ${o}`,e)}}return{map:nj(t),complete:n}}function nj(e){let t={routes:{}};for(let n of e)n&&"object"==typeof n&&!Array.isArray(n)&&(Object.assign(t.routes,n.routes),void 0===t.version&&void 0!==n.version&&(t.version=n.version));return t}async function nN(){let e={version:void 0,routes:{}};try{let t=[];for(let e=0;e<localStorage.length;e++){let n=localStorage.key(e);if(n?.startsWith(n_)){let e=localStorage.getItem(n);e&&t.push({moduleName:n.slice(n_.length),raw:e})}}for(let n of(await Promise.allSettled(t.map(async({moduleName:e,raw:t})=>{let n=JSON.parse(t);if(nh(n))return{moduleName:e,routes:n};if("string"==typeof n&&n.startsWith("http")){let t=await fetch(n),o=await t.json();if(nh(o))return{moduleName:e,routes:o};throw Error(`${n} did not resolve to a valid OpenmrsAppRoutes object`)}throw Error(`Override for ${e} is neither a valid routes object nor a URL`)}))))"fulfilled"===n.status?e.routes[n.value.moduleName]=n.value.routes:console.warn("[route-maps] Failed to load route override",n.reason)}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}async function nC(){let e=await nk();return nv?nj([e,nb??await nN()]):e}async function nE(){return nk()}async function nO(){return nv?nj([await nk(),await nN()]):nk()}function nI(){if(!nv)return{};let e={};try{for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n?.startsWith(n_)){let t=localStorage.getItem(n);t&&(e[n.slice(n_.length)]=t)}}}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}function nA(e,t){if(!nv)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{if("string"==typeof t)if(t.startsWith("http"))localStorage.setItem(n_+e,JSON.stringify(t));else{let n=JSON.parse(t);if(!nh(n))return void console.error(`The supplied routes for ${e} is not a valid OpenmrsAppRoutes object`,t);localStorage.setItem(n_+e,JSON.stringify(n))}else if(t instanceof URL)localStorage.setItem(n_+e,JSON.stringify(t.toString()));else{if(!nh(t))return void console.error(`Override for ${e} is not in a valid format. Expected either a Javascript Object, a JSON string of a Javascript object, or a URL`,t);localStorage.setItem(n_+e,JSON.stringify(t))}window.dispatchEvent(new CustomEvent(ny))}catch(e){console.warn("[route-maps] Failed to write route override to localStorage",e)}}function nP(e){if(!nv)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{localStorage.removeItem(n_+e),window.dispatchEvent(new CustomEvent(ny))}catch(e){console.warn("[route-maps] Failed to remove route override from localStorage",e)}}function nT(){if(!nv)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n?.startsWith(n_)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e)),window.dispatchEvent(new CustomEvent(ny))}catch(e){console.warn("[route-maps] Failed to clear route overrides from localStorage",e)}}let n$=null;function nR(){return n$||(n$=(nv="development"===window.spaEnv)?nN().then(e=>{nb=e}):Promise.resolve())}let nM=`${tj}/attachment`;function nW(e,t){return tO(`${nM}/${e}`,{signal:t.signal})}function nD(e,t,n,o){return tO(nL(e,t,o),{signal:n.signal})}function nL(e,t,n){return n?`${nM}?patient=${e}&encounter=${n}`:`${nM}?patient=${e}&includeEncounterless=${t}`}async function nB(e,t,n){let o=new FormData;return o.append("fileCaption",t.fileDescription),o.append("patient",e),n&&o.append("encounter",n),t.file?o.append("file",t.file,t.fileName):(o.append("file",new File([""],t.fileName),t.fileName),o.append("base64Content",t.base64Content)),tO(`${nM}`,{method:"POST",body:o})}function nU(e,t){return tO(`${nM}/${e}`,{method:"DELETE",signal:t.signal})}var nF=n(8798);function nH(e,t){if(void 0!==i)return console.warn(`The application's Service Worker has already been registered. The new service worker at ${e} will not be registered.`),i;if(!("serviceWorker"in navigator))throw Error("Registering the Service Worker is not possible due to missing browser capabilities.");let n=new nF.JK(e,t);return i=n.register().then(()=>n.controlling.then(()=>n))}function nz(){return i??Promise.resolve(void 0)}let nG="x-omrs-offline-response-body",nV="x-omrs-offline-response-status",nJ="x-omrs-offline-caching-strategy";async function nq(e){let t=await nz();return t?await t.messageSW(e):{success:!1,result:void 0,error:"No service worker has been registered. This is typically the case when the application has been built without offline-related features."}}async function nK(){let e=window.sessionStorage;try{e.setItem("someKeyHere","test"),e.removeItem("someKeyHere")}catch(t){if(t.code===DOMException.QUOTA_EXCEEDED_ERR&&0===e.length)return!0}return!1}async function nX(){return!window.indexedDB}async function nQ(){return new Promise(e=>{let t=indexedDB.open("test");t.onerror=()=>e(!0),t.onsuccess=()=>e(!1)})}async function nY(){return await nQ()||await nX()||await nK()}let nZ="openmrs3:offline-mode",n0="unavailable";function n1(){return{current:n0,notAvailable:"unavailable"===n0,active:"on"===n0}}function n2(e){"unavailable"!==n0&&"unavailable"!==e&&(localStorage.setItem(nZ,"on"===e?"active":"disabled"),n0=e)}async function n6(){await nY()||(n0="active"===localStorage.getItem(nZ)?"on":"off"),navigator.onLine}var n5=n(8442);function n3(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class n8 extends n5.Ay{constructor(){super("EsmOffline"),n3(this,"syncQueue",void 0),n3(this,"dynamicOfflineData",void 0),this.version(4).stores({syncQueue:"++id,userId,type,[userId+type]",dynamicOfflineData:"++id,type,identifier,*users,&[type+identifier]"}),this.syncQueue=this.table("syncQueue"),this.dynamicOfflineData=this.table("dynamicOfflineData")}}function n4(){return new n8}let n7=new n8,n9={},oe=L("offline-synchronization",{});function ot(){return oe}async function on(){if(oe.getState().synchronization)return;let e=await n7.syncQueue.count(),t={},n=Object.entries(n9),o=n.length,r={},i=new AbortController,a=()=>{let e=oe.getState().synchronization;oe.setState({synchronization:{...e,pendingCount:e.pendingCount-1}})};try{oe.setState({synchronization:{totalCount:e,pendingCount:e,abortController:i}});for(let e=0;e<o&&n.length>0;e++)for(let e=n.length;e--;){let[o,s]=n[e],l=s.dependsOn.map(e=>t[e]);l.every(Boolean)&&(r[o]={},await Promise.all(l),t[o]=oo(s,r,i,a),n.splice(e,1))}await Promise.allSettled(Object.values(t))}finally{oe.setState({synchronization:void 0})}}async function oo({type:e,dependsOn:t,process:n},o,r,i){let a=[],s=[],l=await or();await n7.syncQueue.where({type:e,userId:l}).each((e,t)=>{a.push([t.primaryKey,e.content,e.descriptor]),s.push(e.content)});for(let c=0;c<a.length;c++){let[u,d,{id:m,dependencies:f=[]}]=a[c];try{let i=await n(d,{abort:r,index:c,items:s,userId:l,dependencies:f.map(({id:e,type:n})=>t.includes(n)?o[n][e]:void 0)});void 0!==m&&(o[e][m]=i),await n7.syncQueue.delete(u)}catch(e){await n7.syncQueue.update(u,{lastError:{name:e?.name,message:e?.message??e?.toString()}})}finally{i()}}}async function or(){let e=await tB();return e?.uuid||"*"}async function oi(e,t,n,o){let r=o&&o.id;return void 0!==r&&await n7.syncQueue.where({type:t,userId:e}).filter(e=>e?.descriptor.id===r).delete().catch(n5.Ay.errnames.DatabaseClosed),await n7.syncQueue.add({type:t,content:n,userId:e,descriptor:o||{},createdOn:new Date}).catch(n5.Ay.errnames.DatabaseClosed,()=>-1)}async function oa(e,t,n){let o=await or();return await oi(o,e,t,n)}async function os(e,t){return(await ol(e,t)).map(e=>e.content)}async function ol(e,t){return await n7.syncQueue.where(t?{type:t,userId:e}:{userId:e}).toArray().catch(n5.Ay.errnames.DatabaseClosed,()=>[])}async function oc(e){let t=await or();return await os(t,e)}async function ou(e){let t=await or();return await ol(t,e)}async function od(e){return await n7.syncQueue.get(e).catch(n5.Ay.errnames.DatabaseClosed,()=>void 0)}function om(e){return!!n9[e]?.options.onBeginEditSyncItem}async function of(e){let t=await od(e);if(!t)throw Error(`No sync item with the ID ${e} exists.`);let n=n9[t.type]?.options.onBeginEditSyncItem;if(!n)throw Error(`A sync item with the ID ${e} exists, but the associated handler (if one exists) doesn't support editing the item. You can avoid this error by either verifying that sync items of this type can be edited via the "canEditSynchronizationItemsOfType(type: string)" function or alternatively ensure that the synchronizaton handler for sync items of type "${t.type}" supports editing items.`);n(t)}async function op(e){await n7.syncQueue.delete(e).catch(n5.Ay.errnames.DatabaseClosed)}function og(e,t,n,o={}){n9[e]={type:e,dependsOn:t,process:n,options:o}}var oh=n(1301);let ow="OFFLINE+";function o_(){return ow+(0,oh.A)()}function oy(e){return e.startsWith(ow)}let ov={};function ob(){return Object.values(ov)}function ox(e){ov[e.id]&&console.warn(`[setupDynamicOfflineDataHandler] Another second handler with the ID "${e.id}" was registered. This handler will override the previous one. This could be unintended as the previous handler might run different flows than the newly registered one. If this is the case, ensure that you are setting up the handlers with different IDs.`),ov[e.id]=e}async function ok(e){let t=await oA();return await oS(t,e)}async function oS(e,t){let n=new n8;return await n.dynamicOfflineData.where(t?{type:t,users:e}:{users:e}).toArray().catch(n5.Ay.errnames.DatabaseClosed,()=>[])}async function oj(e,t){let n=await oA();return await oN(n,e,t)}async function oN(e,t,n){let o=new n8,r=await o.dynamicOfflineData.get({type:t,identifier:n}).catch(n5.Ay.errnames.DatabaseClosed,()=>void 0);r?r.users.includes(e)||await o.dynamicOfflineData.update(r.id,{users:[...r.users,e]}).catch(n5.Ay.errnames.DatabaseClosed):await o.dynamicOfflineData.add({users:[e],type:t,identifier:n}).catch(n5.Ay.errnames.DatabaseClosed)}async function oC(e,t){let n=await oA();return await oE(n,e,t)}async function oE(e,t,n){let o=new n8,r=await o.dynamicOfflineData.get({type:t,identifier:n,users:e}).catch(n5.Ay.errnames.DatabaseClosed,()=>void 0);r&&(r.users.length>1?await o.dynamicOfflineData.update(r.id,{users:r.users.filter(t=>t!==e)}).catch(n5.Ay.errnames.DatabaseClosed):await o.dynamicOfflineData.delete(r.id).catch(n5.Ay.errnames.DatabaseClosed))}async function oO(e,t){let n=await ok(e);await Promise.all(n.map(async e=>oI(e.type,e.identifier,t)))}async function oI(e,t,n){await oj(e,t);let o=new n8,r=await oA(),i=await o.dynamicOfflineData.get({type:e,identifier:t}).catch(n5.Ay.errnames.DatabaseClosed,()=>void 0),a=ob().filter(t=>t.type===e);if(!i)return;let s=await Promise.all(a.map(async e=>{try{return e.sync(t,n),{id:e.id,error:void 0}}catch(n){let t=n.message?.toString()??n.toString();return{id:e.id,error:t}}})),l=s.filter(e=>!e.error).map(e=>e.id),c=s.filter(e=>e.error).map(e=>e.id),u=s.filter(e=>e.error).map(e=>({handlerId:e.id,message:e.error})),d={syncedOn:new Date,syncedBy:r,succeededHandlers:l,erroredHandlers:c,errors:u};i.id&&await o.dynamicOfflineData.update(i.id,{syncState:d}).catch(n5.Ay.errnames.DatabaseClosed)}async function oA(){let e=(await tB()).uuid;if(!e)throw Error("Using the dynamic offline data API requires a logged in user.");return e}let oP=L("offline-patients",{offlinePatientDataSyncState:{},handlers:{}});function oT(){return oM(),oP}function o$(e,t){oM(),ox({type:"patient",displayName:t.displayName,id:e,isSynced:()=>Promise.resolve(!0),sync:(e,n)=>t.onOfflinePatientAdded({patientUuid:e,signal:n??new AbortController().signal})})}async function oR(e){oM(),await oI("patient",e)}function oM(){console.warn("The offline patient API has been deprecated and will be removed in a future release. To prevent future crashes, the functions remain available for the moment, but any invocations should be migrated ASAP.")}async function oW(e,t,n=!0){if(e){let o=null,[r,i]=await Promise.all([tO(`${tN}/Patient/${e}`,t).catch(e=>o=e),n?oD(e):Promise.resolve(null)]);if(r.ok)return r.data;if(i)return i;if(o)throw o}return null}async function oD(e){let t=(await oc("patient-registration")).find(t=>t.fhirPatient.id===e);return t?.fhirPatient??null}function oL(e,t){let n=new CustomEvent(`openmrs:${e}`,{detail:t??void 0,cancelable:!0,bubbles:!0});return window.dispatchEvent(n)}function oB(e,t){let n=e=>{t("detail"in e&&null!==e.detail?e.detail:void 0)};return window.addEventListener(`openmrs:${e}`,n),()=>{window.removeEventListener(`openmrs:${e}`,n)}}var oU=n(3492);function oF(e){return{uuid:e.uuid,display:e.display}}function oH(e=null,t=null){let n=new URLSearchParams;e&&n.set("tag",e),t&&n.set("q",t);let o=n.toString();return tI(`${tj}/location${o?"?"+o:""}`).pipe((0,oU.map)(e=>e.data.results.map(oF))).pipe((0,oU.take)(1))}function oz(e){return{uuid:e.uuid,display:e.display,name:e.name}}function oG(){return tI(`${tj}/visittype`).pipe((0,oU.map)(e=>e.data.results.map(oz))).pipe((0,oU.take)(1))}var oV=((I={}).NEWVISIT="startVisit",I.EDITVISIT="editVisit",I.LOADING="loadingVisit",I),oJ=((A={}).NOTSTARTED="notStarted",A.ONGOING="ongoing",A);let oq="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))",oK=function(){try{return JSON.parse(sessionStorage.getItem("openmrs:visitStoreState")||"null")}catch(e){return null}}()||{patientUuid:null,manuallySetVisitUuid:null};function oX(){return U("visit",oK)}function oQ(e,t){oX().setState({patientUuid:e,manuallySetVisitUuid:t})}function oY(e,t){return tO(`${tj}/visit`,{signal:t.signal,method:"POST",headers:{"Content-type":"application/json"},body:e})}function oZ(e,t,n){return tO(`${tj}/visit/${e}`,{signal:n.signal,method:"POST",headers:{"Content-type":"application/json"},body:t})}function o0(e,t,n){return tO(`${tj}/visit?patient=${e}&v=${n??oq}`,{signal:t.signal,method:"GET",headers:{"Content-type":"application/json"}})}oX().subscribe(e=>{var t;t=e,sessionStorage.setItem("openmrs:visitStoreState",JSON.stringify(t))});let o1=new G.BehaviorSubject(null);var o2=n(9225),o6=n(6881),o5=n(6828),o3=n(1956),o8=n(3635),o4=n(7839),o7=n(2298);let o9={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)}},re={...o9,Promise};function rt(e,t={}){return rs(e,t,ru)}async function rn(e,t={}){return rl(e,t,ru)}function ro(e,t={}){return rs(e,t,rd)}function rr(e,t={}){return rl(e,t,rd)}function ri(e,t={}){return rs(e,t,rm)}function ra(e,t={}){return rl(e,t,rm)}function rs(e,t={},n){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let o=rw(t,o9),r=rf("string"==typeof e?(0,o2.A)(e):e,o);if(n(r))return r;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}}async function rl(e,t={},n){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))return Promise.reject(`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`);if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let o=rw(t,re);return Promise.resolve(rf("string"==typeof e?(0,o2.A)(e):e,o)).then(t=>{if(n(t))return t;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}})}function rc(e){return(0,o2.A)(e)}function ru(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||null==e||e instanceof Date}function rd(e){return"boolean"==typeof e}function rm(e){return"number"==typeof e}function rf(e,t){switch(e.type){case"UnaryExpression":var n,o,r,i,a,s,l,c,u,d,m,f,p,g=e,h=t;let w=rf(g.argument,h);switch(g.operator){case"+":return+w;case"-":return-w;case"~":return~w;case"!":return!w;default:throw`Expression evaluator does not support operator '${g.operator}''`}case"BinaryExpression":var _=e,y=t;switch(_.operator){case"&&":return rf(_.left,y)&&rf(_.right,y);case"||":return rf(_.left,y)||rf(_.right,y);case"??":return rf(_.left,y)??rf(_.right,y)}let v=rf(_.left,y),b=rf(_.right,y);switch(_.operator){case"+":return v+b;case"-":return v-b;case"*":return v*b;case"/":return v/b;case"%":return v%b;case"**":return v**b;case"==":return v==b;case"===":return v===b;case"!=":return v!=b;case"!==":return v!==b;case">":return v>b;case">=":return v>=b;case"<":return v<b;case"<=":return v<=b;case"in":return v in b;default:throw`Expression evaluator does not support operator '${_.operator}' operator`}case"ConditionalExpression":return n=e,o=t,rf(n.test,o)?rf(n.consequent,o):rf(n.alternate,o);case"CallExpression":return rv(rg(e,t));case"ArrowFunctionExpression":let x;return r=e,i=t,x=r.params?.map(e=>{if("Identifier"===e.type)return e.name;throw`Cannot handle parameter of type ${e.type}`})??[],(function(...e){if(e.length<x.length)throw`Required argument(s) ${x.slice(e.length,-1).join(", ")} were not provided`;let t=Object.fromEntries(x.reduce((t,n,o)=>{let r=e[o];return function e(t){if("string"==typeof t||"number"==typeof t||"boolean"==typeof t||"function"==typeof t||null===t||t instanceof RegExp)return!0;if("object"==typeof t){for(let n of Object.keys(t))if(!e(t[n]))return!1;return!0}if(Array.isArray(t)){for(let n of t)if(!e(n))break}return!1}(r)&&t.push([n,r]),t},[]));return rf(r.body,i.addVariables(t))}).bind(null);case"MemberExpression":return rv(rh(e,t));case"ArrayExpression":return a=e,s=t,a.elements?.map(rb(s));case"SequenceExpression":let k;return l=e,c=t,(k=l.expressions.map(rb(c)))[k.length-1];case"NewExpression":var S=e,j=t;if(S.callee&&"Identifier"===S.callee.type){let e=S.arguments?.map(rb(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,(rx(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,f=t,N=m.expressions?.map(rb(f))??[],(C=m.quasis?.map(rb(f))??[]).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:(p=e).cooked,tail:p.tail};default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function rp(e,t){switch(e.type){case"Literal":return e.value;case"Identifier":return e.name;case"MemberExpression":return rp(e.property,t);default:throw`VisitExpressionName does not support expression of type '${e.type}'`}}function rg(e,t){let n=ry(e.callee,t);if(n===r_||e.optional&&null==n)return r_;let o=e.arguments?.map(rb(t));if(n){if("function"!=typeof n)throw`${rj(e.callee)} is not a function`}else throw`No function named ${rj(e.callee)} is defined in this context`;return n(...o)}function rh(e,t){let n=ry(e.object,t);if(n===r_||e.optional&&null==n)return r_;if(null===n)throw TypeError(`TypeError: cannot read properties of null (reading '${rS(e.property,t)}')`);if(void 0===n)switch(e.object.type){case"Identifier":{let n=rp(e.object,t);throw ReferenceError(`ReferenceError: ${n} is not defined`)}case"MemberExpression":throw TypeError(`TypeError: cannot read properties of undefined (reading '${rS(e.property,t)}')`);default:throw`VisitMemberExpression does not support operator '${e.object.type}' type`}if("object"!=typeof n&&"function"!=typeof n&&"string"!=typeof n&&"number"!=typeof n)throw`VisitMemberExpression does not support member access on type ${typeof n}`;let o=e.computed?function(e){if(void 0===e)throw{type:"Illegal property access",message:"No property was supplied to the property access"};if("string"!=typeof e&&"number"!=typeof e)throw{type:"Illegal property access",message:`Cannot use a value of type ${null===e?"null":typeof e} as a property name`};return e}(rf(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);rx(o),function(e,t){if(rk.has(String(t)))return;let n=Object(e);for(;null!==n;){if(Object.hasOwn(n,t)){if(n===Object.prototype||n===Function.prototype)throw{type:"Illegal property access",message:`Cannot access the ${t} property of objects`};return}n=Object.getPrototypeOf(n)}}(n,o);let r=n[o];return"function"==typeof r?r.bind(n):r}function rw(e,t){let n={variables:{...e},globals:{...t},addVariables(e){return this.variables={...this.variables,...e},this}};return n.addVariables.bind(n),n}o2.A.plugins.register(o6.A),o2.A.plugins.register(o5.A),o2.A.plugins.register(o3.A),o2.A.plugins.register(o8.A),o2.A.plugins.register(o4.A),o2.A.plugins.register(o7.A),o2.A.addBinaryOp("in",7),o2.A.addBinaryOp("??",1);let r_=Symbol("optional chain short-circuited");function ry(e,t){switch(e.type){case"MemberExpression":return rh(e,t);case"CallExpression":return rg(e,t);default:return rf(e,t)}}function rv(e){return e===r_?void 0:e}function rb(e){return function(t){return null===t?null:rf(t,e)}}function rx(e){if("__proto__"===e||"prototype"===e||"constructor"===e)throw{type:"Illegal property access",message:`Cannot access the ${e} property of objects`}}let rk=new Set(["toString","valueOf","hasOwnProperty"]);function rS(e,t){try{return rp(e,t)}catch{return"<computed>"}}function rj(e){return e?"MemberExpression"===e.type?e.property?.name:e.name:null}function rN(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:{...re},isLocalExpression:!1,variables:new Set};return rC("string"==typeof e?(0,o2.A)(e):e,t),[...t.variables]}function rC(e,t){switch(e.type){case"UnaryExpression":return o=e,r=t,rC(o.argument,r);case"BinaryExpression":return i=e,a=t,[rC(i.left,a),rC(i.right,a)].filter(Boolean);case"ConditionalExpression":return s=e,l=t,[rC(s.consequent,l),rC(s.test,l),rC(s.alternate,l)].filter(Boolean);case"CallExpression":let n;return c=e,u=t,n=rC(c.callee,u),c.arguments?.map(rE(u)),n;case"ArrowFunctionExpression":var o,r,i,a,s,l,c,u,d,m,f,p,g,h,w,_,y=e,v=t;let b={...v};b.isLocalExpression=!0;let x=y.params?.map(rE(b))??[],k=rC(y.body,b)??[];if(k&&Array.isArray(k))for(let e of k)x.includes(e)||v.variables.add(e);return;case"MemberExpression":var S=e,j=t;if(rC(S.object,j),S.computed)return void rC(S.property,j);let N={...j};N.isLocalExpression=!0,rC(S.property,N);return;case"ArrayExpression":return d=e,m=t,void d.elements?.map(rE(m));case"SequenceExpression":return f=e,p=t,void f.expressions?.map(rE(p));case"NewExpression":return g=e,h=t,void g.arguments?.map(rE(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(rE(_)),w.quasis?.map(rE(_)));default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function rE(e){return function(t){return null===t?null:rC(t,e)}}let rO=U("feature-flags",{flags:function(){let e={};for(let t of Object.keys(localStorage))if(t.startsWith("openmrs:feature-flag:")){let n=t.replace("openmrs:feature-flag:",""),o=JSON.parse(localStorage.getItem(`openmrs:feature-flag-meta:${n}`)||"{}");e[n]={enabled:"true"===localStorage.getItem(t),...o}}return e}()});function rI(e,t,n){rO.setState(o=>({flags:{...o.flags,[e]:{enabled:o.flags[e]?.enabled??!1,label:t,description:n}}}))}function rA(){let e=rO.getState().flags;Object.keys(localStorage).filter(e=>e.startsWith("openmrs:feature-flag:")).forEach(t=>{let n=t.replace("openmrs:feature-flag:","");e[n]||(localStorage.removeItem(t),localStorage.removeItem(`openmrs:feature-flag-meta:${n}`))})}function rP(e){return rO.getState().flags[e].enabled}function rT(e,t){rO.subscribe(n=>{t(n.flags[e].enabled)})}function r$(e,t){rO.setState(n=>({flags:{...n.flags,[e]:{...n.flags[e],enabled:t}}}))}function rR(e){return!window.offlineEnabled||(e??navigator.onLine)}rO.subscribe(e=>{for(let[t,n]of Object.entries(e.flags))localStorage.setItem(`openmrs:feature-flag:${t}`,n.enabled.toString()),localStorage.setItem(`openmrs:feature-flag-meta:${t}`,JSON.stringify({label:n.label,description:n.description}))});var rM=n(1216);function rW(e=!0,t=!1){return rD(rR(),e,t)}function rD(e,t=!0,n=!1){return!!(e?t:n)}let rL=L("extensionsInternal",{slots:{},extensions:{}}),rB=L("extensionRenderings",{renderings:new Map}),rU=()=>U("extensionsInternal",{slots:{},extensions:{}}),rF=()=>U("extensionRenderings",{renderings:new Map});function rH(e){let t=rL.getState(),n=e(t);n!==t&&rL.setState(n)}let rz=null,rG=null;function rV(){let e=rB.getState();return rz&&e===rG||(rz=new Map(e.renderings),rG=e,function(e){for(let t of(r2.clear(),e.values()))r5(t,1);r6=!0}(rz)),rz}function rJ(e){rG={renderings:e},rB.setState(rG,!0)}function rq(e){let t=rV();t.has(e.renderingId)||(t.set(e.renderingId,e),r5(e,1),rJ(t))}function rK(e){let t=rV(),n=t.get(e);n&&(t.delete(e),r5(n,-1),rJ(t))}let rX=()=>U("extensions",{slots:{}}),rQ=0,rY=new Set;function rZ(e){rQ++;try{return e()}finally{if(0==--rQ&&rY.size>0){let e=Array.from(rY);for(let t of(rY.clear(),e))r0(t)}}}function r0(e){try{e()}catch(t){console.error(`The extension system's '${e.name}' recomputation failed`,t)}}function r1(e){rQ>0?rY.add(e):r0(e)}let r2=new Map,r6=!1;function r5(e,t){let n=JSON.stringify([e.slotName,e.extensionId,e.slotModuleName,e.extensionModuleName]),o=r2.get(n);if(!o){if(t<0)return;r2.set(n,{count:1,record:{slotModuleName:e.slotModuleName,extensionModuleName:e.extensionModuleName,slotName:e.slotName,extensionId:e.extensionId}}),r6=!0;return}o.count+=t,o.count<1&&(r2.delete(n),r6=!0)}function r3(){var e,t;if(rV(),!r6)return;r6=!1;let n=Array.from(r2.values(),({record:e})=>e);n.sort(r8),e=es.getState().mountedExtensions,t=n,e.length===t.length&&e.every((e,n)=>0===r8(e,t[n]))||es.setState({mountedExtensions:n})}function r8(e,t){return r4(e.slotName,t.slotName)||r4(e.extensionId,t.extensionId)||r4(e.slotModuleName,t.slotModuleName)||r4(e.extensionModuleName,t.extensionModuleName)}function r4(e,t){return e===t?0:e<t?-1:1}r3(),rB.subscribe(()=>r1(r3));let r7=rU(),r9=rX(),ie=ec(),it=em(),io=new Set,ir=!1;function ii(e){if(null===e)io=null;else if(null!==io)for(let t of e)io.add(t);r1(ia)}function ia(){if(!ir){ir=!0;try{for(let e=1;;e++){let t=io;if(null!==t&&0===t.size)return;io=new Set;try{!function(e,t,n,o,r,i=null){let a=r9.getState().slots,s={},l=!1,c=rR(),u=Object.entries(o.flags).filter(([,{enabled:e}])=>e).map(([e])=>e);for(let[o,d]of Object.entries(e.slots)){let m=a[o];if(m&&i&&!i.has(o)){s[o]=m;continue}let{config:f}=ed(t,d.name),p=function(e,t,n,o,r,i,a){let s=function(e,t){let n=e.add||[],o=e.remove||[],r=e.order||[],{extensions:i}=r7.getState();return[...t,...n].filter(e=>!o.includes(e)).sort((e,n)=>i_(e,r,i[iu(e)]?.order,t)-i_(n,r,i[iu(n)]?.order,t))}(n,t.slots[e].attachedIds),l=[];for(let c of s){let{config:s}=ep(o,e,c),u=eg(n,e,c),d=u?(0,rM.A)({},s,u):s,m=iu(c),f=t.extensions[m];if(f){let e=d?.["Display conditions"]?.privileges??f.privileges??[];if(e&&("string"==typeof e||Array.isArray(e)&&e.length>0)&&(!a?.user||!tL(e,a.user))||f.featureFlag&&!r.includes(f.featureFlag)||window.offlineEnabled&&!rD(i,f.online,f.offline))continue;l.push({id:c,name:m,moduleName:f.moduleName,config:d,featureFlag:f.featureFlag,meta:f.meta,online:d?.["Display conditions"]?.online??f.online??!0,offline:d?.["Display conditions"]?.offline??f.offline??!1,displayConditionExpression:d?.["Display conditions"]?.expression||f.displayExpression})}}return l}(o,e,f,n,u,c,r.session);m&&m.moduleName===d.moduleName&&(0,q.A)(m.candidateExtensions,p)?s[o]=m:(s[o]={moduleName:d.moduleName,candidateExtensions:p},l=!0)}(l||Object.keys(a).length!==Object.keys(s).length)&&r9.setState({slots:s})}(r7.getState(),ie.getState(),it.getState(),rO.getState(),tP.getState(),t)}catch(e){throw io=null===t||null===io?null:new Set([...t,...io]),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{ir=!1}}}function is(e,t){let n=new Set;for(let o of Object.keys(e))e[o]!==t[o]&&n.add(o);for(let o of Object.keys(t))o in e||n.add(o);return n}function il(){ii(null)}function ic(e,t){return{moduleName:t,name:e,attachedIds:[]}}function iu(e){let[t]=e.split("#");return t}function id(e,t){let n=iu(t);return e.extensions[n]}function im(e){return id(r7.getState(),e)}r7.subscribe((e,t)=>{ii(e.extensions!==t.extensions?null:is(e.slots,t.slots))}),ie.subscribe((e,t)=>{ii(is(e.slots,t.slots))}),it.subscribe((e,t)=>{ii(is(e.configs,t.configs))}),rO.subscribe(()=>ii(null)),tP.subscribe(()=>ii(null)),il(),l(il);let ip=e=>rH(t=>({...t,extensions:{...t.extensions,[e.name]:{...e}}}));function ig(e,t){rH(n=>{let o=n.slots[e];return o?{...n,slots:{...n.slots,[e]:{...o,attachedIds:[...o.attachedIds,t]}}}:{...n,slots:{...n.slots,[e]:{...ic(e),attachedIds:[t]}}}})}function ih(e,t){rH(n=>{let o=n.slots[e];return o&&o.attachedIds.includes(t)?{...n,slots:{...n.slots,[e]:{...o,attachedIds:o.attachedIds.filter(e=>e!==t)}}}:n})}function iw(e){rH(t=>{let n=t.slots[e];return n?{...t,slots:{...t.slots,[e]:{...n,attachedIds:[]}}}:t})}function i_(e,t,n,o){let r=t.indexOf(e);if(-1!==r)return r;{if(void 0!==n)return 1e3+n;let t=o.indexOf(e);return -1!==t?2e3+t:3e3}}function iy(e,t){return function(e,t,n=null,o){let r;return e.filter(e=>{let i=e.displayConditionExpression;if("string"!=typeof i||0===i.trim().length)return!0;r??(r=t&&"object"==typeof t?{session:n,...t}:{session:n});try{return!!ro(i,r)}catch(t){return console.error(`Error while evaluating expression '${i}' for ${e.id}`+(o?` in ${o}`:""),t),!1}})}(iv(e),t,tP.getState().session,e)}function iv(e){return r9.getState().slots[e]?.candidateExtensions??[]}let ib=(e,t)=>r7.setState(n=>{let o=n.slots[t]?.moduleName;if(o&&o!=e)return console.warn(`An extension slot with the name '${t}' already exists. Refusing to register the same slot name twice (in "registerExtensionSlot"). The existing one is from module ${o}.`),n;if(o&&o==e)return n;if(n.slots[t])return{...n,slots:{...n.slots,[t]:{...n.slots[t],moduleName:e}}};let r=ic(t,e);return{...n,slots:{...n.slots,[t]:{...r}}}}),ix=()=>{io=null,rH(()=>({slots:{},extensions:{}})),rF().setState({renderings:new Map}),r9.setState({slots:{}})},ik=L("left-nav",{slotName:null,basePath:window.spaBase,mode:"normal"});function iS({name:e,basePath:t,mode:n,componentContext:o,state:r}){ik.setState({slotName:e,basePath:t,mode:n??"normal",componentContext:o,state:r})}function ij(e){ik.getState().slotName===e&&ik.setState(ik.getInitialState(),!0)}let iN=L("modalRegistry",{modals:{}});function iC(e){iN.setState(t=>(t.modals[e.name]=e,t))}function iE(e){let t=iN.getState().modals[e];if(!t){let n=im(e);n&&(t={name:e,load:n.load,moduleName:n.moduleName},console.warn(`Modal ${e} was registered as an extension. This is deprecated and will be removed in the future. Please register it in the "modals" section of routes.json instead of the "extensions" section.`),iC(t))}return t}let iO=L("workspaceRegistrations",{workspaces:{}}),iI=L("workspaceGroups",{workspaceGroups:{}});function iA(e){iO.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 iP(e){iI.setState(t=>{let n=t.workspaceGroups[e.name];return n?{workspaceGroups:{...t.workspaceGroups,[e.name]:{...n,members:Array.from(new Set([...n.members,...e.members]))}}}:{workspaceGroups:{...t.workspaceGroups,[e.name]:{name:e.name,members:e.members}}}})}let iT=new Set;function i$(e){let t=iO.getState().workspaces;if(t[e])return t[e];{let t=im(e);if(t){var n;let o;return iT.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.`),iT.add(e)),{name:t.name,title:(n=t,"string"==typeof(o=n?.meta?.title)?o:o&&"object"==typeof o?tQ(n.moduleName,o.key,o.default):n.name),moduleName:t.moduleName,preferredWindowSize:t.meta?.screenSize??"normal",load:t.load,type:t.meta?.type??"form",canHide:t.meta?.canHide??!1,canMaximize:t.meta?.canMaximize??!1,width:t.meta?.width??"narrow",groups:t.meta?.groups??[]}}throw Error(`No workspace named '${e}' has been registered.`)}}function iR(e){let t=iI.getState().workspaceGroups;if(t[e])return t[e];throw Error(`No workspace group named '${e}' has been registered.`)}let iM=L("workspace2",{registeredGroupsByName:{},registeredWindowsByName:{},registeredWorkspacesByName:{},openedGroup:null,openedWindows:[],workspaceTitleByWorkspaceName:{},isMostRecentlyOpenedWindowHidden:!1});function iW(e){let{registeredWorkspacesByName:t,registeredWindowsByName:n}=iM.getState(),o=t[e];if(o){let t=n[o.window];if(t)return t;throw Error(`No workspace window found with name: ${o.window} for workspace: ${e}`)}throw Error(`No workspace found with name: ${e}`)}function iD(e){let{registeredGroupsByName:t,registeredWindowsByName:n}=iM.getState(),o=n[e];if(o){let n=t[o.group];if(n)return n;throw Error(`No workspace group found with name: ${o.group} for window: ${e}`)}throw Error(`No workspace window found with name: ${e}`)}function iL(e){let{openedWindows:t}=iM.getState();return t.findIndex(t=>t.openedWorkspaces.find(t=>t.workspaceName===e))}function iB(e,t){if(0==t.length)return;let{registeredGroupsByName:n}=iM.getState(),o={...n};for(let n of t){if(o[n.name])throw Error(`Cannot register workspace group ${n.name} more than once`);o[n.name]={...n,moduleName:e}}iM.setState({registeredGroupsByName:o})}function iU(e,t){if(0==t.length)return;let{registeredWindowsByName:n}=iM.getState(),o={...n};for(let n of t){if(o[n.name])throw Error(`Cannot register workspace window ${n.name} more than once`);let t={...n,moduleName:e};o[n.name]=t}iM.setState({registeredWindowsByName:o})}function iF(e,t){if(0==t.length)return;let{registeredWorkspacesByName:n}=iM.getState(),o={...n};for(let n of t){if(o[n.name])throw Error(`Cannot register workspace ${n.name} more than once`);let t={...n,moduleName:e};o[n.name]=t}iM.setState({registeredWorkspacesByName:o})}let iH=0,iz=null,iG={bootstrap:15e3,mount:15e3,unmount:15e3};function iV(e,t){if(e.timeouts)return e;let n=e.name??"parcel",o=Object.fromEntries(Object.keys(iG).filter(t=>e[t]).map(o=>{var r,i;let a,s;return[o,(r=e[o],i=iG[o],a=Array.isArray(r)?r:[r],s=e=>a.reduce((t,r,i)=>t.then(()=>{let t=r(e);return"function"==typeof t?.then&&"function"==typeof t?.catch?t:Promise.reject(Error(`Lifecycle function ${o} at array index ${i} for parcel ${n} did not return a promise`))}),Promise.resolve(void 0)),e=>{let r,a=new Promise((e,t)=>{r=setTimeout(()=>t(Error(`Lifecycle function ${o} for parcel ${n} did not settle within ${i}ms`)),i)});return Promise.race([s(e),a]).finally(()=>clearTimeout(r)).then(e=>(t(o,!1),e),e=>{throw t(o,!0),e})})]}));return{...e,...o}}async function iJ(e,t){var n,o;let r,i,a,s,l,c=await (iz??(iz=new Promise((e,t)=>{(0,tm.xL)({name:"openmrs-extension-host",bootstrap:()=>Promise.resolve(),mount:t=>(e(t.mountParcel),Promise.resolve()),unmount:()=>Promise.resolve()},{domElement:document.createElement("div")}).mountPromise.catch(t)}).catch(e=>(console.error("The host parcel used to mount extensions could not be mounted. Falling back to mounting extensions as root parcels, which leaks their DOM elements.",e),tm.xL))),iz),u={...t},d=(r=u,i=!1,{retarget:e=>r={...e},release:a=()=>(function(e){for(let t of Object.keys(e))delete e[t]})(r),onSettled(e,t){switch(e){case"bootstrap":t&&a();return;case"mount":i||(i=t);return;case"unmount":(t||i)&&a();return}}});return o=c((n=d.onSettled,"function"==typeof e?()=>e().then(e=>iV(e,n)):iV(e,n)),u),s=e=>t=>e.call(o,d.retarget(t)).catch(e=>{throw"SKIP_BECAUSE_BROKEN"===o.getStatus()&&d.release(),e}),l=o.update&&s(o.update),Object.defineProperty(o,"update",{configurable:!0,enumerable:!0,get:()=>l,set:e=>{l=e&&s(e)}})}function iq(){return iK}function iK(e,t){let n,o=iJ(e,t).then(e=>n=e);return{mount:()=>o.then(e=>e.mount()),unmount:()=>o.then(e=>e.unmount()),update:e=>o.then(t=>t.update?.(e)),getStatus:()=>n?.getStatus()??"LOADING_SOURCE_CODE",get loadPromise(){return o.then(e=>e.loadPromise)},get bootstrapPromise(){return o.then(e=>e.bootstrapPromise)},get mountPromise(){return o.then(e=>e.mountPromise)},get unmountPromise(){return o.then(e=>e.unmountPromise)}}}async function iX(e,t,n,o,r=e=>e,i={}){let a=iu(o),s=im(o),l=null;if(e){if(!s)throw Error(`Couldn't find extension '${a}' to attach to '${t}'`);let{meta:c,moduleName:u,online:d,offline:m,load:f}=s;if(rW(d,m)){let s,d=iH++,m=`${t}/${o}-${d}`;e.dataset.extensionRenderingId=m;let p=e=>{try{rK(m)}catch(t){console.error(e,t)}};try{rq({renderingId:m,extensionName:a,extensionModuleName:u,extensionId:o,slotName:t,slotModuleName:n})}catch(e){throw p(`Recomputing configuration after registering '${o}' failed also failed`),e}try{s=await f()}catch(e){throw p(`Recomputing configuration after '${o}' failed to load also failed`),e}try{l=await iJ(r({...s,name:`${t}/${a}-${d}`}),{...i,_meta:c,_extensionContext:{extensionId:o,extensionSlotName:t,extensionSlotModuleName:n,extensionModuleName:u},domElement:e})}catch(e){throw p(`Recomputing configuration after '${o}' failed to mount also failed`),e}l.mountPromise.then(void 0,e=>{console.error(`Extension '${o}' in slot '${t}' failed to mount`,e),p(`Recomputing configuration after '${o}' failed to mount also failed`)}),l.unmountPromise.then(()=>p(`Recomputing configuration after unmounting '${o}' failed`),e=>{console.error(`Extension '${o}' in slot '${t}' failed to unmount`,e),p(`Recomputing configuration after '${o}' failed to unmount also failed`)})}}else console.warn(`Tried to render ${o} into ${t} but no DOM element was available.`);return l}var iQ=n(6925),iY=n.n(iQ);let iZ=(0,iQ.createContext)({moduleName:"",featureName:""});function i0({to:e,templateParams:t,onBeforeNavigate:n,children:o,...r}){return(0,iQ.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}`)},[]),iY().createElement("a",{onClick:o=>{0===o.button&&!o.ctrlKey&&!o.shiftKey&&!o.altKey&&!o.metaKey&&(o.preventDefault(),n?.(o),tg({to:e,templateParams:t})),0===o.button&&(o.ctrlKey||o.metaKey)&&n?.(o),0===o.button&&o.shiftKey&&n?.(o),1===o.button&&n?.(o)},href:tf(e,t),...r},o)}let i1=({state:e,children:t,...n})=>{let{extension:o}=(0,iQ.useContext)(iZ),r=(0,iQ.useRef)(null),i=(0,iQ.useRef)(Promise.resolve()),a=(0,iQ.useRef)(!1),s=(0,iQ.useRef)(!1),l=(0,iQ.useRef)(e),c=(0,iQ.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,iQ.useCallback)((e,t)=>{e.update&&"UNMOUNTING"!==e.getStatus()&&(i.current=Promise.all([e.mountPromise,i.current]).then(()=>{if(r.current?.getStatus()==="MOUNTED"&&r.current.update)return r.current.update({...t})}).catch(e=>{let t=r.current?.getStatus();"UNMOUNTING"!==t&&"NOT_MOUNTED"!==t&&"UNLOADING"!==t&&console.error(`The extension '${o?.extensionId}' failed to update`,e)}))},[]),d=(0,iQ.useCallback)(t=>{t&&!r.current&&!s.current&&o?.extensionSlotName&&o.extensionSlotModuleName&&(s.current=!0,iX(t,o.extensionSlotName,o.extensionSlotModuleName,o.extensionId,void 0,e).then(t=>{(s.current=!1,r.current=t,a.current)?c(t):t&&l.current!==e&&u(t,l.current)},()=>{s.current=!1}))},[]);return(0,iQ.useEffect)(()=>(a.current=!1,()=>{a.current=!0,c(r.current)}),[]),(0,iQ.useEffect)(()=>{l.current=e,r.current&&u(r.current,e)},[e]),o?iY().createElement("div",{ref:d,"data-extension-id":o?.extensionId,style:{position:"relative"},...n}):null};function i2(e){let t=(0,iQ.useRef)(e);return E(t.current,e)||(t.current=e),t.current}function i6(e,t){"function"==typeof t&&(t=t(e));let n={};for(let[o,r]of Object.entries(t)){let t=function(...t){e.setState(e=>r(e,...t))};n[o]=t}return n}let i5=e=>e;function i3(e,t=i5,n){let o=(0,iQ.useCallback)(t=>e.subscribe(t),[e]),r=(0,iQ.useCallback)(()=>t(e.getState()),[e,t]),i=(0,iQ.useSyncExternalStore)(o,r,r),a=(0,iQ.useMemo)(()=>n?i6(e,n):null,[e,n]);return(0,iQ.useMemo)(()=>a?{...i,...a}:i,[i,a])}function i8(e,t){return i3(e,i5,t)}function i4(e){return function(t){let n=(0,iQ.useCallback)(t=>e.subscribe(t),[]),o=(0,iQ.useCallback)(()=>e.getState(),[]),r=(0,iQ.useSyncExternalStore)(n,o,o),i=(0,iQ.useMemo)(()=>t?i6(e,t):null,[t]);return(0,iQ.useMemo)(()=>i?{...r,...i}:r,[r,i])}}let i7=[];Object.freeze(i7);let i9={candidateExtensions:i7};Object.freeze(i9);let ae=e=>{let t=(0,iQ.useCallback)(t=>t.slots?.[e]??i9,[e]);return i3(rX(),t)},at=e=>e.session;function an(e,t){let{candidateExtensions:n}=ae(e),o=i3(tP,at),r=i2(t);return(0,iQ.useMemo)(()=>iy(e,r),[e,r,o,n])}function ao(e,t){let{moduleName:n}=(0,iQ.useContext)(iZ);if(!n)throw Error("ComponentContext has not been provided. This should come from @openmrs/esm-react-utils.");return(0,iQ.useEffect)(()=>{ib(n,e)},[n,e]),{extensions:an(e,t),extensionSlotName:e,extensionSlotModuleName:n}}function ar(e){return e}function ai({name:e,extensionSlotName:t,select:n=ar,children:o,state:r,style:i,...a}){if(o&&r)throw Error("Both children and state have been provided. If children are provided, the state must be passed as a prop to the `Extension` component.");let s=e??t,l=(0,iQ.useRef)(null),{extensions:c,extensionSlotModuleName:u}=ao(s,r),d=(0,iQ.useMemo)(()=>n(c),[n,c]),m=(0,iQ.useMemo)(()=>{if("function"==typeof o&&!iY().isValidElement(o))return d.map(e=>o(e,r))},[o,d]);return iY().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)=>iY().createElement(iZ.Provider,{key:e.id,value:{moduleName:u,featureName:"",extension:{extensionId:e.id,extensionSlotName:s,extensionSlotModuleName:u}}},m?.[t]??("function"!=typeof o?o:null)??iY().createElement(i1,{state:r}))))}var aa=n(3776),as=n(9568),al=n(9737),ac=n(2324),au=n(242);let ad={strictMode:!0,throwErrorsToConsole:!0,disableTranslations:!1},am=new Map;(0,au.y)(am);let af={errorRetryCount:3,fetcher:tO,focusThrottleInterval:18e5,revalidateIfStale:!0,revalidateOnFocus:!1,revalidateOnReconnect:!1,refreshInterval:0,shouldRetryOnError:e=>{if(e instanceof tA){let t=e.response.status;return!!(t>=500)||401===t||403===t||429===t}return!0},provider:()=>am};function ap(e){if("object"!=typeof e||"string"!=typeof e.featureName||"string"!=typeof e.moduleName)throw Error("Invalid options");let t=Object.assign({},ad,e),n={...af,...t.swrConfig};return function(e){var o,r,i,a,s;return i=r=class extends(o=iY().Component){componentDidCatch(e,n){n&&n.componentStack&&(e.extra=Object.assign(e.extra||{},{componentStack:n.componentStack})),t.throwErrorsToConsole&&setTimeout(()=>{throw e}),this.setState({caughtError:e,caughtErrorInfo:n})}render(){if(this.state.caughtError)return iY().createElement("div",null,"An error has occurred. Please try reloading the page.");{let o=iY().createElement(iQ.Suspense,{fallback:null},iY().createElement(ac.S,{value:n},iY().createElement(iZ.Provider,{value:this.state.config},t.disableTranslations?iY().createElement(e,this.props):iY().createElement(al.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},iY().createElement(e,this.props)))));return t.strictMode&&iY().StrictMode?iY().createElement(iY().StrictMode,null,o):o}}constructor(e){super(e),this.state={caughtError:null,caughtErrorInfo:null,config:{moduleName:t.moduleName,featureName:t.featureName,extension:e._extensionContext}}}},a="displayName",s=`OpenmrsReactComponent(${t.featureName})`,a in i?Object.defineProperty(i,a,{value:s,enumerable:!0,configurable:!0,writable:!0}):i[a]=s,r}}function ag(e,t){return(0,as.A)({React:iY(),ReactDOMClient:aa,rootComponent:ap(t)(e)})}function ah(e,t){return()=>e().then(({default:e})=>ag(e,t))}function aw(e,t){return()=>Promise.resolve(ag(e,t))}let a_=ah,ay=(0,T.y)()(()=>({}));B("openmrs-app-context",ay);let av={};function ab(e,t=e=>e){let n=ay.getState();return e in n?Object.freeze(Object.assign({},t?t(n[e]):n[e])):null}function ax(e,t){ay.setState(n=>(e in n||(n[e]={}),n[e]=t(n[e]),Object.assign({},n)))}function ak(e){return null===e?null:Object.freeze(Object.assign({},e))}let aS=new Map;function aj(e,t){let n=(0,iQ.useRef)(t??{}),o=(0,iQ.useRef)(t=>ax(e,t)),r=(0,iQ.useRef)(Symbol());return(0,iQ.useEffect)(()=>{let n=t??{},o=r.current;return null===ab(e)?!function(e,t=av){ay.setState(n=>{if(e in n)throw Error(`Attempted to re-register namespace ${e} in the app context. Each namespace must be unregistered before the name can be registered again.`);return Object.assign({},n,{[e]:t===av?{}:t})})}(e,n):(console.warn(`Namespace ${e} is already registered in the app context. This is likely a race condition during navigation, but may indicate two components are trying to own the same namespace. Updating the existing context.`),ax(e,()=>n)),aS.set(e,o),()=>{aS.get(e)===o&&(ay.setState(t=>(e in t&&delete t[e],t)),aS.delete(e))}},[e]),(0,iQ.useEffect)(()=>{let o=t??{};E(n.current,o)||(ax(e,()=>o),n.current=o)},[t]),o.current}function aN({namespace:e,value:t}){return aj(e,t),null}let aC=({children:e,value:t,fallback:n})=>t?iY().createElement(iY().Fragment,null,e):n?iY().createElement(iY().Fragment,null,n):null;function aE(){let e=(0,iQ.useRef)();return(!e.current||e.current.signal.aborted)&&(e.current=new AbortController),(0,iQ.useEffect)(()=>{let t=e.current;return()=>t?.abort()},[]),e.current}function aO(e,t=e=>e??{}){let[n,o]=(0,iQ.useState)(()=>{if(aI(e))return;let n=ab(e);if(null!==n)return t?t(n):n});return(0,iQ.useEffect)(()=>{if(aI(e))throw Error(`The namespace supplied to useAppContext must be a non-empty string, but was "${e}".`)},[e]),(0,iQ.useEffect)(()=>{var n;let r;return(n=e=>{if(null==e)return void o(void 0);let n=t?t(e):e;o(e=>E(e,n)?e:n)})(ak(r=ab(e))),ay.subscribe(t=>{let o=e in t?t[e]:null;o!==r&&(r=o,n(ak(o)))})},[e,t]),n}function aI(e){return"string"!=typeof e||0===e.trim().length}function aA(e){let t=an(e);return(0,iQ.useMemo)(()=>t.map(e=>e.id),[t])}function aP(e){return ae(e).candidateExtensions}function aT(e,t,n){let{data:o,error:r,mutate:i,isLoading:a,isValidating:s}=(0,ac.u)(e?nL(e,t,n):null,tO);return(0,iQ.useMemo)(()=>({isLoading:a,data:o?.data.results??[],error:r,mutate:i,isValidating:s}),[o,r,a,s,i])}function a$(e){(0,iQ.useEffect)(()=>{if(e){let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}},[e])}let aR={},aM=`No ComponentContext has been provided. This should come from "openmrsComponentDecorator".
16
+ Usually this is already applied when using "getAsyncLifecycle" or "getSyncLifecycle".`;function aW(e){let{moduleName:t,extension:n}=(0,iQ.useContext)(iZ),o=e?.externalModuleName??t;if(!o&&!n)throw Error(aM);let r=function(e){let t=(0,iQ.useMemo)(()=>el(e),[e]),n=function(e){let[t,n]=(0,iQ.useState)(()=>{let t=e.getState();return t.loaded&&t.config?t.config:null});return(0,iQ.useEffect)(()=>e?.subscribe(e=>{e.loaded&&e.config&&n(e.config)}),[e]),t}(t);if(!n)throw aR[e]||(aR[e]=new Promise(e=>{let n=t.subscribe(t=>{t.loaded&&t.config&&(e(t.config),n())})})),aR[e];return n}(o),i=function(e){let t=(0,iQ.useMemo)(em,[]),n=function(e,t){let[n,o]=(0,iQ.useState)(t?()=>{let n=ep(e.getState(),t.extensionSlotName,t.extensionId);if(n.loaded&&n.config)return n.config}:null);return(0,iQ.useEffect)(()=>{if(t)return e.subscribe(e=>{let r=ep(e,t.extensionSlotName,t.extensionId);r.loaded&&r.config&&!(0,q.A)(r.config,n)&&o(r.config)})},[e,t,n]),n}(t,e);if(!n&&e){let n=`${e.extensionSlotName}-${e.extensionId}`;throw!aR[n]&&t&&(aR[n]=new Promise(n=>{let o=t.subscribe(t=>{let r=ep(t,e.extensionSlotName,e.extensionId);r.loaded&&r.config&&(n(r.config),o())})})),aR[n]}return n||{}}(n);return(0,iQ.useMemo)(()=>e?.externalModuleName&&o===e.externalModuleName?{...r}:{...r,...i},[o,e?.externalModuleName,r,i])}let aD=an;function aL(){let[e,t]=(0,iQ.useState)(rR());return(0,iQ.useEffect)(()=>l(({online:e})=>t(e)),[]),e}function aB(e,t=300){let[n,o]=(0,iQ.useState)(e);return(0,iQ.useEffect)(()=>{let n=setTimeout(()=>{o(e)},t);return()=>{clearTimeout(n)}},[e,t]),n}var aU=n(6269);let aF=`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 aH(){let e=`${tj}/emrapi/configuration?v=${aF}`,t=(0,aU.A)(e,tO);return(0,iQ.useMemo)(()=>({emrConfiguration:t.data?.data,isLoadingEmrConfiguration:t.isLoading,mutateEmrConfiguration:t.mutate,errorFetchingEmrConfiguration:t.error}),[t])}let az=i4(rU());function aG(e){let t=an(e);return(0,iQ.useMemo)(()=>Object.fromEntries(t.map(e=>[e.name,e.meta])),[t])}let aV=i4(rX());function aJ(e){let{flags:t}=i3(rO);return t[e]?.enabled??!1}function aq(){let[,e]=(0,iQ.useState)(0);return(0,iQ.useCallback)(()=>{e(e=>e+1)},[])}function aK(e,t,n={}){return aQ(e,t,aX,n)}let aX={getPaginatedUrl:(e,t,n)=>{if(!e)return null;{let o=new URL(tE(e.toString()),window.location.toString());return o.searchParams.set("limit",""+t),o.searchParams.set("startIndex",""+n),o.searchParams.set("totalCount","true"),o.toString()}},getNextUrl:e=>{let t=e?.links?.find(e=>"next"==e.rel)?.uri;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.totalCount??NaN,getCurrentPageSize:e=>e?.results?.length??NaN,getData:e=>e?.results};function aQ(e,t,n,o={}){let{getPaginatedUrl:r,getTotalCount:i,getCurrentPageSize:a,getData:s}=n,{immutable:l,swrConfig:c}=o,u=o.fetcher??tO,[d,m]=(0,iQ.useState)(1),f=(0,iQ.useRef)(NaN),p=(0,iQ.useRef)(NaN),g=(0,iQ.useRef)(d),h=(0,iQ.useRef)(!1),w=(0,iQ.useRef)(!1),_=e?.toString()??"",[y,v]=(0,iQ.useState)(_);_!==y&&(v(_),m(1),g.current=1,f.current=NaN,p.current=NaN,h.current=!1,w.current=!1);let b=(d-1)*t,x=(0,iQ.useMemo)(()=>r(e,t,b),[e,t,b]),{data:k,...S}=(l?aU.A:ac.u)(x,u,c);k?.data&&(f.current=i(k?.data),p.current=a(k?.data),h.current=!0);let j=Math.ceil(f.current/t),N=(0,iQ.useCallback)(e=>{if(!Number.isInteger(e)||e<1)return void console.warn(`useServerPagination: ignoring goTo(${e}); page must be a positive integer.`);let n=Math.ceil(f.current/t);!h.current||Number.isNaN(n)||e<=n?(g.current=e,m(e)):console.warn("Invalid attempt to go to out of bounds page: "+e)},[t]);(0,iQ.useEffect)(()=>{if(!h.current)return;if(Number.isNaN(f.current)){w.current||(w.current=!0,console.warn(`useServerPagination: ${_} returned no total count, so out-of-range pages cannot be detected.`));return}let e=Math.max(1,Math.ceil(f.current/t));d>e&&(console.warn(`Invalid attempt to go to out of bounds page: ${d}; returning to page ${e}.`),g.current=e,m(e))},[d,t,_,k]);let C=(0,iQ.useCallback)(()=>{N(g.current+1)},[N]),E=(0,iQ.useCallback)(()=>{N(g.current-1)},[N]);return{data:s(k?.data),totalPages:j,totalCount:f.current,currentPage:d,currentPageSize:p.current,paginated:j>1,showNextButton:d<j,showPreviousButton:d>1,goTo:N,goToNext:C,goToPrevious:E,...S}}function aY(e,t,n={}){return aQ(e,t,aZ(),n)}function aZ(){return{getPaginatedUrl:(e,t,n)=>{if(!e)return null;{let o=new URL(tE(e.toString()),window.location.toString());return o.searchParams.set("_count",""+t),o.searchParams.set("_getpagesoffset",""+n),o.toString()}},getNextUrl:e=>{let t=e?.link?.find(e=>"next"==e.relation)?.url;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.total??NaN,getCurrentPageSize:e=>e?.entry?.length??NaN,getData:e=>e?.entry?.map(e=>e.resource)}}var a0=n(3709);function a1(e,t={}){return a2(e,aX,t)}function a2(e,t,n={}){let{swrInfiniteConfig:o,immutable:r}=n,{getNextUrl:i,getTotalCount:a,getData:s}=t,l=n.fetcher??tO,c=(0,iQ.useCallback)((n,o)=>0==n?e?.toString()??null:t.getNextUrl(o.data),[e]),{data:u,size:d,setSize:m,...f}=(0,a0.Ay)(c,l,{...o,...r?{revalidateIfStale:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1}:{}}),p=i(u?.[u.length-1].data),g=a(u?.[0]?.data);return{data:u?.flatMap(e=>s(e.data)),totalCount:g,hasMore:null!=p,loadMore:()=>{m((u?.length??0)+1)},nextUri:p,...f}}function a6(e,t={}){return a5(e,aX,t)}function a5(e,t,n={}){let o=a2(e,t,n),{hasMore:r,error:i,data:a,loadMore:s,isLoading:l,nextUri:c}=o;return((0,iQ.useEffect)(()=>{r&&!i&&s()},[r,c]),n.partialData)?o:{...o,data:r||i?void 0:a,isLoading:l||r}}function a3(e,t={}){return a5(e,aZ(),t)}function a8(e,t={}){return a2(e,aZ(),t)}function a4(){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 a7(){let[e,t]=(0,iQ.useState)(a4);return(0,iQ.useEffect)(()=>{let e=()=>{t(a4())};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}let a9=e=>"small-desktop"===e||"large-desktop"===e;function se(e){let t=(0,iQ.useContext)(iZ);(0,iQ.useEffect)(()=>(t&&t.moduleName&&(e.componentContext=t),iS(e),()=>{ij(e.name)}),[t,e])}function st(){return i3(ik)}function sn(e=null,t=null){let[n,o]=(0,iQ.useState)([]);return(0,iQ.useEffect)(()=>{let n=oH(e,t).subscribe(e=>{o(e)},e=>{console.error(e)});return()=>n.unsubscribe()},[e,t]),n}function so(e,t=!0){let n=(0,iQ.useRef)(null);return(0,iQ.useEffect)(()=>{let o=o=>{t&&n.current&&o.target&&o.target instanceof Node&&(n.current.contains(o.target)||e(o))};return window.addEventListener("mousedown",o),window.addEventListener("touchstart",o),()=>{window.removeEventListener("mousedown",o),window.removeEventListener("touchstart",o)}},[e,t]),n}function sr(e){let t=(0,iQ.useRef)();return(0,iQ.useEffect)(()=>{let n=new IntersectionObserver(t=>{for(let n of t)if(n.isIntersecting)return void e()},{threshold:1});return t.current&&n.observe(t.current),()=>{t.current&&n.unobserve(t.current)}},[t.current,e]),t}function si(e,t={}){let{abortController:n,fetchInit:o,url:r,swrConfig:i}=t,a=aE(),s=(0,iQ.useMemo)(()=>o?.signal??n?.signal??a.signal,[n?.signal,o?.signal,a.signal]),l=(0,iQ.useCallback)(e=>tO(function(e,t){if(t)return"function"==typeof t?t(e):t;if("string"==typeof e)return e;throw Error(`When using useOpenmrsSWR with a key that is not a string, you must provide a url() function that converts the key to a valid url. The key for this hook is ${e}.`)}(e,r),{...o,signal:s}),[s,o,r]);return(0,ac.u)(e,l,i)}function sa(e=[],t=10){let[n,o]=(0,iQ.useState)(1),r=(0,iQ.useMemo)(()=>"number"==typeof t&&t>0?Math.max(1,Math.ceil(e.length/t)):1,[e.length,t]);n>r&&o(r);let i=Math.min(Math.max(1,n),r),a=(0,iQ.useMemo)(()=>{let n=(i-1)*t,o=(i+0)*t;return e.slice(n,o)},[e,i,t]),s=(0,iQ.useCallback)(e=>{!Number.isInteger(e)||e<1?console.warn(`usePagination: ignoring goTo(${e}); page must be a positive integer.`):o(e)},[]),l=(0,iQ.useCallback)(()=>{o(e=>e+1)},[]),c=(0,iQ.useCallback)(()=>{o(e=>Math.max(1,e-1))},[]);return(0,iQ.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 ss(e,t,n,o){return{pageSizes:(0,iQ.useMemo)(()=>{let n=Math.ceil(t/e);return isNaN(n)&&(n=0),[...Array(n).keys()].map(t=>(t+1)*e)},[e,t]),pageItemsCount:(0,iQ.useMemo)(()=>e>t?t:e*n>t?e*(n-1)+o:e*n,[e,t,n,o])}}function sl(){let e=/\/patient\/([a-zA-Z0-9\-]+)\/?/.exec(location.pathname);return e&&e[1]}function sc(e){let[t,n]=(0,iQ.useState)(e??sl()),{data:o,error:r,isValidating:i}=(0,ac.u)(t?["patient",t]:null,()=>oW(t,{}));return(0,iQ.useEffect)(()=>{let e=()=>{let e=sl();e!==t&&n(e)};return window.addEventListener("single-spa:routing-event",e),()=>window.removeEventListener("single-spa:routing-event",e)},[t]),(0,iQ.useMemo)(()=>({isLoading:i&&!r&&!o,patient:o,patientUuid:t,error:r}),[i,r,o,t])}function su(){let e=`${tj}/metadatamapping/termmapping?v=custom:(metadataUuid)&code=emr.primaryIdentifierType`,{data:t,error:n,isLoading:o}=(0,ac.u)(e,tO);return(0,iQ.useMemo)(()=>({primaryIdentifierCode:t?.data?.results[0]?.metadataUuid,isLoading:o,error:n}),[t,n,o])}function sd(e){let{extensions:t,extensionSlotModuleName:n}=ao(e);return e?t.map(t=>({state:o})=>iY().createElement(iZ.Provider,{value:{moduleName:n,featureName:"",extension:{extensionId:t.id,extensionSlotName:e,extensionSlotModuleName:n}}},iY().createElement(i1,{state:o}))):[]}function sm(){let e=(0,iQ.useRef)(),[t,n]=(0,iQ.useState)(null),o=null;if(!t){if(r){let e=tR().getState();e.loaded&&(o=e.session)}else r=new Promise(t=>{let n=({loaded:n,session:r})=>{n&&(t(r),o=r,e.current&&(e.current(),e.current=void 0))};n(tR().getState()),o||(e.current=tR().subscribe(n))});if(o)n(o);else throw r}(0,iQ.useEffect)(()=>(e.current||(e.current=tR().subscribe(({loaded:e,session:t})=>{e&&(o=t,n(t))})),()=>{e.current&&(e.current(),e.current=void 0)}),[]);let i=t||o;if(!i)if(r)throw console.warn("useSession is in an unexpected state. Attempting to recover."),r;else throw Error("useSession is in an invalid state.");return i}let sf=({privilege:e,fallback:t,children:n})=>{let[o,r]=(0,iQ.useState)(null);return((0,iQ.useEffect)(()=>{let e=t$({includeAuthStatus:!1}).subscribe(r);return()=>e.unsubscribe()},[]),o&&tL(e,o))?iY().createElement(iY().Fragment,null,n):t?iY().createElement(iY().Fragment,null,t):null};var sp=n(4343),sg=n.n(sp),sh=n(3355);let sw=new Map;function s_(){for(let e of Array.from(sw.values()))e()}let sy={setVisitContext:(e,t)=>null==t?{manuallySetVisitUuid:null}:{manuallySetVisitUuid:t.uuid,patientUuid:t.patient?.uuid}};function sv(e){let t=(0,iQ.useId)();return(0,iQ.useEffect)(()=>{if(e)return sw.set(t,e),()=>{sw.delete(t)}},[t,e]),{...i8(oX(),sy),mutateVisit:s_}}function sb(e,t=oq){let n=(0,iQ.useRef)(void 0),{patientUuid:o,manuallySetVisitUuid:r,setVisitContext:i}=sv((0,iQ.useCallback)(()=>n.current?.(),[])),a=e&&o==e?r:null,s=`?patient=${e}&v=${t}&includeInactive=false`,l=`/${a}?v=${t}`,{data:c,error:u,mutate:d,isValidating:m}=(0,ac.u)(e?`${tj}/visit${s}`:null,tO),{data:f,error:p,mutate:g,isValidating:h}=(0,ac.u)(e&&a?`${tj}/visit${l}`:null,tO),w=(0,iQ.useMemo)(()=>c?.data.results.find(e=>null===e.stopDatetime)??null,[c]),_=(0,iQ.useMemo)(()=>a&&f?f.data:null,[f,a]),y=(0,iQ.useRef)(null);(0,iQ.useEffect)(()=>{!m&&w&&o===e&&null===r&&i(w),h||(y.current&&_&&y.current.uuid===_.uuid&&!y.current.stopDatetime&&_.stopDatetime&&i(null),y.current=_)},[_,r,w,m,h,o]);let v=(0,iQ.useCallback)(()=>{d(),g()},[d,g]);(0,iQ.useEffect)(()=>{n.current=v},[v]);let b=!!(!c||a&&!f),x=!!(a?p:u);return{error:u||p,mutate:v,isValidating:m||h,activeVisit:w,currentVisit:_,currentVisitIsRetrospective:!!a,isLoading:b&&!x}}function sx(){let[e,t]=(0,iQ.useState)([]);return(0,iQ.useEffect)(()=>{let e=oG().subscribe(e=>{t(e)},e=>console.error(e));return()=>e.unsubscribe()},[]),e}sp.extend(sh);let sk=new Map;async function sS(e,t){let n=t.indexOf("#"),o=n>=0,r=o?t.substring(0,n):e,i=o?t.substring(n+1):t,a=await nm(r);return a&&Object.hasOwn(a,i)&&"function"==typeof a[i]?sN(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`),sj)}let sj={bootstrap:()=>Promise.resolve(),mount:()=>Promise.resolve(),unmount:()=>Promise.resolve()};async function sN(e,t){if(e in sk)await sk[e];else{let n=t??await nm(e);await (sk[e]=new Promise((t,o)=>{if(Object.hasOwn(n,"startupApp")){let r=n.startupApp;if("function"==typeof r)return Promise.resolve(r()).then(()=>{eR(e),t(null)}).catch(o)}eR(e),t(null)}))}}function sC(e,t){let n=t.name;if(!n)return void console.error(`An extension definition in ${e} is missing an name and thus cannot be
17
17
  registered. To fix this, ensure that you define the "name" field inside the
18
18
  extension definition.`,t);t.slots&&t.slot&&console.warn(`The extension ${n} from ${e} declares both a 'slots' property and
19
19
  a 'slot' property. Only the 'slots' property will be honored.`);let o=t.slots?t.slots:t.slot?[t.slot]:[];if(!t.component)return void console.error(`The extension ${n} from ${e} is missing a 'component' entry and thus cannot be registered.
20
- To fix this, ensure that you define a 'component' field inside the extension definition.`,t);for(let r of(im({name:n,load:()=>sk(e,t.component),meta:t.meta||{},order:t.order,moduleName:e,privileges:t.privileges,online:t.online??!0,offline:t.offline??!1,featureFlag:t.featureFlag,displayExpression:t.displayExpression}),o))ip(r,n)}let sC=[];function sE(e,t){rY(()=>(function(e,t){if(e&&t&&"object"==typeof t){e$(e);let n=t.extensions??[],o=t.modals??[],r=t.workspaces??[],i=t.workspaceGroups??[],a=t.featureFlags??[],s=t.workspaceGroups2??[],l=t.workspaceWindows2??[],c=t.workspaces2??[];t.pages?.forEach(t=>{t&&"object"==typeof t&&Object.hasOwn(t,"component")&&(Object.hasOwn(t,"route")||Object.hasOwn(t,"routeRegex")||Object.hasOwn(t,"routes"))?sC.push({...t,appName:e}):console.warn(`A page for ${e} could not be registered as it does not appear to have the required properties`,t)}),n.forEach(t=>{t&&"object"==typeof t&&Object.hasOwn(t,"name")&&Object.hasOwn(t,"component")?sN(e,t):console.warn(`An extension for ${e} could not be registered as it does not appear to have the required properties`,t)}),o.forEach(t=>{if(t&&"object"==typeof t&&Object.hasOwn(t,"name")&&Object.hasOwn(t,"component")){let n;(n=t.name)?t.component?iN({name:n,moduleName:e,load:()=>sk(e,t.component)}):console.error(`The modal ${n} from ${e} is missing a 'component' entry and thus cannot be registered.
20
+ To fix this, ensure that you define a 'component' field inside the extension definition.`,t);for(let r of(ip({name:n,load:()=>sS(e,t.component),meta:t.meta||{},order:t.order,moduleName:e,privileges:t.privileges,online:t.online??!0,offline:t.offline??!1,featureFlag:t.featureFlag,displayExpression:t.displayExpression}),o))ig(r,n)}let sE=[];function sO(e,t){rZ(()=>(function(e,t){if(e&&t&&"object"==typeof t){e$(e);let n=t.extensions??[],o=t.modals??[],r=t.workspaces??[],i=t.workspaceGroups??[],a=t.featureFlags??[],s=t.workspaceGroups2??[],l=t.workspaceWindows2??[],c=t.workspaces2??[];t.pages?.forEach(t=>{t&&"object"==typeof t&&Object.hasOwn(t,"component")&&(Object.hasOwn(t,"route")||Object.hasOwn(t,"routeRegex")||Object.hasOwn(t,"routes"))?sE.push({...t,appName:e}):console.warn(`A page for ${e} could not be registered as it does not appear to have the required properties`,t)}),n.forEach(t=>{t&&"object"==typeof t&&Object.hasOwn(t,"name")&&Object.hasOwn(t,"component")?sC(e,t):console.warn(`An extension for ${e} could not be registered as it does not appear to have the required properties`,t)}),o.forEach(t=>{if(t&&"object"==typeof t&&Object.hasOwn(t,"name")&&Object.hasOwn(t,"component")){let n;(n=t.name)?t.component?iC({name:n,moduleName:e,load:()=>sS(e,t.component)}):console.error(`The modal ${n} from ${e} is missing a 'component' entry and thus cannot be registered.
21
21
  To fix this, ensure that you define a 'component' field inside the modal definition.`,t):console.error(`A modal definition in ${e} is missing an name and thus cannot be
22
22
  registered. To fix this, ensure that you define the "name" field inside the
23
23
  modal definition.`,t)}else console.warn(`A modal for ${e} could not be registered as it does not appear to have the required properties`,t)}),r.forEach(t=>{t&&"object"==typeof t&&Object.hasOwn(t,"name")&&Object.hasOwn(t,"component")?function(e,t){let n=t.name;if(!n)return console.error(`A workspace definition in ${e} is missing a name and thus cannot be registered.
24
24
  To fix this, ensure that you define the "name" field inside the workspace definition.`,t);let o=t.title;if(!o)return console.error(`A workspace definition in ${e} is missing a title and thus cannot be registered.
25
25
  To fix this, ensure that you define the "title" field inside the workspace definition.`,t);if(!t.component)return console.error(`The workspace ${n} from ${e} is missing a 'component' entry and thus cannot be registered.
26
- To fix this, ensure that you define a 'component' field inside the workspace definition.`,t);for(let r of(iI({name:n,title:o,component:t.component,moduleName:e,type:t.type,canHide:t.canHide,canMaximize:t.canMaximize,width:t.width,preferredWindowSize:t.preferredWindowSize,groups:t.groups,load:()=>sk(e,t.component)}),t.groups||[]))iA({name:r,members:[n]})}(e,t):console.warn(`A workspace for ${e} could not be registered as it does not appear to have the required properties`,t)}),i.forEach(t=>{if(t&&"object"==typeof t&&Object.hasOwn(t,"name")){let n;(n=t.name)?iA({name:n,members:t.members??[]}):console.error(`A workspace group definition in ${e} is missing a name and thus cannot be registered.
27
- To fix this, ensure that you define the "name" field inside the workspace definition.`,t)}else console.warn(`A workspace group for ${e} could not be registered as it does not appear to have the required properties`,t)}),iL(e,s);for(let t of(iB(e,l),l))t.icon&&sN(e,{name:t.name,component:t.icon,slot:t.group,order:t.order});iU(e,c),a.forEach(t=>{if(t&&"object"==typeof t&&Object.hasOwn(t,"flagName"))t.flagName?t.label?t.description?rO(t.flagName,t.label,t.description):console.error(`A feature flag definition in ${e} is missing a description and thus cannot be registered.
26
+ To fix this, ensure that you define a 'component' field inside the workspace definition.`,t);for(let r of(iA({name:n,title:o,component:t.component,moduleName:e,type:t.type,canHide:t.canHide,canMaximize:t.canMaximize,width:t.width,preferredWindowSize:t.preferredWindowSize,groups:t.groups,load:()=>sS(e,t.component)}),t.groups||[]))iP({name:r,members:[n]})}(e,t):console.warn(`A workspace for ${e} could not be registered as it does not appear to have the required properties`,t)}),i.forEach(t=>{if(t&&"object"==typeof t&&Object.hasOwn(t,"name")){let n;(n=t.name)?iP({name:n,members:t.members??[]}):console.error(`A workspace group definition in ${e} is missing a name and thus cannot be registered.
27
+ To fix this, ensure that you define the "name" field inside the workspace definition.`,t)}else console.warn(`A workspace group for ${e} could not be registered as it does not appear to have the required properties`,t)}),iB(e,s);for(let t of(iU(e,l),l))t.icon&&sC(e,{name:t.name,component:t.icon,slot:t.group,order:t.order});iF(e,c),a.forEach(t=>{if(t&&"object"==typeof t&&Object.hasOwn(t,"flagName"))t.flagName?t.label?t.description?rI(t.flagName,t.label,t.description):console.error(`A feature flag definition in ${e} is missing a description and thus cannot be registered.
28
28
  To fix this, ensure that you define the "description" field inside the feature flag definition.`,t):console.error(`A feature flag definition in ${e} is missing a description and thus cannot be registered.
29
29
  To fix this, ensure that you define the "label" field inside the feature flag definition.`,t):console.error(`A feature flag definition in ${e} is missing a name and thus cannot be registered.
30
- To fix this, ensure that you define the "name" field inside the feature flag definition.`,t);else console.warn(`A feature flag for ${e} could not be registered as it does not appear to have the required properties`,t)})}})(e,t))}function sO(){sC.sort((e,t)=>e.appName.localeCompare(t.appName,"en"));let e=new Map;for(let t of sC){e.has(t.appName)?e.set(t.appName,e.get(t.appName)+1):e.set(t.appName,0);let n=e.get(t.appName),o=`${t.appName}-page-${n}`,r=t.containerDomId??"omrs-apps-container",i=document.getElementById(r),a=`single-spa-application:${o}`;if(i){let e=document.createElement("div");e.id=a,i?.appendChild(e)}else throw Error(`${t.appName} ${t.component} cannot be mounted to "${r}"; DOM element does not exist.`);!function(e,t){let n=void 0!==t.route?t.route:void 0!==t.routeRegex&&new RegExp(t.routeRegex);if(!1===n)return console.warn(`A registered page definition is missing a route and thus cannot be registered.
30
+ To fix this, ensure that you define the "name" field inside the feature flag definition.`,t);else console.warn(`A feature flag for ${e} could not be registered as it does not appear to have the required properties`,t)})}})(e,t))}function sI(){sE.sort((e,t)=>e.appName.localeCompare(t.appName,"en"));let e=new Map;for(let t of sE){e.has(t.appName)?e.set(t.appName,e.get(t.appName)+1):e.set(t.appName,0);let n=e.get(t.appName),o=`${t.appName}-page-${n}`,r=t.containerDomId??"omrs-apps-container",i=document.getElementById(r),a=`single-spa-application:${o}`;if(i){let e=document.createElement("div");e.id=a,i?.appendChild(e)}else throw Error(`${t.appName} ${t.component} cannot be mounted to "${r}"; DOM element does not exist.`);!function(e,t){let n=void 0!==t.route?t.route:void 0!==t.routeRegex&&new RegExp(t.routeRegex);if(!1===n)return console.warn(`A registered page definition is missing a route and thus cannot be registered.
31
31
  To fix this, ensure that you define the "route" (or alternatively the "routeRegex") field inside the extension definition.`,e);if(!t.component)return console.warn(`A registered page definition is missing a component and thus cannot be registered.
32
- To fix this, ensure that you define the "component" field inside the page definition.`,e);let o=function(e,{online:t,offline:n,featureFlag:o}){return window.offlineEnabled?r=>!!(navigator.onLine&&(t??!0)||!navigator.onLine&&n)&&(!o||!!rA(o))&&e(r):e}(function e(t){if(Array.isArray(t)){let n=t.map(e);return e=>n.some(t=>t(e))}return"string"==typeof t?(0,tm.fz)(window.getOpenmrsSpaBase()+t):t instanceof RegExp?e=>t.test(e.pathname.replace(window.getOpenmrsSpaBase(),"")):()=>t}(n),t);(0,tm.AG)(e,()=>sk(t.appName,t.component),o)}(o,t)}}let sI={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 sA(){document.body.classList.toggle("omrs-breakpoint-lt-tablet",window.innerWidth<sI.TABLET_MIN),document.body.classList.toggle("omrs-breakpoint-gt-phone",window.innerWidth>sI.PHONE_MAX),document.body.classList.toggle("omrs-breakpoint-gt-tablet",window.innerWidth>sI.TABLET_MAX),document.body.classList.toggle("omrs-breakpoint-lt-desktop",window.innerWidth<sI.SMALL_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-lt-small-desktop",window.innerWidth<sI.SMALL_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-lt-large-desktop",window.innerWidth<sI.LARGE_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-gt-small-desktop",window.innerWidth>sI.SMALL_DESKTOP_MAX)}let sP=!1;function sT(){sP||(window.addEventListener("resize",sA),sA(),sP=!0)}var s$=n(6870),sR=n(5530),sM=n.n(sR);function sW({title:e,children:t}){let n="tablet"===a4();return(0,s$.jsxs)("div",{className:sM()({"-esm-devtools__card-header-module__tabletHeader___Vkmd-":n,"-esm-devtools__card-header-module__desktopHeader___ocWGq":!n}),children:[(0,s$.jsx)("h4",{children:e}),t]})}let sD=["red","magenta","purple","blue","teal","cyan","gray","green","warm-gray","cool-gray","high-contrast","outline"],sL={primaryColor:{_type:Q.String,_description:"The color for displaying primary diagnoses tags",_default:"red",_validators:[to.oneOf(sD)]},secondaryColor:{_type:Q.String,_description:"The color for displaying secondary diagnoses tags",_default:"blue",_validators:[to.oneOf(sD)]}},sB={"Brand color #1":{_default:"#005d5d",_type:Q.String},"Brand color #2":{_default:"#004144",_type:Q.String},"Brand color #3":{_default:"#007d79",_type:Q.String},excludePatientIdentifierCodeTypes:{uuids:{_type:Q.Array,_description:"List of UUIDs of patient identifier types to exclude from rendering in the patient banner",_default:[],_elements:{_type:Q.UUID}}},implementationName:{_type:Q.String,_description:"A name of the place (or authority) where all possible locations a user can choose are located.",_default:"Clinic"},patientPhotoConceptUuid:{_type:Q.ConceptUuid,_default:"736e8771-e501-4615-bfa7-570c03f4bef5",_description:"Used to look up the patient photo, which is stored as an attachment obs. Set to `null` in order to disable the feature and use only generated avatars. To remove the avatars entirely, use extension configuration's `remove` feature."},preferredCalendar:{_type:Q.Object,_description:"Keys should be locale codes, and values should be the preferred calendar for that locale. For example, {'am': 'ethiopic'}.",_default:{am:"ethiopic"},_elements:{_validators:[to.oneOf(["buddhist","chinese","coptic","dangi","ethioaa","ethiopic","gregory","hebrew","indian","islamic","islamic-umalqura","islamic-tbla","islamic-civil","islamic-rgsa","iso8601","japanese","persian","roc","islamicc"])]}},preferredDateLocale:{_type:Q.Object,_description:"Allows setting the locale used for date formatting for any browser locale. Does not affect time formatting. Keys should be locale codes, and values should be the preferred locale for formatting dates. For example, {'en': 'en-US', 'fr-CA': 'en-CA'}.",_default:{en:"en-GB"},_elements:{_type:Q.String}},diagnosisTags:sL};var sU=n(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 n=sF[e];return n?tY(n,e,t):e},...e}),sz="-esm-devtools__custom-overflow-menu-module__container___8PykS",sG="-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,iX.createContext)(null);function sK(){let e=(0,iX.useContext)(sq);if(!e)throw Error("useCustomOverflowMenu must be used within a CustomOverflowMenu");return e}function sX({menuTitle:e,children:t}){let[n,o]=iQ().useState(!1),r=sn(()=>o(!1),n),i="tablet"===a4(),a=(0,iX.useCallback)(()=>o(e=>!e),[]),s=(0,iX.useRef)(null),l=(0,iX.useRef)(null),c=(0,iX.useId)(),u=`custom-overflow-menu-trigger-${c}`,d=`custom-overflow-menu-${c}`,m=(0,iX.useCallback)(()=>{o(!1),s.current?.focus()},[]),f=(0,iX.useMemo)(()=>({closeMenu:m}),[m]),p=(0,iX.useCallback)(e=>{"Escape"===e.key&&n&&(e.stopPropagation(),m())},[m,n]),g=iX.Children.toArray(t);(0,iX.useEffect)(()=>{if(n&&l.current){let e=l.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[n]);let h=(0,iX.useCallback)(({currentIndex:e,direction:t})=>{let n=l.current?.querySelectorAll('[role="menuitem"]:not([disabled])');if(!n?.length)return;let o=document.activeElement?.closest?.('[role="menuitem"]')??document.activeElement,r=Array.from(n).indexOf(o);if(-1===r)return void n[t>0?0:n.length-1]?.focus();let i=r+t,a=i<0?n.length-1:i>=n.length?0:i;n[a]?.focus()},[]),w=g.map((e,t)=>(0,iX.isValidElement)(e)?(0,iX.cloneElement)(e,{closeMenu:m,handleOverflowMenuItemFocus:h,index:t}):e);return(0,s$.jsxs)("div",{"data-overflow-menu":!0,className:sM()("cds--overflow-menu",sz),ref:r,children:[(0,s$.jsx)("button",{className:sM()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":n},sJ),"aria-controls":d,"aria-expanded":n,"aria-haspopup":"true",id:u,onClick:a,onKeyDown:p,ref:s,children:e}),(0,s$.jsxs)("div",{className:sM()("cds--overflow-menu-options","cds--overflow-menu--flip",sG,{[sV]:n}),"aria-labelledby":u,"data-floating-menu-direction":"bottom",id:d,onKeyDown:p,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:f,children:w})}),(0,s$.jsx)("span",{})]})]})}function sQ(e){let t=(0,iX.useContext)(sq);return(0,s$.jsx)(sU.OverflowMenuItem,{...e,closeMenu:t?.closeMenu})}var sY=n(2277),sZ=n(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,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-activity",iconProps:e})})),s2=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-add",iconProps:e})})),s6=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-arrow-down",iconProps:e})})),s5=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-arrow-left",iconProps:e})})),s3=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-arrow-right",iconProps:e})})),s8=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-arrow-up",iconProps:e})})),s4=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-baby",iconProps:e})})),s7=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-calendar-heat-map",iconProps:e})})),s9=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-calendar",iconProps:e})})),le=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-caret-down",iconProps:e})})),lt=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-caret-left",iconProps:e})})),ln=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-caret-right",iconProps:e})})),lo=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-caret-up",iconProps:e})})),lr=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-chart-average",iconProps:e})})),li=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-chart-line",iconProps:e})})),la=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-checkmark-filled",iconProps:e})})),ls=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-checkmark-outline",iconProps:e})})),ll=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-chemistry",iconProps:e})})),lc=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-chevron-down",iconProps:e})})),lu=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-chevron-left",iconProps:e})})),ld=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-chevron-right",iconProps:e})})),lm=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-chevron-up",iconProps:e})})),lf=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-close",iconProps:e})})),lp=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-close-filled",iconProps:e})})),lg=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-close-outline",iconProps:e})})),lh=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-document",iconProps:e})})),lw=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-document-attachment",iconProps:e})})),l_=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-download",iconProps:e})})),ly=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-drug-order",iconProps:e})})),lv=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-edit",iconProps:e})})),lb=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-event-schedule",iconProps:e})})),lx=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-events",iconProps:e})})),lk=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-gender-female",iconProps:e})})),lS=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-gender-male",iconProps:e})})),lj=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-gender-other",iconProps:e})})),lN=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-gender-unknown",iconProps:e})})),lC=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-generic-order-type",iconProps:e})})),lE=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-group",iconProps:e})})),lO=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-group-access",iconProps:e})})),lI=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-hospital-bed",iconProps:e})})),lA=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-image-medical",iconProps:e})})),lP=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-information",iconProps:e})})),lT=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-information-filled",iconProps:e})})),l$=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-information-square",iconProps:e})})),lR=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-inventory-management",iconProps:e})})),lM=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-lab-order",iconProps:e})})),lW=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-list-checked",iconProps:e})})),lD=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-location",iconProps:e})})),lL=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-material-order",iconProps:e})})),lB=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-maximize",iconProps:e})})),lU=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-medication",iconProps:e})})),lF=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-message-queue",iconProps:e})})),lH=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-microscope",iconProps:e})})),lz=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-mobile-check",iconProps:e})})),lG=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-money",iconProps:e})})),lV=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-mother",iconProps:e})})),lJ=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-movement",iconProps:e})})),lq=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),lK=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),lX=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-password",iconProps:e})})),lQ=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-pedestrian-family",iconProps:e})})),lY=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-pen",iconProps:e})})),lZ=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-printer",iconProps:e})})),l0=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-procedure-order",iconProps:e})})),l1=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-programs",iconProps:e})})),l2=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-referral-order",iconProps:e})})),l6=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-renew",iconProps:e})})),l5=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-report",iconProps:e})})),l3=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-reset",iconProps:e})})),l8=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-save",iconProps:e})})),l4=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-search",iconProps:e})})),l7=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-settings",iconProps:e})})),l9=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-switcher",iconProps:e})})),ce=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-shopping-cart",iconProps:e})})),ct=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-shopping-cart--arrow-down",iconProps:e})})),cn=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-sticky-note-add",iconProps:e})})),co=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-syringe",iconProps:e})})),cr=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-table-of-contents",iconProps:e})})),ci=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-table",iconProps:e})})),ca=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-time",iconProps:e})})),cs=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-tools",iconProps:e})})),cl=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-translate",iconProps:e})})),cc=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-trash-can",iconProps:e})})),cu=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-tree-view--alt",iconProps:e})})),cd=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-two-factor-authentication",iconProps:e})})),cm=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-user-avatar",iconProps:e})})),cf=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-user-follow",iconProps:e})})),cp=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-user-xray",iconProps:e})})),cg=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-user",iconProps:e})})),ch=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-view-off",iconProps:e})})),cw=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-view",iconProps:e})})),c_=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(cj,{ref:t,icon:"omrs-icon-warning",iconProps:e})})),cy=c_,cv=lw,cb=lW,cx=lA,ck=ct,cS=(0,iX.memo)((0,iX.forwardRef)(function({icon:e,fallback:t,...n},o){let r=(0,iX.useRef)(e?document.getElementById(e):void 0);return(0,iX.useEffect)(()=>{let t=document.getElementById("omrs-svgs-container"),n=new MutationObserver(t=>{for(let n of t)"childList"===n.type&&(r.current=e?document.getElementById(e):void 0)});return t&&n.observe(t,{childList:!0}),()=>n.disconnect()},[e]),(0,s$.jsx)(aN,{value:r.current,fallback:t,children:(0,s$.jsx)(cj,{ref:o,icon:e,iconProps:n})})})),cj=(0,iX.memo)((0,iX.forwardRef)(function({icon:e,iconProps:t},n){let{className:o,fill:r,size:i}=Object.assign({},{fill:"currentColor",size:20},t);(i<=0||i>72)&&(console.error(`Invalid size '${i}' specified for ${e}. Defaulting to 20.`),i=20);let a=(0,iX.useRef)(null);return(0,iX.useImperativeHandle)(n,()=>a.current),(0,iX.useEffect)(()=>{a.current&&"currentColor"!==r&&a.current.style.setProperty("--omrs-icon-fill",r)},[]),(0,s$.jsx)("svg",{ref:a,className:sM()("omrs-icon","-esm-devtools__icons-module__icon___BfFhd",o),height:i,width:i,viewBox:"0 0 16 16",children:(0,s$.jsx)("use",{href:`#${e}`})})})),cN=({path:e,title:t,basePath:n,icon:o})=>{let{t:r}=(0,as.useTranslation)(),i=(0,sY.zy)(),a=(0,iX.useMemo)(()=>{if(!e)return!1;let t=e.startsWith("/")?e.slice(1):e;if(t.startsWith("http"))return t===window.location.href;let n=t.split("/").map(e=>decodeURIComponent(e)),o=(i.pathname??"").split("/").slice(1).map(e=>decodeURIComponent(e));return o.some((e,t)=>n.every((e,n)=>o[t+n]===e))},[i.pathname,e]);return(0,s$.jsx)("div",{children:(0,s$.jsx)(iZ,{className:sM()("cds--side-nav__link",{"active-left-nav-link":a}),to:`${n}/${encodeURIComponent(e)}`,children:(0,s$.jsxs)("span",{className:"-esm-devtools__dashboard-module__menu___ds1tf",children:[(0,s$.jsx)(cS,{icon:o,className:"-esm-devtools__dashboard-module__icon___4Zrrh",size:16}),(0,s$.jsx)("span",{children:r(t)})]})})},e)};function cC(e){return function({basePath:t}){return(0,s$.jsx)(sZ.Kd,{children:(0,s$.jsx)(cN,{basePath:t,...e})})}}var cE=n(7715),cO=n(7532),cI=n(3692),cA=n(7615),cP=n(700),cT=n(6816),c$=n(1168);function cR(e){return iQ().createElement(c$.C,e)}var cM=n(3010),cW=n(6513),cD=n(6190);function cL(e,t,n=!1){if(null==e)return n?e:void 0;if("string"==typeof e&&!e)return n?null:void 0;if(e instanceof cM.ng||e instanceof cM._l||e instanceof cM.Ip)return t?(0,cW.yP)(e,t):e;{let n=sp()(e).toDate(),o=new cM.ng(n.getFullYear(),n.getMonth()+1,n.getDate());return t?(0,cW.yP)(o,t):o}}function cB(e){if(e)return e.toDate((0,cD.Xj)())}var cU=n(9002);function cF(e){if("string"==typeof e&&0!==e.trim().length)try{return new Intl.Locale(e.replace(/[_@]/g,"-")).toString()}catch{return}}function cH(e){let t=e??"",n=cF(t);if(!n)return t;try{return new Intl.DisplayNames([n],{type:"language"}).of(n)??t}catch{return t}}function cz(){let e=window.i18next.language,t=cF(e)??e;return"ht"===t&&(t="fr-HT"),t}var cG=n(7883),cV=n(424),cJ=n(1492),cq=n(8271);function cK(e,t){var n=function(e,t){if(!t.has(e))throw TypeError("attempted to get private field on non-instance");return t.get(e)}(e,t);return n.get?n.get.call(e):n.value}sf.extend(sg),sf.extend(cJ),sf.extend(cV);let cX="YYYY-MM-DDTHH:mm:ss.SSSZZ";function cQ(e){return null!=e&&28===e.trim().length&&"T"===(e=e.trim())[10]&&":"===e[13]&&":"===e[16]&&"."===e[19]&&("+"===e[23]||"-"===e[23])&&sf(e,cX).isValid()}function cY(e){return sf(e).isToday()}function cZ(e){return cQ(e)?sf(e,cX).toDate():null}function c0(e,t=!1){let n=sf(e);return t&&(n=n.utc()),n.format(cX)}function c1(e){return sf(e).toDate()}var c2=new WeakMap;let c6=new class{register(e,t){cK(this,c2).set(e,t)}getCalendar(e){if(!e)return;if(e.calendar)return e.calendar;if(e.region){let t=`${e.language}-${e.region}`;if(cK(this,c2).has(t))return cK(this,c2).get(t)}if(e.language&&cK(this,c2).has(e.language))return cK(this,c2).get(e.language);let t=new Intl.DateTimeFormat(e.toString()).resolvedOptions().calendar;return cK(this,c2).set(`${e.language}${e.region?`-${e.region}`:""}`,t),t}constructor(){!function(e,t,n){if(t.has(e))throw TypeError("Cannot initialize the same private elements twice on an object");t.set(e,n)}(this,c2,{writable:!0,value:new Map})}};function c5(e,t){c6.register(e,t)}function c3(e){let t=e??cz();return c6.getCalendar(t instanceof Intl.Locale?t:new Intl.Locale(t))}let c8={mode:"standard",time:"for today",day:!0,month:!0,year:!0,noToday:!1};function c4(e,t={}){let n=cz(),o=(0,cG.CD)(e,n);if(o.invalid)return console.warn(`Could not parse invalid date '${e}'`),null;!(0,cq.A)(o.day)&&(0,cq.A)(o.month)&&(o=Object.assign({},(0,K.A)(o,"day"),{month:o.day})),o.month&&(o.month-=1),o.day&&(o=Object.assign({},(0,K.A)(o,"day"),{date:o.day}));let r=sf().set(o).toDate();return(0,cq.A)(o.year)&&(t.year=!1),(0,cq.A)(o.month)&&(t.month=!1),(0,cq.A)(o.date)&&(t.day=!1),c7(r,t)}function c7(e,t){let n,o=t?.locale??cz(),r=new Intl.Locale(o),{calendar:i,mode:a,time:s,day:l,month:c,year:u,noToday:d,numberingSystem:m}={...c8,...{noToday:"am"===r.language},...t},f={calendar:i??c3(r),year:u?"numeric":void 0,month:c?"short":void 0,day:l?"2-digit":void 0,numberingSystem:m},p=sf(e).isToday();if(p&&!d)n=(n=new Intl.RelativeTimeFormat(o,{numeric:"auto"}).format(0,"day"))[0].toLocaleUpperCase(o)+n.slice(1);else{"en"===r.language&&(o="en-GB");let t=new Intl.DateTimeFormat(o,f).formatToParts(e);("en"===r.language||"am"===r.language)&&"standard"==a&&u&&l&&(t=t.map(c9("-"))),"wide"==a&&(t=t.map(c9(" — "))),"ethiopic"===f.calendar&&(t=t.filter((e,t,n)=>"era"!==e.type&&("literal"!==e.type||!(t<n.length-1)||"era"!==n[t+1].type))),n=t.map(e=>e.value).join("")}return(!0===s||p&&"for today"===s)&&(n+=`, ${ue(e)}`),n}let c9=e=>(t,n,o)=>"literal"!==t.type||" "!==t.value||n<o.length-1&&"era"===o[n+1].type?t:{type:"literal",value:e};function ue(e){return e.toLocaleTimeString(cz(),{hour:"2-digit",minute:"2-digit"})}function ut(e,t){return c7(e,{...t,time:!0})}function un(e,t){let n=c3("string"==typeof t?new Intl.Locale(t):t);return n?(0,cW.yP)(e,(0,cU.d)(n)):e}function uo(e,t){return new Intl.DurationFormat(cz(),t).format(e)}function ur(e,t){if(null==e)return null;if("string"==typeof e){let n=cz(),o=(0,cG.CD)(e,n);return o.invalid?(console.warn(`Could not interpret '${e}' as a date`),null):(o.day&&!o.month&&(o={...(0,K.A)(o,"day"),...{month:o.day}}),o.month&&(o.month-=1),o.day&&(o={...(0,K.A)(o,"day"),...{date:o.day}}),sf(t).set(o))}return sf(e)}let ui=["years","months","days","hours","minutes","seconds"],ua={second:"seconds",minute:"minutes",hour:"hours",day:"days",month:"months",year:"years"},us={seconds:45,minutes:45,hours:22,days:26,months:11,years:1/0};function ul(e,t=sf(),n){let o,r=sf(t),i=ur(e,r);if(null==i)return null;if("string"==typeof n){let e=ua[n]??n;return{[e]:r.diff(i,e)}}let{thresholds:a,largestUnit:s,smallestUnit:l}=n??{};if(void 0!==s||void 0!==l){let e,t=l?ua[l]??l:void 0;return e="auto"===s||void 0===s?function(e,t,n){let o=ui.indexOf(n);for(let r=0;r<ui.length;r++){let i=ui[r];if(t.diff(e,i)>0)return r<=o?i:n}return n}(i,r,t??"seconds"):ua[s]??s,function(e,t,n,o){let r=ui.indexOf(n),i=ui.indexOf(o),a=ui.slice(r,i+1),s={},l=e;for(let e of a){let n=t.diff(l,e);s[e]=n,l=l.add(n,e)}return s}(i,r,e,t??e)}let c=(o=function(e){let t={...us};if(e)for(let[n,o]of Object.entries(e))void 0!==o&&(t[ua[n]??n]=o);return t}(a),r.diff(i,"seconds")<o.seconds?"seconds":r.diff(i,"minutes")<o.minutes?"minutes":r.diff(i,"hours")<o.hours?"hours":r.diff(i,"days")<o.days?"days":r.diff(i,"months")<o.months?"months":"years");return{[c]:r.diff(i,c)}}let uc={style:"short",localeMatcher:"lookup"};function uu(e,t=sf(),n){let o=ul(e,t,n);return null==o?null:uo(o,"object"==typeof n&&n.formatOptions?{...uc,...n.formatOptions}:uc)}let ud=(0,iX.createContext)(null);function um(){let e=aM({externalModuleName:"@openmrs/esm-styleguide"}).preferredDateLocale,t=(0,iX.useMemo)(()=>{let t=cz();return e[t]&&(t=e[t]),t},[window.i18next.language]),n=(0,iX.useMemo)(()=>{let e=c3(t);return void 0!==e?(0,cU.d)(e):void 0},[t]),o=(0,iX.useMemo)(()=>new Intl.Locale(t,{calendar:n?.identifier}),[t,n]),r=(0,iX.useMemo)(()=>n?(0,cW.yP)((0,cD.Ec)((0,cD.Xj)()),n):(0,cD.Ec)((0,cD.Xj)()),[n]);return{calendar:n,intlLocale:o,today_:r}}let uf=new cM.ng(1793,1,1);var up=n(5830),ug=n(6156),uh=n(4745),uw=n(1202);function u_(e,t){return Number.parseInt(c7(e,{calendar:t.calendar,locale:t.baseName,day:!1,month:!1,noToday:!0,numberingSystem:"latn"}))}let uy=(0,iX.forwardRef)(function(e,t){let{className:n}=e,o=(0,iX.useContext)(up.f2),r=(0,iX.useContext)(up._I),i=o??r,a=(0,iX.useContext)(ud),s=(0,cD.Xj)(),l=c7(i.visibleRange.start.toDate(s),{calendar:a.calendar,locale:a.baseName,day:!1,year:!1,noToday:!0}),c=u_(i.visibleRange.start.toDate(s),a),u=i.maxValue?u_(i.maxValue.toDate(s),a):void 0,d=i.minValue?u_(i.minValue.toDate(s),a):void 0,m=(0,iX.useCallback)(e=>{i.setFocusedDate(i.focusedDate.cycle("year",e-i.focusedDate.year))},[]);return i&&(0,s$.jsxs)("span",{ref:t,className:n,children:[(0,s$.jsx)("span",{children:l}),(0,s$.jsxs)(uh.oz,{formatOptions:{useGrouping:!1},maxValue:u,minValue:d,onChange:m,value:c,children:[(0,s$.jsx)(uw.p,{}),(0,s$.jsxs)(cA.Y,{children:[(0,s$.jsx)(cP.$,{slot:"increment",children:(0,s$.jsx)(lo,{size:8})}),(0,s$.jsx)(cP.$,{slot:"decrement",children:(0,s$.jsx)(le,{size:8})})]})]})]})});var uv=n(9588);let ub="-esm-devtools__datepicker-module__inputGroup___+4zks",ux="-esm-devtools__datepicker-module__inputSegment___wiExn",uk="-esm-devtools__datepicker-module__dateInputWrapper___uiyAC",uS="-esm-devtools__datepicker-module__invalidText___SxtTL",uj="-esm-devtools__datepicker-module__flatButton___UU1Qp",uN="-esm-devtools__datepicker-module__flatButtonMd___fhR-1",uC="-esm-devtools__datepicker-module__flatButtonSm___5INZ7",uE="-esm-devtools__datepicker-module__flatButtonLg___RFMrl";function uO({children:e}){let t=(0,iX.useContext)(cO.Pg),n=(0,iX.useContext)(cO.a8),o=t??n,r=sn(()=>o?.close());return(0,s$.jsx)(uv.lG,{className:"-esm-devtools__datepicker-module__dialog___qllIf",ref:r,children:e})}let uI=(0,iX.forwardRef)(function({variant:e,today_:t,minDate:n,maxDate:o},r){let i="range"===e,a=i?up._e:up.Vv;return(0,s$.jsx)(ug.A,{ref:r,className:"-esm-devtools__datepicker-module__popover___16UMX",placement:"bottom start",offset:1,isNonModal:!0,children:(0,s$.jsx)(uO,{children:(0,s$.jsxs)(a,{...i?{minValue:n,maxValue:o,className:"cds--date-picker__calendar"}:{},children:[(0,s$.jsxs)("header",{className:"-esm-devtools__datepicker-module__header___WAVlD",children:[(0,s$.jsx)(cP.$,{className:sM()(uj,uN),slot:"previous",children:(0,s$.jsx)(lu,{size:16})}),(0,s$.jsx)(uy,{className:"-esm-devtools__datepicker-module__monthYear___A3aKF"}),(0,s$.jsx)(cP.$,{className:sM()(uj,uN),slot:"next",children:(0,s$.jsx)(ld,{size:16})})]}),(0,s$.jsx)(up.r8,{className:"-esm-devtools__datepicker-module__calendarGrid___6qRB2",children:e=>(0,s$.jsx)(up.Zr,{className:sM()("cds--date-picker__day",{"-esm-devtools__datepicker-module__today___TZl6M":0===t.compare(e)}),date:e},e.toString())})]})})})});var uA=n(8017),uP=n(9774),uT=n(7956);let u$=(0,iX.forwardRef)(function(e,t){let n=(0,iX.useContext)(cO.Pg),[o,r]=(0,cE.JT)({slot:e.slot},t,uP.cQ),{locale:i}=(0,c$.Y)(),a=(0,uT.F)({...o,locale:i,createCalendar:cU.d}),s=(0,iX.useRef)(null),{fieldProps:l,inputProps:c}=(0,uA.cJ)({...o,inputRef:s},a,r),u=(0,iX.useCallback)(()=>{a.isDisabled||n.toggle()},[]);return(0,s$.jsxs)(cE.Kq,{values:[[uP.$,a],[uw.E,{...c,ref:s}],[cA.t,{...l,ref:r,isInvalid:a.isInvalid}]],children:[(0,s$.jsx)(cA.Y,{...e,id:e.id,ref:t,slot:e.slot||void 0,className:e.className,isDisabled:a.isDisabled,isInvalid:a.isInvalid,onClick:u,children:a.segments.map((t,n)=>(0,iX.cloneElement)(e.children(t),{key:n}))}),(0,s$.jsx)(uw.p,{})]})}),uR=(0,iX.forwardRef)(function(e,t){let n=(0,iX.useContext)(cO.Pg),o=(0,iX.useContext)(cO.a8);return(n??o).isInvalid?(0,s$.jsx)(c_,{ref:t,size:16,...e}):(0,s$.jsx)(s9,{ref:t,size:16,...e})});var uM=n(64),uW=n(5503),uD=n(1697),uL=n(7866),uB=n(8035),uU=n(2231);let uF=(0,iX.forwardRef)(function({segment:e,...t},n){let o=(0,iX.useContext)(uP.$),r=(0,uM.U)(n),{segmentProps:i}=(0,uW.V)(e,o,r),{focusProps:a,isFocused:s,isFocusVisible:l}=(0,uD.o)(),{hoverProps:c,isHovered:u}=(0,uL.M)({...t,isDisabled:o.isDisabled||"literal"===e.type}),d=function(e){let{className:t,style:n,children:o,defaultClassName:r,defaultChildren:i,defaultStyle:a,values:s}=e;return(0,iX.useMemo)(()=>{let e,l,c;return e="function"==typeof t?t({...s,defaultClassName:r}):t,l="function"==typeof n?n({...s,defaultStyle:a||{}}):n,c="function"==typeof o?o({...s,defaultChildren:i}):null==o?i:o,{className:e??r,style:l||a?{...a,...l}:void 0,children:c??i,"data-rac":""}},[t,n,o,r,i,a,s])}({...t,values:{...e,isReadOnly:!e.isEditable,isInvalid:o.isInvalid,isDisabled:o.isDisabled,isHovered:u,isFocused:s,isFocusVisible:l},defaultChildren:e.text}),m=(0,iX.useCallback)(e=>{e.stopPropagation()},[]);return(0,s$.jsx)("span",{...(0,uB.v)((0,uU.$)(t),i,a,c),...d,ref:r,style:i.style,"data-placeholder":e.isPlaceholder||void 0,"data-invalid":o.isInvalid||void 0,"data-readonly":!e.isEditable||void 0,"data-disabled":o.isDisabled||void 0,"data-type":e.type,"data-hovered":u||void 0,"data-focused":s||void 0,"data-focus-visible":l||void 0,onClick:m})}),uH={short:!1,size:"md"},uz=(0,iX.forwardRef)(function(e,t){let{className:n,defaultValue:o,isDisabled:r,invalid:i,invalidText:a,isInvalid:s,label:l,labelText:c,light:u,maxDate:d,minDate:m,onChange:f,onChangeRaw:p,short:g,size:h,value:w,..._}={...uH,...e},{calendar:y,intlLocale:v,today_:b}=um(),x=(0,iX.useId)(),k=!!(c??l),S=(0,iX.useMemo)(()=>cL(o,y),[o,y]),j=(0,iX.useMemo)(()=>cL(w,y,!0),[w,y]),N=(0,iX.useMemo)(()=>cL(d,y),[d,y]),C=(0,iX.useMemo)(()=>cL(m??uf,y),[m,y]),E=(0,iX.useMemo)(()=>i||s,[i,s]),O=(0,iX.useMemo)(()=>(p&&f&&console.error("An OpenmrsDatePicker component was created with both onChange and onChangeRaw handlers defined. Only onChangeRaw will be used."),p??(e=>f?.(cB(e)))),[p,f]);return(0,s$.jsx)(cR,{locale:v.toString(),children:(0,s$.jsx)("div",{className:sM()("cds--form-item",n),children:(0,s$.jsx)(cE.Kq,{values:[[ud,v]],children:(0,s$.jsxs)(cO.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"===v.language||void 0,..._,onChange:O,children:[(0,s$.jsxs)("div",{className:"cds--date-picker-container",children:[k&&(0,s$.jsx)(cI.J,{className:sM()("cds--label",{"cds--label--disabled":r}),htmlFor:x,children:c??l}),(0,s$.jsxs)(cA.Y,{className:ub,children:[(0,s$.jsx)(u$,{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)(uF,{className:ux,segment:e}):(0,s$.jsx)(iQ().Fragment,{})}),(0,s$.jsx)(cP.$,{className:sM()(uj,{[uC]:"sm"===h,[uN]:"md"===h||!h||0===h.length,[uE]:"lg"===h}),children:(0,s$.jsx)(uR,{})})]}),(0,s$.jsx)(cT.b,{className:uS,children:a})]}),(0,s$.jsx)(uI,{variant:"single",today_:b})]})})})})}),uG=(0,iX.forwardRef)(function({className:e,defaultValue:t,invalid:n,invalidText:o,isDisabled:r,isInvalid:i,label:a,labelText:s,light:l,maxDate:c,minDate:u,onChange:d,onChangeRaw:m,size:f="md",value:p,...g},h){let{calendar:w,intlLocale:_,today_:y}=um(),v=(0,iX.useId)(),b=!!(s??a),x=(0,iX.useMemo)(()=>{if(p)return{start:cL(p[0],w,!1),end:cL(p[1],w,!1)}},[p,w]),k=(0,iX.useMemo)(()=>{if(t)return{start:cL(t[0],w,!1),end:cL(t[1],w,!1)}},[t,w]),S=(0,iX.useMemo)(()=>cL(u??uf,w,!0),[u,w]),j=(0,iX.useMemo)(()=>cL(c,w,!0),[c,w]),N=(0,iX.useMemo)(()=>n||i,[n,i]),C=(0,iX.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?.([cB(e.start),cB(e.end)]))),[m,d]);return(0,s$.jsx)(cR,{locale:_.toString(),children:(0,s$.jsx)("div",{className:sM()("cds--form-item",e),children:(0,s$.jsx)(cE.Kq,{values:[[ud,_]],children:(0,s$.jsx)(cO.Ur,{id:b?v:void 0,className:sM()("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,s$.jsxs)("div",{className:"cds--date-picker-container",children:[b&&(0,s$.jsx)(cI.J,{className:sM()("cds--label",{"cds--label--disabled":r}),htmlFor:v,children:s??a}),(0,s$.jsxs)(cA.Y,{className:ub,children:[(0,s$.jsxs)("div",{className:sM()("-esm-devtools__datepicker-module__inputsWrapper___YlkGh",{"-esm-devtools__datepicker-module__inputsWrapperSm___fAKhS":"sm"===f,"-esm-devtools__datepicker-module__inputsWrapperMd___XVgGP":"md"===f||!f||0===f.length,"-esm-devtools__datepicker-module__inputsWrapperLg___UgHJ1":"lg"===f}),children:[(0,s$.jsx)(uP.J3,{className:sM()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__startInput___qgbQm",uk),slot:"start",children:e=>(0,s$.jsx)(uF,{className:ux,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)(uP.J3,{className:sM()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__endInput___huv7x",uk),slot:"end",children:e=>(0,s$.jsx)(uF,{className:ux,segment:e})})]}),(0,s$.jsx)(cP.$,{className:sM()(uj,{[uC]:"sm"===f,[uN]:"md"===f||!f||0===f.length,[uE]:"lg"===f}),children:(0,s$.jsx)(uR,{})})]}),(0,s$.jsx)(cT.b,{className:uS,children:o}),(0,s$.jsx)(uI,{variant:"range",today_:y,minDate:S,maxDate:j})]})})})})})}),uV=({diagnoses:e})=>{let{diagnosisTags:t}=aM({externalModuleName:"@openmrs/esm-styleguide"});return(0,s$.jsx)("div",{className:"-esm-devtools__diagnosis-tags-module__container___8kut8",children:e.map(e=>{let{rank:n,uuid:o,display:r}=e,i=t[1===n?"primaryColor":"secondaryColor"];return(0,s$.jsx)(sU.Tag,{type:i,children:r},o)})})},uJ={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"},uq=({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"})}),uK=e=>{let t="tablet"===a4(),n=e.launchForm;return(0,s$.jsx)(sU.Layer,{className:uJ.layer,children:(0,s$.jsxs)(sU.Tile,{className:uJ.tile,children:[(0,s$.jsx)("div",{className:t?uJ.tabletHeading:uJ.desktopHeading,children:(0,s$.jsx)("h4",{children:e.headerTitle})}),(0,s$.jsx)(uq,{}),(0,s$.jsx)("p",{className:uJ.content,children:tY("emptyStateText","There are no {{displayText}} to display",{displayText:e.displayText})}),(0,s$.jsx)("p",{className:uJ.action,children:n&&(0,s$.jsx)(sU.Button,{onClick:()=>n(),kind:"ghost",size:t?"lg":"sm",children:tY("recordNewEntry","Record {{ displayText }}",{displayText:e.displayText})})})]})})},uX=({error:e,headerTitle:t})=>{let n="tablet"===a4();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:n?"-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:[tY("error","Error")," ",`${e?.response?.status}: `,e?.response?.statusText]}),(0,s$.jsx)("p",{className:"-esm-devtools__error-state-module__errorCopy___dq+e2",children:tY("errorCopy")})]})})},uQ=uX,uY=iQ().forwardRef((e,t)=>{let{slotName:n,basePath:o,componentContext:r,state:i}=se(),a=window.location??{pathname:""},s=at(n??"");return e.isChildOfHeader&&n&&s.length>0?(0,s$.jsxs)(sU.SideNav,{"aria-label":tY("leftNavigation","Left navigation"),className:"-esm-devtools__left-nav-module__leftNav___jzTJK",expanded:!0,isFixedNav:!0,ref:t,...e,children:[(0,s$.jsx)(ar,{name:"global-nav-menu-slot"}),n?(0,s$.jsx)(aN,{value:r,fallback:(0,s$.jsx)(ar,{name:n,state:{basePath:o,currentPath:a,...i}}),children:(0,s$.jsx)(iY.Provider,{value:r,children:(0,s$.jsx)(ar,{name:n,state:{basePath:o,currentPath:a,...i}})})}):null]}):null}),uZ=({selectedLocationUuid:e,defaultLocationUuid:t,locationTag:n,locationsPerRequest:o=50,onChange:r})=>{let[i,a]=(0,iX.useState)(""),s=(0,iX.useId)(),{location:l}=function(e){let t=e?`/ws/fhir2/R4/Location?_id=${e}`:null,{data:n,error:o,isLoading:r}=(0,aB.A)(t,tO,{shouldRetryOnError:e=>!!e?.response?.status&&e.response.status>=500});return(0,iX.useMemo)(()=>({location:n?.data?.entry?n.data.entry[0]:null,error:t?o:null,isLoading:!!t&&r}),[n,r,o,t])}(t),{locations:c,isLoading:u,hasMore:d,loadingNewData:m,error:f,setPage:p}=function(e,t=0,n=""){let o=aL(n),{data:r,isLoading:i,isValidating:a,setSize:s,error:l}=(0,aZ.Ay)(function(n,r){if(r){let e=r.data?.link?.find(e=>"next"===e.relation);if(!e)return null;let t=new URL(e.url);return t.origin===window.location.origin?e.url:new URL(`${t.pathname}${t.search?`?${t.search}`:""}`,window.location.origin).toString()}let i=`${tN}/Location?`,a=new URLSearchParams;return a.append("_summary","data"),t&&a.append("_count",""+t),n&&a.append("_getpagesoffset",""+n*t),e&&a.append("_tag",e),"string"==typeof o&&""!==o&&a.append("name:contains",o),i+a.toString()},tO);return(0,iX.useMemo)(()=>({locations:r?.length?r?.flatMap(e=>e?.data?.entry??[]):[],isLoading:i,totalResults:r?.[0]?.data?.total,hasMore:!!r?.length&&r?.[r.length-1]?.data?.link?.some(e=>"next"===e.relation),loadingNewData:a,error:l||null,setPage:s}),[i,r,a,s,l])}(n,o,i),g=(0,iX.useMemo)(()=>l&&!i&&t?[l,...c.filter(({resource:e})=>e.id!==t)]:c??[],[l,c,t,i]),h=(0,iX.useCallback)(e=>{r(),a(e.trim())},[r]),w=so((0,iX.useCallback)(()=>{!m&&d&&p(e=>e+1)},[m,d,p])),_=d?Math.max(0,Math.floor(g.length-o/2)):-1;return(0,s$.jsxs)(s$.Fragment,{children:[(0,s$.jsx)(sU.Search,{"aria-describedby":f?`${s}-error`:void 0,labelText:tY("searchForLocation"),id:s,placeholder:tY("searchForLocation"),onChange:e=>h(e.target.value),size:"lg"}),f&&(0,s$.jsx)("div",{className:"-esm-devtools__location-picker-module__errorNotification___vWBFD",id:`${s}-error`,children:(0,s$.jsx)(sU.InlineNotification,{kind:"error",subtitle:tY("errorLoadingLoginLocations","Unable to load login locations. Please try again or contact support if the problem persists."),title:tY("error","Error")})}),(0,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:tY("noResultsToDisplay")})})}),m&&(0,s$.jsx)("div",{className:"-esm-devtools__location-picker-module__loadingIcon___NAwSB",children:(0,s$.jsx)(sU.InlineLoading,{description:tY("loading")})})]})})]})},u0=L("modalState",{modalContainer:null,modalStack:[]}),u1=0;async function u2(e,t,n={}){let o=iC(t),r=null;if(e){if(!o)throw Error(`No modal named '${t}' has been registered.`);let{load:i}=o,a=await i(),s=u1++;r=await iV({...a,name:`${t}-${s}`},{...n,domElement:e})}else j(`Failed to launch modal. Please notify your administrator. Modal name: ${t}`);return r}function u6(e){return"TO_BE_DELETED"===e.state||"DELETED"===e.state}function u5(e,t){t?.unmount&&(t.unmountPromise?.catch(()=>{}),t.unmount().catch(t=>{console.error(`The modal '${e}' failed to unmount`,t)}))}function u3(e){return e.find(e=>!u6(e))}function u8(e,t){e.container&&(e.container.style.visibility=t?"unset":"hidden")}let u4=window.getComputedStyle(document.body).overflow;function u7({modalStack:e,modalContainer:t}){if(t)if(e.length){t.style.visibility||(addEventListener("keydown",de),document.body.style.overflow="hidden",t.style.visibility="unset");let n=u3(e);e.forEach(e=>{switch(e.state){case"NEW":{let n=function({size:e}){let t=document.createElement("div");return t.className=`cds--modal-container cds--modal-container--${e}`,t.setAttribute("role","dialog"),t.setAttribute("tabindex","-1"),t.setAttribute("aria-modal","true"),t}({size:e.props?.size??"md"});e.container=n,e.state="MOUNTING",u2(n,e.modalName,e.props).then(o=>{u6(e)?u5(e.modalName,o):o?(e.parcel=o,t.prepend(n),u8(e,u3(u0.getState().modalStack)===e),o.mountPromise.then(()=>{u6(e)||(e.state="MOUNTED")},t=>{j(t),e.parcel=null,u9(e)})):u9(e)},t=>{j(t),u9(e)});break}case"MOUNTING":case"MOUNTED":u8(e,e===n);break;case"TO_BE_DELETED":e.state="DELETED",e.onClose(),u5(e.modalName,e.parcel),e.container?.remove(),setTimeout(()=>{let t=u0.getState();u0.setState({...t,modalStack:t.modalStack.filter(t=>t!==e)})},0)}})}else t.style.removeProperty("visibility"),document.body.style.overflow=u4,removeEventListener("keydown",de)}function u9(e){if(u6(e))return;e.state="TO_BE_DELETED";let t=u0.getState();u0.setState({...t,modalStack:[...t.modalStack]})}function de(e){"Escape"===e.key&&function(){let[e]=u0.getState().modalStack;e&&u9(e)}()}function dt(e){u0.subscribe(u7),u0.setState({...u0.getState(),modalContainer:e})}function dn(e,t={},n=()=>{}){let o=()=>{let e=u0.getState().modalStack.find(e=>e.onClose===n);e&&u9(e)};if(iC(e)){var r;let i,a;r={state:"NEW",onClose:n,modalName:e,props:{close:o,...t}},a=[r,...(i=u0.getState()).modalStack],u0.setState({...i,modalStack:a})}else j(`Failed to launch modal. Please notify your administrator. Modal name: "${e}"`);return o}let dr=({notification:e})=>{let{description:t,action:n,kind:o,critical:r,title:i,onAction:a}=e;return(0,s$.jsx)(sU.ActionableNotification,{actionButtonLabel:n,kind:o||"info",lowContrast:r,subtitle:t,title:i||"",inline:!0,onActionButtonClick:a})},di=({subject:e})=>{let[t,n]=(0,iX.useState)([]);return(0,iX.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.description!==e.description||t.action!==e.action||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,s$.jsx)(s$.Fragment,{children:t.map(e=>(0,s$.jsx)(dr,{notification:e},e.id))})},da=({notification:e})=>{let{actionButtonLabel:t,onActionButtonClick:n=()=>{},subtitle:o,kind:r,title:i,critical:a,progressActionLabel:s,id:l,...c}=e,[u,d]=(0,iX.useState)(t);return(0,s$.jsx)(sU.ActionableNotification,{kind:r||"info",actionButtonLabel:u,ariaLabel:tY("closesActionableNotification","Closes actionable notification"),onActionButtonClick:()=>{n(),s&&d(s)},statusIconDescription:tY("actionableNotification","Actionable notification"),subtitle:o,title:i,lowContrast:a,inline:!0,...c})},ds=({subject:e})=>{let[t,n]=(0,iX.useState)([]);return(0,iX.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.subtitle!==e.subtitle||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,s$.jsx)(s$.Fragment,{children:t.map(e=>(0,s$.jsx)(da,{notification:e},e.id))})};var dl=n(9685);let dc=new G.Subject,du=0,dd=new G.Subject,dm=0;function df(e){e&&(0,ai.createRoot)(e).render((0,s$.jsx)(di,{subject:dc}))}function dp(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&(t instanceof Error||!(0,dl.A)(t)))?(e.description instanceof Error&&(e.description=e.description.toLocaleString()),setTimeout(()=>{dc.next({...e,id:du++})},0)):console.error("showNotification must be called with an object having a 'description' property that is a non-empty string or object")}function dg(e){e&&(0,ai.createRoot)(e).render((0,s$.jsx)(ds,{subject:dd}))}function dh(e){var t;e&&("string"==typeof(t=e.actionButtonLabel)?t.trim().length>0:"object"==typeof t&&!(0,dl.A)(t))?setTimeout(()=>{dd.next({...e,id:dm++})},0):console.error("showActionableNotification must be called with an actionButtonLabel that is a non-empty string")}let dw=["NORMAL","HIGH","CRITICALLY_HIGH","OFF_SCALE_HIGH","LOW","CRITICALLY_LOW","OFF_SCALE_LOW"],d_=["critically_low","critically_high","high","low","normal","off_scale_low","off_scale_high"],dy={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"},dv=({value:e,unit:t,label:n,interpretation:o,referenceRange:r,conceptUuid:i,variant:a="card",patientUuid:s})=>{let l=(0,iX.useId)(),{referenceRange:c,isLoading:u}=function(e,t){let n=null;e&&(n=t?`${tj}/conceptreferencerange/?patient=${t}&concept=${e}&v=full`:`${tj}/conceptreferencerange/?concept=${e}&v=full`);let{data:o,error:r,isLoading:i}=(0,aB.A)(n,tO),a=o?.data?.results?.[0];return{referenceRange:a?{hiNormal:a.hiNormal??null,hiAbsolute:a.hiAbsolute??null,hiCritical:a.hiCritical??null,lowNormal:a.lowNormal??null,lowAbsolute:a.lowAbsolute??null,lowCritical:a.lowCritical??null}:void 0,error:r,isLoading:i}}(r||o?void 0:i,s),d=r??c,m=(0,iX.useMemo)(()=>{if(o)return o?"--"===o?"normal":dw.includes(o)?o.toLowerCase():d_.includes(o)?o:"normal":void 0;if(d&&!u){if(!d||null==e||""===e)return"normal";let t="string"==typeof e?Number.parseFloat(e):e;return Number.isNaN(t)?"normal":null!==d.hiAbsolute&&void 0!==d.hiAbsolute&&t>d.hiAbsolute?"off_scale_high":null!==d.hiCritical&&void 0!==d.hiCritical&&t>=d.hiCritical?"critically_high":null!==d.hiNormal&&void 0!==d.hiNormal&&t>d.hiNormal?"high":null!==d.lowAbsolute&&void 0!==d.lowAbsolute&&t<d.lowAbsolute?"off_scale_low":null!==d.lowCritical&&void 0!==d.lowCritical&&t<=d.lowCritical?"critically_low":null!==d.lowNormal&&void 0!==d.lowNormal&&t<d.lowNormal?"low":"normal"}return"normal"},[o,d,e,u])??"normal",f="critically_low"===m||"critically_high"===m||"off_scale_low"===m||"off_scale_high"===m,p="normal"!==m,g=n?`omrs-numeric-obs-label-${n.replaceAll(/\s+/g,"-").toLowerCase()}-${l}`:void 0,h=`omrs-numeric-obs-value-${l}`,w=`omrs-numeric-obs-unit-${l}`,_=null!=e&&""!==e,y=_?e:tY("notAvailable","Not available"),v=sM()({[dy["critically-low"]]:"critically_low"===m||"off_scale_low"===m,[dy["critically-high"]]:"critically_high"===m||"off_scale_high"===m,[dy.low]:"low"===m,[dy.high]:"high"===m,[dy["off-scale-low"]]:"off_scale_low"===m,[dy["off-scale-high"]]:"off_scale_high"===m}),b=sM()({[dy.container]:!0,[dy.card]:!0,[dy["critical-value"]]:f,[dy["abnormal-value"]]:p&&!f}),x=sM()({[dy.cell]:!0,[v]:!0});return"cell"===a?(0,s$.jsxs)("div",{className:x,children:[y,_&&t?` ${t}`:""]}):(0,s$.jsxs)("section",{className:b,"data-testid":"numeric-observation-card",children:[n&&(0,s$.jsxs)("div",{className:dy["label-container"],children:[(0,s$.jsx)("span",{id:g,className:dy.label,children:n}),p&&(0,s$.jsx)("span",{className:dy[m.replace("_","-")],title:tY("abnormalValue","Abnormal value")})]}),(0,s$.jsxs)("div",{className:dy["value-container"],children:[(0,s$.jsx)("span",{id:h,"aria-labelledby":g&&w?`${g} ${w}`:g||w||void 0,className:dy.value,children:y}),_&&t&&(0,s$.jsx)("span",{id:w,className:dy.units,children:t})]})]})},db="-esm-devtools__page-header-module__pageHeader___YOpQL",dx=e=>{if("children"in e){let{children:t,className:n,...o}=e;return(0,s$.jsx)("div",{className:sM()(db,n),...o,children:t})}{let{title:t,illustration:n,className:o,...r}=e;return(0,s$.jsx)("div",{className:sM()(db,o),...r,children:(0,s$.jsx)(dk,{title:t,illustration:n})})}},dk=({title:e,illustration:t,className:n})=>{let[o,r]=(0,iX.useState)(null);return(0,iX.useEffect)(()=>{eB("@openmrs/esm-styleguide").then(e=>{r(e)})},[]),(0,s$.jsxs)("div",{className:sM()("-esm-devtools__page-header-module__pageHeaderContent___PjsJm",n),children:[t,(0,s$.jsxs)("div",{className:"-esm-devtools__page-header-module__pageLabels___pPcKj",children:[o?.implementationName&&(0,s$.jsx)("p",{children:tY(o.implementationName)}),(0,s$.jsx)("p",{className:"-esm-devtools__page-header-module__pageName___3d4IC",children:e})]})]})},dS=({totalItems:e,pageSize:t,onPageNumberChange:n,pageNumber:o,dashboardLinkUrl:r,currentItems:i,dashboardLinkLabel:a})=>{let{pageSizes:s,pageItemsCount:l}=sa(t,e,o,i),c="tablet"===a4(),u=tY("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)(iZ,{to:r,className:"-esm-devtools__pagination-module__configurableLink___NM9v7",children:a??tY("seeAll","See all")})]}),(0,s$.jsx)(sU.Pagination,{className:"-esm-devtools__pagination-module__pagination___WzkBs",page:o,pageSize:t,pageSizes:s,totalItems:e,onChange:n,pageRangeText:(e,t)=>tY("paginationOfPages","of {{count}} pages",{count:t}),size:c?"lg":"sm"})]})})};function dj(e){return dC(dO(e,"usual","official"))}function dN(e){return dj(e)}function dC(e){var t;let n;return e?e.text??(n=(t=e).given??[],(t.family?n.concat(t.family):n).join(" ")):""}function dE(e){return dC(e)}function dO(e,...t){for(let n of(0==t.length&&(t=["usual"]),t)){let t=e.name?.find(e=>{var t,o;return t=e,o=n,t.use?t.use===o:"usual"===o});if(t)return t}}function dI(e,t=sf()){let n=sf(t),o=ur(e,n);if(null==o)return null;let r=n.diff(o,"hours"),i=n.diff(o,"days"),a=n.diff(o,"weeks"),s=n.diff(o,"months"),l=n.diff(o,"years"),c={};if(r<2)c.minutes=n.diff(o,"minutes");else if(i<2)c.hours=r;else if(a<4)c.days=i;else if(l<1){let e=n.subtract(a,"weeks").diff(o,"days");c.weeks=a,c.days=e}else if(l<2){let e=n.subtract(s,"months").diff(o,"days");c.months=s,c.days=e}else if(l<18){let e=n.subtract(l,"year").diff(o,"months");c.years=l,c.months=e}else c.years=l;return c}function dA(e,t=sf()){let n=dI(e,t);if(null==n)return null;let o={style:"short",localeMatcher:"lookup"};return"minutes"in n&&0===n.minutes&&(o.minutesDisplay="always"),uo(n,o)}let dP={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 dT({showIdentifierLabel:e,type:t,value:n}){return(0,s$.jsx)("span",{className:dP.primaryIdentifier,children:(0,s$.jsxs)(sU.Tag,{className:dP.tag,type:"gray",children:[e&&t?.text&&(0,s$.jsxs)("span",{className:dP.label,children:[t.text,": "]}),(0,s$.jsx)("span",{className:dP.value,children:n})]})})}function d$({showIdentifierLabel:e,type:t,value:n}){return(0,s$.jsxs)(sU.FormLabel,{className:dP.secondaryIdentifier,id:`patient-banner-identifier-${n}`,children:[e&&(0,s$.jsxs)("span",{className:dP.label,children:[t?.text,": "]}),(0,s$.jsx)("span",{className:dP.value,children:n})]})}function dR({identifiers:e,showIdentifierLabel:t}){let{excludePatientIdentifierCodeTypes:n}=aM(),{primaryIdentifierCode:o}=sc(),r=e?.filter(e=>{let t=e.type?.coding?.[0]?.code;return t&&!n?.uuids.includes(t)})??[];return(0,s$.jsx)(s$.Fragment,{children:r?.length?r.map(({value:e,type:n},i)=>(0,s$.jsxs)(iQ().Fragment,{children:[(0,s$.jsx)("span",{className:dP.identifier,children:n?.coding?.[0]?.code===o?(0,s$.jsx)(dT,{showIdentifierLabel:t,type:n,value:e}):(0,s$.jsx)(d$,{showIdentifierLabel:t,type:n,value:e})}),i<r.length-1&&(0,s$.jsx)("span",{className:dP.separator,children:"\xb7"})]},e)):""})}let dM={Female:lk,Male:lS,Other:lj,Unknown:lN},dW=({gender:e})=>{let t=dM[e];return t?(0,s$.jsx)(t,{fill:"#525252"}):null},dD={male:"Male",female:"Female",other:"Other",unknown:"Unknown"};function dL({patient:e,renderedFrom:t}){var n;let o,r,i=dj(e),a=e?.gender&&(r=dD[o=(n=e.gender).toLowerCase()]??"Unknown",{displayText:tY(o,n),iconKey:r}),s=(0,iX.useMemo)(()=>({patientUuid:e.id,patient:e,renderedFrom:t}),[e.id,e,t]);return(0,s$.jsxs)("div",{className:dP.patientInfo,children:[(0,s$.jsx)("div",{className:sM()(dP.row,dP.patientNameRow),children:(0,s$.jsxs)("div",{className:dP.flexRow,children:[(0,s$.jsx)("span",{className:dP.patientName,children:i}),a&&(0,s$.jsxs)("div",{className:dP.gender,children:[(0,s$.jsx)(dW,{gender:a.iconKey}),(0,s$.jsx)("span",{children:a.displayText})]}),(0,s$.jsx)(ar,{className:dP.tagsSlot,name:"patient-banner-tags-slot",state:s})]})}),(0,s$.jsxs)("div",{className:dP.demographics,children:[e.birthDate&&(0,s$.jsxs)(s$.Fragment,{children:[(0,s$.jsx)("span",{children:dA(e.birthDate)}),(0,s$.jsx)("span",{className:dP.separator,children:"\xb7"}),(0,s$.jsx)("span",{children:c4(e.birthDate,{time:!1})}),(0,s$.jsx)("span",{className:dP.separator,children:"\xb7"})]}),(0,s$.jsx)(dR,{identifiers:e.identifier,showIdentifierLabel:!0}),(0,s$.jsx)(ar,{className:dP.extensionSlot,name:"patient-banner-bottom-slot",state:s})]})]})}var dB=n(7683);function dU({patient:e,patientUuid:t,actionsSlotName:n,additionalActionsSlotState:o}){let[r,i]=(0,iX.useState)(!1),{extensions:a}=an(n),s="tablet"===a4(),l=sn(()=>i(!1),r),c=(0,iX.useRef)(null),u=(0,iX.useRef)(null),d=(0,iX.useId)(),m=`patient-actions-menu-trigger-${d}`,f=`patient-actions-menu-${d}`,p=(0,iX.useCallback)(()=>i(e=>!e),[]),g=(0,iX.useCallback)(()=>{i(!1),c.current?.focus()},[]),h=(0,iX.useCallback)(e=>{if("Escape"===e.key&&r){e.stopPropagation(),g();return}if(("ArrowDown"===e.key||"ArrowUp"===e.key)&&r){e.preventDefault();let t=u.current?.querySelectorAll('[role="menuitem"]:not([disabled])');if(!t?.length)return;let n=document.activeElement?.closest?.('[role="menuitem"]')??document.activeElement,o=Array.from(t).indexOf(n);if(-1===o)return void t["ArrowDown"===e.key?0:t.length-1]?.focus();let r=o+("ArrowDown"===e.key?1:-1),i=r<0?t.length-1:r>=t.length?0:r;t[i]?.focus()}},[g,r]);(0,iX.useEffect)(()=>{if(r&&u.current){let e=u.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[r]);let w=(0,iX.useMemo)(()=>({patientUuid:t,patient:e,closeMenu:g,...o}),[t,e,g,o]);return 0===a.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",sz),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":f,"aria-expanded":r,"aria-haspopup":"true",id:m,onClick:p,onKeyDown:h,ref:c,children:[(0,s$.jsx)("span",{className:"-esm-devtools__patient-banner-actions-menu-module__actionsButtonText___SdOyM",children:tY("actions","Actions")})," ",(0,s$.jsx)(dB.CH,{size:16,style:{marginLeft:"0.5rem",fill:"#78A9FF"}})]}),(0,s$.jsxs)("div",{className:sM()("cds--overflow-menu-options","cds--overflow-menu--flip",sG,{[sV]:r}),"aria-labelledby":m,"data-floating-menu-direction":"bottom",id:f,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":s}),children:(0,s$.jsx)(ar,{name:n,state:w},n)}),(0,s$.jsx)("span",{})]})]})})}var dF=n(397),dH=n.n(dF);function dz(e){let{patientPhotoConceptUuid:t}=aM({externalModuleName:"@openmrs/esm-styleguide"}),n=t?`${tj}/obs?patient=${e}&concept=${t}&v=full`:null,{data:o,error:r,isLoading:i}=(0,al.u)(e?n:null,tO),a=o?.data?.results[0];return{data:a?{dateTime:a?.obsDatetime,imageSrc:a?.value?.links?.uri}:null,error:r,isLoading:i}}let dG=({width:e=56,height:t=56,"aria-label":n})=>{let{t:o}=(0,as.useTranslation)();return(0,s$.jsxs)("svg",{"aria-label":n??o("patientPhotoPlaceholder","Patient photo placeholder"),width:e,height:t,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,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"})]})},dV="-esm-devtools__patient-photo-module__avatar___t5TmZ";function dJ({patientUuid:e,patientName:t,alt:n}){let{data:o,isLoading:r}=dz(e),[i,a]=(0,iX.useState)(null),[s,l]=(0,iX.useState)(!1),c=(0,iX.useMemo)(()=>dH().generate(e),[e]);(0,iX.useEffect)(()=>{if(o?.imageSrc){let e=new URL(o.imageSrc,window.location.origin).pathname;l(!0);let t=!1,n=new Image;return n.onload=()=>{t||(a(e),l(!1))},n.onerror=()=>{t||(a(null),l(!1))},n.src=e,()=>{t=!0}}a(null),l(!1)},[o?.imageSrc]);let u=(0,iX.useMemo)(()=>n||(i?tY("patientPhotoAlt","Profile photo of {{patientName}}",{patientName:t}):tY("patientAvatarAlt","Avatar for {{patientName}}",{patientName:t})),[n,i,t]);return r||s?(0,s$.jsx)(sU.SkeletonIcon,{className:"-esm-devtools__patient-photo-module__skeleton___ueN8Q","data-testid":"skeleton-icon"}):o?.imageSrc&&!i?(0,s$.jsx)(dG,{"aria-label":tY("patientPhotoPlaceholder","Photo placeholder for {{patientName}}",{patientName:t})}):i?(0,s$.jsx)("div",{"aria-label":u,children:(0,s$.jsx)("img",{className:dV,src:i,alt:u,title:t})}):(0,s$.jsx)("div",{"aria-label":u,children:(0,s$.jsx)("div",{className:dV,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 dq=["omrs-pict-appointments","omrs-pict-assessment-1","omrs-pict-assessment-2","omrs-pict-blood-bank","omrs-pict-cardiology","omrs-pict-ct-scan","omrs-pict-dentistry","omrs-pict-digital-trust","omrs-pict-emergency-department","omrs-pict-facility","omrs-pict-geriatrics","omrs-pict-gynaecology","omrs-pict-in-patient","omrs-pict-laboratory","omrs-pict-labs-2","omrs-pict-obstetrics","omrs-pict-patient-search","omrs-pict-patients","omrs-pict-payments-desk","omrs-pict-pharmacy","omrs-pict-pharmacy-2","omrs-pict-registration","omrs-pict-service-queues","omrs-pict-stock-management","omrs-pict-transfer","omrs-pict-triage","omrs-pict-x-ray"],dK=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-appointments",pictogramProps:e})})),dX=dK,dQ=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-assessment-1",pictogramProps:e})})),dY=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-assessment-2",pictogramProps:e})})),dZ=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-blood-bank",pictogramProps:e})})),d0=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-cardiology",pictogramProps:e})})),d1=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-ct-scan",pictogramProps:e})})),d2=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-dentistry",pictogramProps:e})})),d6=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-digital-trust",pictogramProps:e})})),d5=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-emergency-department",pictogramProps:e})})),d3=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-facility",pictogramProps:e})})),d8=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-geriatrics",pictogramProps:e})})),d4=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-gynaecology",pictogramProps:e})})),d7=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-in-patient",pictogramProps:e})})),d9=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-laboratory",pictogramProps:e})})),me=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-labs-2",pictogramProps:e})})),mt=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-obstetrics",pictogramProps:e})})),mn=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-patient-search",pictogramProps:e})})),mo=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-patients",pictogramProps:e})})),mr=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-payments-desk",pictogramProps:e})})),mi=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-pharmacy",pictogramProps:e})})),ma=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-pharmacy-2",pictogramProps:e})})),ms=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-registration",pictogramProps:e})})),ml=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-service-queues",pictogramProps:e})})),mc=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-stock-management",pictogramProps:e})})),mu=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-transfer",pictogramProps:e})})),md=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-triage",pictogramProps:e})})),mm=(0,iX.memo)((0,iX.forwardRef)(function(e,t){return(0,s$.jsx)(mh,{ref:t,pictogram:"omrs-pict-x-ray",pictogramProps:e})})),mf=d3,mp=mo,mg=(0,iX.memo)((0,iX.forwardRef)(function({pictogram:e,fallback:t,...n},o){let r=(0,iX.useRef)(document.getElementById(e));return(0,iX.useEffect)(()=>{let t=document.getElementById("omrs-svgs-container"),n=new MutationObserver(t=>{for(let n of t)"childList"===n.type&&(r.current=document.getElementById(e))});return t&&n.observe(t,{childList:!0}),()=>n.disconnect()},[e]),(0,s$.jsx)(aN,{value:r.current,fallback:t,children:(0,s$.jsx)(mh,{ref:o,pictogram:e,pictogramProps:n})})})),mh=(0,iX.memo)((0,iX.forwardRef)(function({pictogram:e,pictogramProps:t},n){let{className:o,size:r}=Object.assign({},{size:92},t);return(r<=26||r>144)&&(console.error(`Invalid size '${r}' specified for ${e}. Defaulting to 92.`),r=92),(0,s$.jsx)("svg",{ref:n,className:sM()("-esm-devtools__pictograms-module__pictogram___wXX7t",o),height:r,width:r,children:(0,s$.jsx)("use",{href:`#${e}`})})})),mw=({children:e})=>"tablet"===a4()?(0,s$.jsx)(sU.Layer,{children:e}):(0,s$.jsx)(s$.Fragment,{children:e}),m_=({snackbar:e,closeSnackbar:t})=>{let{actionButtonLabel:n="",kind:o="success",onActionButtonClick:r=()=>{},isLowContrast:i="error"!==o,progressActionLabel:a,subtitle:s="",timeoutInMs:l=5e3,autoClose:c="error"!==o,title:u,id:d,...m}=e,[f,p]=(0,iX.useState)(n),[g,h]=(0,iX.useState)(!0),[w,_]=(0,iX.useState)(!1),y=(0,iX.useCallback)(()=>{setTimeout(t,250)},[t]),v=(0,iX.useCallback)(()=>{_(!0),y()},[y]);return(0,iX.useEffect)(()=>{if(c){let e=setTimeout(v,l);return()=>clearTimeout(e)}},[l,c,v]),(0,iX.useEffect)(()=>{h(!1),window.setTimeout(()=>{h(!0)},0)},[]),(0,s$.jsx)(sU.ActionableNotification,{actionButtonLabel:f,"aria-label":tY("closeSnackbar","Close snackbar"),className:sM()("-esm-devtools__snackbar-module__slideIn___-oZIt",{"-esm-devtools__snackbar-module__animated___M2YBU":g,"-esm-devtools__snackbar-module__slideOut___yEmGT":w}),kind:o,lowContrast:i,onActionButtonClick:()=>{r(),v(),a&&p(a)},onClose:y,statusIconDescription:tY("snackbarNotification","Snackbar notification"),subtitle:s,title:u,...m})},my=({subject:e})=>{let[t,n]=(0,iX.useState)([]),o=(0,iX.useCallback)(e=>{n(t=>t.filter(t=>t!==e))},[]);return(0,iX.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.subtitle!==e.subtitle||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,s$.jsx)(s$.Fragment,{children:t.map(e=>(0,s$.jsx)(m_,{snackbar:e,closeSnackbar:()=>o(e)},e.id))})},mv=new G.Subject,mb=0;function mx(e){e&&(0,ai.createRoot)(e).render((0,s$.jsx)(my,{subject:mv}))}function mk(e){var t;e&&"string"==typeof(t=e.title)&&t.trim().length>0?setTimeout(()=>{mv.next({...e,id:mb++})},0):console.error("showSnackbar must be called with an object having a 'title' property that is a non-empty string")}let mS=({toast:e,closeToast:t})=>{let{description:n,kind:o,critical:r,title:i,actionButtonLabel:a,onActionButtonClick:s=()=>{}}=e,l=(0,iX.useCallback)(()=>{s(),t()},[t,s]);return(0,s$.jsx)("div",{children:(0,s$.jsx)(sU.ActionableNotification,{actionButtonLabel:a,kind:o||"info",lowContrast:r,subtitle:n,title:i||"",onActionButtonClick:l,onClose:t})})},mj=({subject:e})=>{let[t,n]=(0,iX.useState)([]),o=(0,iX.useCallback)(e=>{n(t=>t.filter(t=>t!==e))},[]);return(0,iX.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.description!==e.description||t.kind!==e.kind||t.title!==e.title||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick),e]));return()=>t.unsubscribe()},[e]),(0,s$.jsx)(s$.Fragment,{children:t.map(e=>(0,s$.jsx)(mS,{toast:e,closeToast:()=>o(e)},e.id))})},mN=new G.Subject,mC=0;function mE(e){e&&(0,ai.createRoot)(e).render((0,s$.jsx)(mj,{subject:mN}))}function mO(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&!(0,dl.A)(t))?setTimeout(()=>{mN.next({...e,id:mC++})},0):console.error("showToast must be called with an object having a 'description' property that is a non-empty string or object")}function mI(e,t=!1){if(t)return!0;let n=mR[e];return!n||!n()}function mA(e,t){let n=mH.getState()?.workspaceGroup,o=n?.name;o&&e===o&&mJ(()=>{let o=mY(e);o&&(o.setState({},!0),o.subscribe(()=>{})()),"function"==typeof n?.cleanup&&n.cleanup(),mH.setState(e=>({...e,workspaceGroup:void 0})),"function"==typeof t&&t()},o?e=>e.currentWorkspaceGroup===o:()=>!0)}function mP(e,t){let{name:n,additionalProps:o}=t;iT(n);let r=()=>{mB(e.name,{ignoreChanges:!0,onWorkspaceClose:()=>mT(n,o),closeWorkspaceGroup:!1})};mI(e.name)?r():mK("closing-workspace-launching-new-workspace",r,e.title??e.name)}function mT(e,t){let n=iT(e),o=mH.getState().workspaceGroup;if(o&&!o.members?.includes(e))return void mA(o.name,()=>{mT(e,t)});let r=mH.getState().workspaceGroup?.name,i={...n,title:mX(n,t),closeWorkspace:(t={})=>mB(e,t),closeWorkspaceWithSavedChanges:t=>mB(e,{ignoreChanges:!0,...t}),promptBeforeClosing:t=>{var n,o;return n=e,o=t,void(mR[n]=o)},setTitle:(t,n)=>{i.title=t,i.titleNode=n,mH.setState(t=>{let n=t.openWorkspaces.map(t=>t.name===e?i:t);return{...t,openWorkspaces:n}})},currentWorkspaceGroup:r,additionalProps:t??{}};function a(e,t){mH.setState(n=>{let o=[e,...t??n.openWorkspaces],r=mV(e);return{...n,openWorkspaces:o,workspaceWindowState:r}})}r&&mY(r,t);let s=mH.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===mX(t,t.additionalProps)&&{title:mX(i,i.additionalProps)}},s.filter(t=>t.name!=e))}else c?(a(c,mH.getState().openWorkspaces.filter(e=>e.type!=i.type)),mP(c,{name:e,additionalProps:t})):a(i);else mP(s[0],{name:e,additionalProps:t})}function m$({targetUrl:e,contextKey:t,workspaceName:n,additionalProps:o}){mU(t),mT(n,o),tg({to:e})}let mR={};function mM(e,t){mR[e]=t}function mW(e){return mR[e]}function mD(){let e=mH.getState();mH.setState({...e,prompt:null})}let mL={ignoreChanges:!1,onWorkspaceClose:()=>{},closeWorkspaceGroup:!0};function mB(e,t={}){t={...mL,...t};let n=()=>{let n=mH.getState();n.openWorkspaces.find(t=>t.name===e);let o=n.openWorkspaces.filter(t=>t.name!=e),r=mH.getState().workspaceGroup?.name;r&&t.closeWorkspaceGroup&&mA(r),mR[e]=()=>!1,mH.setState(e=>({...e,prompt:null,openWorkspaces:o,workspaceWindowState:mV(o?.[0])})),t?.onWorkspaceClose?.()};return mI(e,t?.ignoreChanges)?(n(),!0):(mK("closing-workspace",n,iT(e).title??e),!1)}function mU(e){mH.getState().context!=e&&mH.setState({context:e,openWorkspaces:[],prompt:null})}let mF={context:"",openWorkspaces:[],prompt:null,workspaceWindowState:"normal",workspaceGroup:void 0},mH=L("workspace",mF);function mz(){return mH}function mG(e){let t=mH.getState();mH.setState({...t,workspaceWindowState:e})}function mV(e){return e?.preferredWindowSize??"normal"}function mJ(e=()=>{},t=()=>!0){let n=mH.getState().openWorkspaces.filter(t).every(({name:e})=>mI(e)),o=()=>{mQ(),e?.()};n?o():mK("closing-all-workspaces",o)}function mq(){let{workspaceWindowState:e,openWorkspaces:t,prompt:n,workspaceGroup:o}=i5(mH);return(0,iX.useMemo)(()=>({active:t.length>0,prompt:n,workspaceWindowState:e,workspaces:t,workspaceGroup:o}),[t,e,n,o])}function mK(e,t=()=>{},n=""){let o;switch(e){case"closing-workspace":o={title:tY("unsavedChangesTitleText","Unsaved changes"),body:tY("unsavedChangesInOpenedWorkspace","You may have unsaved changes in the opened workspace. Do you want to discard these changes?"),onConfirm:()=>{t?.()},confirmText:tY("discard","Discard")};break;case"closing-all-workspaces":{let e=mH.getState().openWorkspaces.filter(({name:e})=>!mI(e)).map(({title:e},t)=>`${t+1}. ${e}`);o={title:tY("closingAllWorkspacesPromptTitle","You have unsaved changes"),body:tY("closingAllWorkspacesPromptBody","There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}",{workspaceNames:e.join(",")}),onConfirm:()=>{t?.()},confirmText:tY("closeAllOpenedWorkspaces","Discard changes in {{count}} workspaces",{count:e.length})};break}case"closing-workspace-launching-new-workspace":o={title:tY("unsavedChangesTitleText","Unsaved changes"),body:tY("unsavedChangesInWorkspace",'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',{workspaceName:n}),onConfirm:()=>{mH.setState(e=>({...e,prompt:null})),t?.()},confirmText:tY("openAnyway","Open anyway")};break;default:console.error(`Workspace system trying to open unknown prompt type "${e}" in function "showWorkspacePrompts"`),t?.();return}mH.setState(e=>({...e,prompt:o}))}function mX(e,t){return t?.workspaceTitle??e.title}function mQ(){mH.setState(mF)}function mY(e,t={}){if(!e||"default"===e)return;let n=U(e,{});return t&&n.setState(e=>({...e,...t})),n}let mZ="-esm-devtools__action-menu-button-module__container___f7spB",m0="-esm-devtools__action-menu-button-module__elementContainer___ZROo9",m1="-esm-devtools__action-menu-button-module__active___+mcQh";function m2({getIcon:e,formOpenInTheBackground:t,tagContent:n}){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:n})]})}let m6=({getIcon:e,label:t,iconDescription:n,handler:o,type:r,tagContent:i})=>{let a=a4(),{workspaces:s,workspaceWindowState:l}=mq(),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,s$.jsxs)(sU.Button,{className:sM()(mZ,{[m1]:u}),iconDescription:n,kind:"ghost",onClick:o,role:"button",tabIndex:0,size:"md",children:[(0,s$.jsx)("span",{className:m0,children:(0,s$.jsx)(m2,{formOpenInTheBackground:d,getIcon:e,tagContent:i})}),(0,s$.jsx)("span",{children:t})]}):(0,s$.jsx)(sU.IconButton,{align:"left","aria-label":n,className:sM()(mZ,{[m1]:u}),enterDelayMs:300,kind:"ghost",label:t,onClick:o,size:"md",children:(0,s$.jsx)("div",{className:m0,children:(0,s$.jsx)(m2,{formOpenInTheBackground:d,getIcon:e,tagContent:i})})})};var m5=n(3173),m3=n(185),m8=n(4564);function m4({contextKey:e}){let{prompt:t}=mq();return(0,iX.useEffect)(()=>{RegExp(`/${(0,m8.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,iX.useEffect)(()=>(mU(e),()=>{mU(null)}),[e]),(0,iX.useEffect)(()=>{let t=t=>{let{detail:{cancelNavigation:n,newUrl:o}}=t,r=RegExp(`/${(0,m8.A)(e)}(/|$)`),i=new URL(o),a=r.test(i.pathname),s=mH.getState().openWorkspaces.every(({name:e})=>mI(e));a||(s?mQ():(n?.(),mJ(()=>{tg({to:o})})))};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:mD,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:mD,children:t.cancelText??tY("cancel")}),(0,s$.jsx)(sU.Button,{kind:"danger",onClick:t.onConfirm,children:t.confirmText??tY("confirm")})]})]}):null}var m7=n(1820);function m9({workspace:e,additionalPropsFromPage:t}){let[n,o]=(0,iX.useState)(),r=function(e){let[t,n]=(0,iX.useState)({}),[o,r]=(0,iX.useState)(e);return(0,iX.useEffect)(()=>{o!==e&&r(e)},[e]),(0,iX.useEffect)(()=>{let e,t=mY(o);return t&&(n(t.getState()),e=t.subscribe(n)),()=>{t&&e?.()}},[o]),t}(e.currentWorkspaceGroup);(0,iX.useEffect)(()=>{let t=!0;return e.load().then(e=>{t&&o(e)}),()=>{t=!1}},[e]);let i=(0,iX.useMemo)(()=>e&&{closeWorkspace:e.closeWorkspace,closeWorkspaceWithSavedChanges:e.closeWorkspaceWithSavedChanges,promptBeforeClosing:e.promptBeforeClosing,setTitle:e.setTitle,...t,...r,...e.additionalProps},[e,t,r]);return n?(0,s$.jsx)(m7.A,{config:n,mountParcel:iq,...i},e.name):(0,s$.jsx)(sU.InlineLoading,{className:"-esm-devtools__workspace-module__loader___H6dHj",description:`${tY("loading","Loading")} ...`})}function fe({isWithinWorkspace:e,name:t,actionMenuProps:n={}}){let[o,r]=(0,iX.useState)(!1),i=(0,iX.useRef)(window.innerHeight),{featureName:a}=(0,iX.useContext)(iY),s=a4();(0,iX.useEffect)(()=>{let e=()=>{r(!a7(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,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":o,"-esm-devtools__action-menu-module__sideRailVisible___v-1cR":!o}),children:(0,s$.jsx)("div",{className:"-esm-devtools__action-menu-module__container___WocuW",children:(0,s$.jsx)(ar,{className:"-esm-devtools__action-menu-module__chartExtensions___Cn3Jb",name:l,state:n})})})}function ft({contextKey:e,overlay:t,showSiderailAndBottomNav:n,additionalWorkspaceProps:o,actionMenuProps:r}){let i=a4(),{workspaces:a,workspaceWindowState:s,workspaceGroup:l}=mq(),c=l?.name,u=a[0],d="hidden"===s||null==u,m=u?.width??(t?"wider":"narrow"),f=(0,iX.useMemo)(()=>n||c&&!d,[c,d,n]);return aT(!d&&!a7(i)),(0,s$.jsxs)(s$.Fragment,{children:[(0,s$.jsxs)("div",{className:n?"-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"===s,"-esm-devtools__workspace-module__hiddenFixed___BxutH":d}),children:a.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)(iX.Suspense,{fallback:null,children:(0,s$.jsx)(as.I18nextProvider,{i18n:window.i18next,defaultNS:e.moduleName,children:(0,s$.jsx)(fn,{workspaceInstance:e,additionalWorkspaceProps:o})})})},`workspace-container-${e?e.name:`empty-${t}`}`))})}),(0,s$.jsx)(m4,{contextKey:e})]}),f&&(0,s$.jsx)(fe,{name:c,isWithinWorkspace:!n,actionMenuProps:r})]})}function fn({workspaceInstance:e,additionalWorkspaceProps:t}){let{t:n}=(0,as.useTranslation)(),o=a4(),{workspaceWindowState:r,workspaceGroup:i}=mq(),a=i?.name,s="maximized"===r;(0,iX.useEffect)(()=>{let t=n(e.title);t!==e.title&&e.setTitle(t)},[e.title,n,e.setTitle]);let{featureName:l}=(0,iX.useContext)(iY),c=(0,iX.useCallback)(()=>{mG(s?"normal":"maximized")},[s]),{canHide:u=!1,canMaximize:d=!1,currentWorkspaceGroup:m="",closeWorkspace:f}=(0,iX.useMemo)(()=>e??{},[e]),p=(0,iX.useMemo)(()=>({...t,...e?.additionalProps}),[t,e]);return e&&(0,s$.jsxs)(s$.Fragment,{children:[(0,s$.jsxs)(sU.Header,{"aria-label":tY("workspaceHeader","Workspace Header"),className:"-esm-devtools__workspace-module__header___-3kjt",children:[!a7(o)&&!u&&(0,s$.jsx)(sU.HeaderMenuButton,{"aria-label":tY("close","Close"),renderMenuIcon:(0,s$.jsx)(s5,{}),onClick:()=>f()}),(0,s$.jsx)(sU.HeaderName,{prefix:"",children:e.titleNode??n(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)(ar,{name:`workspace-header-group-${e.currentWorkspaceGroup}-slot`,state:p}),(0,s$.jsx)(ar,{name:`workspace-header-type-${e.type}-slot`,state:p}),(0,s$.jsx)(ar,{name:`workspace-header-${l}-slot`,state:p}),a7(o)&&(0,s$.jsxs)(s$.Fragment,{children:[(d||s)&&(0,s$.jsx)(sU.HeaderGlobalAction,{"aria-label":s?tY("minimize","Minimize"):tY("maximize","Maximize"),onClick:c,children:s?(0,s$.jsx)(m5.Xj,{}):(0,s$.jsx)(m5.hz,{})}),u&&!a?(0,s$.jsx)(sU.HeaderGlobalAction,{"aria-label":tY("hide","Hide"),onClick:()=>mG("hidden"),children:(0,s$.jsx)(s3,{})}):(0,s$.jsx)(sU.HeaderGlobalAction,{"aria-label":tY("close","Close"),onClick:()=>f?.(),children:(0,s$.jsx)(lf,{})})]}),"tablet"===o&&u&&(0,s$.jsx)(sU.HeaderGlobalAction,{"aria-label":tY("close","Close"),onClick:()=>f?.(),children:(0,s$.jsx)(m3.d3,{})})]})]}),(0,s$.jsx)("div",{className:sM()("-esm-devtools__workspace-module__workspaceContent___cNdK1",{"-esm-devtools__workspace-module__marginWorkspaceContent___RXftx":!!m}),children:(0,s$.jsx)(m9,{workspace:e,additionalPropsFromPage:t},e.name)})]})}async function fo(e,t){let{openedGroup:n}=iR.getState();if(n){if(n.groupName===e&&fa(n.props,t))return!0;else if(!await fs({reason:"CLOSE_WORKSPACE_GROUP",explicit:!1}))return!1}return iR.setState(n=>({...n,openedGroup:{groupName:e,props:t},openedWindows:[]})),!0}async function fr(e){let{openedGroup:t,openedWindows:n}=iR.getState();if(t){if(n.length>0&&!(e||await fs({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})))return!1;iR.setState(e=>({...e,openedGroup:null,openedWindows:[]}))}return!0}async function fi(e,t=null,n=null,o=null){let r=iR.getState();if(!r.registeredWorkspacesByName[e])throw Error(`Unable to launch workspace ${e}. Workspace is not registered`);let i=iM(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=iW(s);if(!l)throw Error(`Unable to launch workspace ${e}. Workspace window ${i.name} is not registered to a workspace group`);let c=iD(e);if(a&&(a.groupName!==l.name||!fa(a.props,o)))return!!await fs({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})&&(iR.setState({...r,openedGroup:{groupName:l.name,props:o},openedWindows:[{windowName:s,openedWorkspaces:[fm(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0);if(c>=0){let o=r.openedWindows[c],i=r.openedGroup?.props??{},a=r.isMostRecentlyOpenedWindowHidden,{openedWorkspaces:u}=o;if(fa(o.props,n)){let d=u.find(t=>t.workspaceName===e);return d&&fa(d.props,t)?((a||c!==r.openedWindows.length-1)&&iR.setState(fl.restoreWindow(r,s)),!0):!!await fs({reason:"CLOSE_WORKSPACE",explicit:!1,windowName:s,workspaceName:e})&&(iR.setState({...r,openedGroup:{groupName:l.name,props:r?.openedGroup?.props??i},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:s,openedWorkspaces:[fm(e,t)],props:o?.props??n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return!!await fs({reason:"CLOSE_WINDOW",explicit:!1,windowName:s})&&(iR.setState({...r,openedGroup:{groupName:l.name,props:i??r?.openedGroup?.props},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:s,openedWorkspaces:[fm(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return"closable"!=l.persistence?(iR.setState({...r,openedGroup:{groupName:l.name,props:o??r?.openedGroup?.props??null},openedWindows:[...r.openedWindows,{windowName:s,openedWorkspaces:[fm(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0):!!await fs({reason:"CLOSE_OTHER_WINDOWS",explicit:!1,windowNameToSpare:i.name})&&(iR.setState({...r,openedGroup:{groupName:l.name,props:o??r?.openedGroup?.props??null},openedWindows:[{windowName:s,openedWorkspaces:[fm(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}function fa(e,t){return null==e||null==t||E(e,t)}function fs(e){function t(e,t){let n=[];for(let o=e.openedWorkspaces.length-1;o>=0;o--){let r=e.openedWorkspaces[o];if(r.hasUnsavedChanges&&n.push(r),t&&r.workspaceName===t)break}return n}let{openedWindows:n,workspaceTitleByWorkspaceName:o}=iR.getState(),r=[];switch(e.reason){case"CLOSE_WORKSPACE_GROUP":r=n.flatMap(e=>t(e));break;case"CLOSE_WINDOW":{let o=n.find(t=>t.windowName===e.windowName);if(!o)throw Error(`Window ${e.windowName} not found in opened windows.`);r=t(o);break}case"CLOSE_WORKSPACE":{let o=n.find(t=>t.windowName===e.windowName);if(!o)throw Error(`Window ${e.windowName} not found in opened windows.`);r=t(o,e.workspaceName);break}case"CLOSE_OTHER_WINDOWS":r=n.filter(t=>t.windowName!==e.windowNameToSpare).flatMap(e=>t(e))}return 0===r.length?Promise.resolve(!0):new Promise(e=>{let t=dn("workspace2-close-prompt",{size:"sm",onConfirm:()=>{t(),e(!0)},onCancel:()=>{t(),e(!1)},affectedWorkspaceTitles:r.map(e=>o[e.workspaceName])})})}let fl={setWindowMaximized(e,t,n){let o=e.openedWindows.findIndex(e=>e.windowName===t),r=[...e.openedWindows],i={...r[o],maximized:n};return r[o]=i,{...e,openedWindows:r}},hideWindow:e=>({...e,isMostRecentlyOpenedWindowHidden:!0}),restoreWindow(e,t){let n=e.openedWindows.findIndex(e=>e.windowName===t),o=e.openedWindows[n],r=[...e.openedWindows.filter((e,t)=>t!==n),o];return{...e,openedWindows:r,isMostRecentlyOpenedWindowHidden:!1}},closeWorkspace(e,t){let n=iD(t);if(n<0)return e;let o={...e.openedWindows[n]},r=o.openedWorkspaces.findIndex(e=>e.workspaceName===t),i=[...e.openedWindows];o.openedWorkspaces=o.openedWorkspaces.slice(0,r);let a=e.isMostRecentlyOpenedWindowHidden;if(0===o.openedWorkspaces.length){let t=n===e.openedWindows.length-1;i.splice(n,1),t&&i.length>0&&(a=!1)}else i[n]=o;return{...e,openedWindows:i,isMostRecentlyOpenedWindowHidden:a}},openChildWorkspace(e,t,n,o){let r=e.registeredWorkspacesByName[n];if(!r)throw Error(`No workspace named "${n}" registered`);let i=e.registeredWorkspacesByName[t];if(!i)throw Error(`No workspace named "${t}" registered`);if(i.window!==r.window)throw Error(`Child workspace ${n} does not belong to the same workspace window as parent workspace ${t}`);let a=e.openedWindows.findIndex(e=>e.windowName===r.window);if(-1==a)throw Error(`Cannot open child workspace ${n} as window ${r.window} is not opened`);let{openedWorkspaces:s}=e.openedWindows[a],l=s.findIndex(e=>e.workspaceName===t);if(-1===l)throw Error(`Cannot open child workspace ${n} from parent workspace ${t} as the parent is not opened within the workspace window`);let c=s.slice(0,l+1);return{openedWindows:e.openedWindows.map((e,t)=>t==a?{...e,openedWorkspaces:[...c,fm(n,o)]}:e)}},setHasUnsavedChanges(e,t,n){let o=iD(t);if(o<0)return e;let r={...e.openedWindows[o]},i=r.openedWorkspaces.findIndex(e=>e.workspaceName===t);if(i<0)return e;r.openedWorkspaces[i]={...r.openedWorkspaces[i],hasUnsavedChanges:n};let a=[...e.openedWindows];return a[o]=r,{...e,openedWindows:a}},setWorkspaceTitle(e,t,n){let o={...e.workspaceTitleByWorkspaceName};return null===n?delete o[t]:o[t]=n,{...e,workspaceTitleByWorkspaceName:o}}};function fc(){return i3(iR,fl)}let fu=()=>(0,iX.useContext)(aa.i),fd=()=>Object.keys(iR.getState().registeredWorkspacesByName);function fm(e,t){return{workspaceName:e,props:t??{},hasUnsavedChanges:!1,uuid:(0,og.A)()}}let ff={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"},fp=({title:e,children:t,hasUnsavedChanges:n=!1})=>{let o=a4(),{setWindowMaximized:r,hideWindow:i,setHasUnsavedChanges:a,openedWindows:s,openedGroup:l,registeredGroupsByName:c,registeredWindowsByName:u,registeredWorkspacesByName:d,workspaceTitleByWorkspaceName:m,setWorkspaceTitle:f,isMostRecentlyOpenedWindowHidden:p}=fc(),{workspaceName:g,isRootWorkspace:h,closeWorkspace:w,showActionMenu:_}=fu(),y=iD(g),v=s[y],b=v?.openedWorkspaces.find(e=>e.workspaceName===g);if((0,iX.useEffect)(()=>{b?.hasUnsavedChanges!=n&&a(g,n??!1)},[b?.hasUnsavedChanges,n,g,a]),(0,iX.useEffect)(()=>{m[g]!==e&&f(g,e)},[m,g,e,f]),y<0||null==l||null==b)return null;let x=c[l.groupName];if(!x)throw Error(`Cannot find registered workspace group ${l.groupName}`);let k=d[g].window,S=u[k];if(!S)throw Error(`Cannot find registered workspace window ${k}`);let{icon:j,canMaximize:N}=S,C="closable"===x.persistence,E=!!j&&!C,{maximized:O}=v,I=S?.width??"narrow",A=Object.values(u).some(e=>e.group===l.groupName&&void 0!==e.icon),P=y<s.length-1||p;return(0,s$.jsxs)("div",{className:sM()(ff.workspaceOuterContainer,{[ff.narrowWorkspace]:"narrow"===I,[ff.widerWorkspace]:"wider"===I,[ff.extraWideWorkspace]:"extra-wide"===I,[ff.isActionMenuOpened]:A}),children:[(0,s$.jsx)("div",{className:sM()(ff.workspaceSpacer,{[ff.hidden]:P})}),(0,s$.jsx)("div",{className:sM()(ff.workspaceMiddleContainer,{[ff.maximized]:O,[ff.hidden]:P,[ff.isRootWorkspace]:h,[ff.showActionMenu]:_}),children:(0,s$.jsxs)("div",{className:sM()(ff.workspaceInnerContainer,{[ff.maximized]:O,[ff.hidden]:P,[ff.isRootWorkspace]:h}),children:[(0,s$.jsxs)(sU.Header,{"aria-label":tY("workspaceHeader"),className:ff.header,children:[(0,s$.jsx)(sU.HeaderName,{prefix:"",children:e}),(0,s$.jsx)("div",{className:ff.overlayHeaderSpacer}),(0,s$.jsx)(sU.HeaderGlobalBar,{className:ff.headerButtons,children:a7(o)?(0,s$.jsxs)(s$.Fragment,{children:[(N||O)&&(0,s$.jsx)(sU.HeaderGlobalAction,{"aria-label":O?tY("minimize"):tY("maximize"),onClick:()=>r(k,!O),children:O?(0,s$.jsx)(m5.Xj,{}):(0,s$.jsx)(m5.hz,{})}),E&&(0,s$.jsx)(sU.HeaderGlobalAction,{"aria-label":tY("hide"),onClick:()=>i(),children:(0,s$.jsx)(s3,{})}),!C&&(0,s$.jsx)(sU.HeaderGlobalAction,{"aria-label":tY("close"),onClick:()=>w({closeWindow:!0}),children:(0,s$.jsx)(lf,{})})]}):(0,s$.jsxs)(s$.Fragment,{children:[E&&(0,s$.jsx)(sU.HeaderGlobalAction,{"aria-label":tY("hide"),onClick:()=>i(),children:(0,s$.jsx)(m3.d3,{})}),(0,s$.jsx)(sU.HeaderGlobalAction,{"aria-label":tY("close"),onClick:()=>{C?fr():w({closeWindow:!0})},children:(0,s$.jsx)(lf,{})})]})})]}),(0,s$.jsx)("div",{className:sM()(ff.workspaceContent),children:t})]})})]})},fg="-esm-devtools__action-menu-button2-module__container___jc6--",fh="-esm-devtools__action-menu-button2-module__elementContainer___whLL8",fw="-esm-devtools__action-menu-button2-module__active___fbyFm",f_="-esm-devtools__action-menu-button2-module__focused___+aVpz";function fy({getIcon:e,hasUnsavedChanges:t,tagContent:n}){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:n})]})}let fv=({icon:e,label:t,tagContent:n,workspaceToLaunch:o,onBeforeWorkspaceLaunch:r})=>{let i=a4(),{openedWindows:a,restoreWindow:s,hideWindow:l,isMostRecentlyOpenedWindowHidden:c}=fc(),{extension:u}=(0,iX.useContext)(iY),d=a.findIndex(e=>e.windowName===u?.extensionId),m=a[d],f=null!=m,p=f&&(d<a.length-1||c),g=f&&!p,h=m?.openedWorkspaces.some(e=>e.hasUnsavedChanges)??!1,w=async()=>{if(f)p?s(m.windowName):l();else if(await (r?.()??!0)){let{workspaceName:e,workspaceProps:t,windowProps:n}=o;fi(e,t,n)}};return"tablet"===i||"phone"===i?(0,s$.jsxs)(sU.Button,{className:sM()(fg,{[fw]:f&&!g,[f_]:g}),iconDescription:t,kind:"ghost",onClick:w,role:"button",tabIndex:0,size:"md",children:[(0,s$.jsx)("span",{className:fh,children:(0,s$.jsx)(fy,{hasUnsavedChanges:h,getIcon:e,tagContent:n})}),(0,s$.jsx)("span",{children:t})]}):(0,s$.jsx)(sU.IconButton,{align:"left","aria-label":t,className:sM()(fg,{[fw]:f&&!g,[f_]:g}),enterDelayMs:300,kind:"ghost",label:t,onClick:w,size:"md",children:(0,s$.jsx)("div",{className:fh,children:(0,s$.jsx)(fy,{hasUnsavedChanges:h,getIcon:e,tagContent:n})})})};function fb({showContactDetails:e,toggleContactDetails:t,className:n}){return(0,s$.jsx)(sU.Button,{className:n,iconDescription:"Toggle contact details",kind:"ghost",onClick:t,renderIcon:e?lm:lc,children:e?tY("showLess","Show less"):tY("showMore","Show more")})}let fx={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-"},fk=({patientUuid:e})=>{let{cohorts:t=[],isLoading:n}=function(e){let t=e?`${tj}/cohortm/cohortmember?patient=${e}&v=custom:(uuid,patient:ref,cohort:(uuid,name,startDate,endDate))`:null,{data:n,isLoading:o}=(0,al.u)(t,tO),r=n?.data?.results.map(e=>({uuid:e.cohort.uuid,name:e.cohort.name,startDate:e.cohort.startDate,endDate:e.cohort.endDate}));return(0,iX.useMemo)(()=>({cohorts:r,isLoading:o}),[o,r])}(e);return(0,s$.jsxs)(s$.Fragment,{children:[(0,s$.jsxs)("p",{className:fx.heading,children:[tY("patientLists","Patient Lists")," (",t?.length??0,")"]}),n?(0,s$.jsx)(sU.InlineLoading,{description:`${tY("loading","Loading")} ...`,role:"progressbar"}):(0,s$.jsxs)("ul",{children:[(()=>{if(t?.length>0){let e=t.sort((e,t)=>c1(e?.startDate).getTime()-c1(t?.startDate).getTime()).slice(0,3);return e?.map(e=>(0,s$.jsx)("li",{children:(0,s$.jsx)(iZ,{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:fx.link,children:(0,s$.jsx)(iZ,{to:`${window.spaBase}/home/patient-lists`,children:tY("seeMoreLists","See {{count}} more lists",{count:t?.length-3})})})]})]})},fS=({patientId:e})=>{let{patient:t,isLoading:n}=sl(e),o=t?.address?.find(e=>"home"===e.use),r=e=>e.split("#")[1];return n?(0,s$.jsx)(sU.InlineLoading,{description:`${tY("loading","Loading")} ...`,role:"progressbar"}):(0,s$.jsxs)(s$.Fragment,{children:[(0,s$.jsx)("p",{className:fx.heading,children:tY("address","Address")}),(0,s$.jsx)("ul",{children:o?Object.entries(o).filter(([e])=>"id"!==e&&"use"!==e).map(([e,t])=>"extension"===e?o.extension?.[0]?.extension?.map((t,n)=>(0,s$.jsxs)("li",{children:[tY(r(t.url),r(t.url)),": ",t.valueString]},`address-${e}-${n}`)):(0,s$.jsxs)("li",{children:[tY(e,e),": ",t]},`address-${e}`)):(0,s$.jsx)("li",{children:"--"})})]})},fj=({patientUuid:e})=>{let{isLoading:t,contactAttributes:n}=(e=>{let{contactAttributeTypes:t=[]}=aM({externalModuleName:"@openmrs/esm-patient-banner-app"}),{attributes:n,error:o,isLoading:r}=(e=>{let{data:t,error:n,isLoading:o}=(0,aB.A)(`${tj}/patient/${e}?v=custom:(uuid,display,identifiers:(identifier,uuid,preferred,location:(uuid,name),identifierType:(uuid,name,format,formatDescription,validator)),person:(uuid,display,gender,birthdate,dead,age,deathDate,birthdateEstimated,causeOfDeath,preferredName:(uuid,preferred,givenName,middleName,familyName),attributes,preferredAddress:(uuid,preferred,address1,address2,cityVillage,longitude,stateProvince,latitude,country,postalCode,countyDistrict,address3,address4,address5,address6,address7)))`,tO);return{isLoading:o,attributes:t?.data.person.attributes??[],error:n}})(e);return{contactAttributes:(0,iX.useMemo)(()=>n.filter(({attributeType:e})=>t?.some(t=>e.uuid===t)),[n,t]),isLoading:r,error:o}})(e),o=(0,iX.useMemo)(()=>n?[...n?.map(e=>[e.attributeType.display?tY(e.attributeType.display,e.attributeType.display):"",e.value])]:[],[n]);return(0,s$.jsxs)(s$.Fragment,{children:[(0,s$.jsx)("p",{className:fx.heading,children:tY("contactDetails","Contact Details")}),t?(0,s$.jsx)(sU.InlineLoading,{description:`${tY("loading","Loading")} ...`,role:"progressbar"}):(0,s$.jsx)("ul",{children:o.length?o.map(([e,t],n)=>(0,s$.jsxs)("li",{children:[e,": ",t]},`${e}-${t}-${n}`)):(0,s$.jsx)("li",{children:"--"})})]})},fN=({patientId:e})=>{let{data:t,isLoading:n}=function(e){let t=`${tj}/relationship?v=custom:(display,uuid,personA:(age,display,birthdate,uuid),personB:(age,display,birthdate,uuid),relationshipType:(uuid,display,description,aIsToB,bIsToA))&person=${e}`,{data:n,error:o,isLoading:r,isValidating:i}=(0,al.u)(e?t:null,tO),a=n?.data?.results?.length?function(e,t){let n=[];for(let o of t)e===o.personA.uuid?n.push({uuid:`${o.uuid}`,display:o.personB.display,relativeAge:o.personB.age,relativeUuid:o.personB.uuid,relationshipType:o.relationshipType.bIsToA}):n.push({uuid:`${o.uuid}`,display:o.personA.display,relativeAge:o.personA.age,relativeUuid:o.personA.uuid,relationshipType:o.relationshipType.aIsToB});return n}(e,n.data.results):null;return{data:n?a:null,error:o,isLoading:r,isValidating:i}}(e);return(0,s$.jsxs)(s$.Fragment,{children:[(0,s$.jsx)("p",{className:fx.heading,children:tY("relationships","Relationships")}),n?(0,s$.jsx)(sU.InlineLoading,{description:`${tY("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:fx.relationship,children:[(0,s$.jsx)("div",{children:(0,s$.jsx)(iZ,{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?tY("yearAbbreviation","yr"):tY("yearsAbbreviation","yrs"):""}`})]},e.uuid))}):(0,s$.jsx)("li",{children:"--"})})]})};function fC({patientId:e,deceased:t}){return(0,s$.jsxs)("div",{className:sM()(fx.contactDetails,{[fx.deceased]:t}),children:[(0,s$.jsxs)("div",{className:fx.row,children:[(0,s$.jsx)("div",{className:fx.col,children:(0,s$.jsx)(fS,{patientId:e})}),(0,s$.jsx)("div",{className:fx.col,children:(0,s$.jsx)(fj,{patientUuid:e})})]}),(0,s$.jsxs)("div",{className:fx.row,children:[(0,s$.jsx)("div",{className:fx.col,children:(0,s$.jsx)(fN,{patientId:e})}),(0,s$.jsx)("div",{className:fx.col,children:(0,s$.jsx)(fk,{patientUuid:e})})]})]})}function fE(e){let t=document.querySelector("template#loading-spinner");if(t){let n=t.content.cloneNode(!0),o=Array.prototype.map.call(n.childNodes,e=>e);return e.appendChild(n),()=>o.forEach(e=>e.remove())}return()=>{}}let fO="-esm-devtools__action-menu2-module__container___6Gke0";function fI({workspaceGroup:e,groupProps:t}){let n=a4(),{persistence:o}=e;return(0,s$.jsx)("aside",{className:"-esm-devtools__action-menu2-module__sideRail___T2lMV",children:(0,s$.jsxs)("div",{className:fO,children:["closable"==o&&a7(n)&&(0,s$.jsx)(sU.IconButton,{align:"left",onClick:()=>fr(),label:tY("close"),kind:"ghost",children:(0,s$.jsx)(lf,{})}),(0,s$.jsx)(iY.Provider,{value:{moduleName:e.moduleName,featureName:e.name},children:(0,s$.jsx)(ar,{className:fO,name:e.name,state:{groupProps:t}})})]})})}function fA(e){let t=new URL(e,window.location.origin).pathname,n=new URL(window.getOpenmrsSpaBase?.()??"/",window.location.origin).pathname,o=n.endsWith("/")?n.slice(0,-1):n,r=null;return o?o===t?r="/":t.startsWith(`${o}/`)&&(r=t.slice(o.length)):r=t,{full:t,spaRelative:r}}let fP=({lifeCycle:e,openedWorkspace:t,openedWindow:n,isRootWorkspace:o,isLeafWorkspace:r,showActionMenu:i})=>{let{openedGroup:a,closeWorkspace:s,openChildWorkspace:l}=fc(),c=(0,iX.useMemo)(()=>t&&{closeWorkspace:async(e={})=>{let{closeWindow:o=!1,discardUnsavedChanges:r=!1}=e;return o?!!(r||await fs({reason:"CLOSE_WINDOW",explicit:!0,windowName:n.windowName}))&&(s(n.openedWorkspaces[0].workspaceName),!0):!!(r||await fs({reason:"CLOSE_WORKSPACE",explicit:!0,windowName:n.windowName,workspaceName:t.workspaceName}))&&(s(t.workspaceName),!0)},launchChildWorkspace:async(e,o)=>{let r=t.workspaceName,{openedWorkspaces:i}=n,a=i.findIndex(e=>e.workspaceName===r);-1===a||a!==i.length-1&&i.slice(a+1).some(e=>e.hasUnsavedChanges)&&!await fs({reason:"CLOSE_WORKSPACE",explicit:!0,windowName:n.windowName,workspaceName:i[a+1].workspaceName})||l(r,e,o||{})},workspaceName:t.workspaceName,workspaceProps:t.props,windowProps:n.props,groupProps:a&&a.props?a.props:null,isRootWorkspace:o,isLeafWorkspace:r,windowName:n.windowName,showActionMenu:i},[t,s,a,n]);if(!e){let{registeredWorkspacesByName:e}=iR.getState(),n=e[t.workspaceName],r=n&&n.window?n.window:void 0,{registeredWindowsByName:s}=iR.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,s$.jsxs)("div",{className:sM()(ff.workspaceOuterContainer,{[ff.narrowWorkspace]:"narrow"===c,[ff.widerWorkspace]:"wider"===c,[ff.extraWideWorkspace]:"extra-wide"===c,[ff.isActionMenuOpened]:u}),children:[(0,s$.jsx)("div",{className:ff.workspaceSpacer}),(0,s$.jsx)("div",{className:sM()(ff.workspaceMiddleContainer,{[ff.isRootWorkspace]:o,[ff.showActionMenu]:i}),children:(0,s$.jsx)("div",{className:sM()(ff.workspaceInnerContainer,{[ff.isRootWorkspace]:o}),children:(0,s$.jsx)(sU.InlineLoading,{className:ff.loader,description:`${tY("loading")} ...`})})})]})}return(0,s$.jsx)(m7.A,{config:e,mountParcel:iq,...c},t.workspaceName)},fT=({openedWindow:e,showActionMenu:t})=>{let{openedWorkspaces:n}=e,[o,r]=(0,iX.useState)({}),{registeredWorkspacesByName:i}=iR.getState();return(0,iX.useEffect)(()=>{let e=!1;return Promise.all(n.map(async e=>{let{moduleName:t,component:n}=i[e.workspaceName];return[e.uuid,await sk(t,n)]})).then(t=>{e||r(Object.fromEntries(t))}),()=>{e=!0}},[n]),(0,s$.jsx)(s$.Fragment,{children:n.map((r,i)=>(0,s$.jsx)(fP,{openedWorkspace:r,openedWindow:e,lifeCycle:o[r.uuid],isRootWorkspace:0===i,isLeafWorkspace:i===n.length-1,showActionMenu:t},r.uuid))})};function f$(e){e&&(0,ai.createRoot)(e).render((0,s$.jsx)(fR,{}))}function fR(){let{openedGroup:e,openedWindows:t,registeredGroupsByName:n,registeredWindowsByName:o}=fc();if((0,iX.useEffect)(()=>oL("before-page-changed",t=>{let{newPage:o,cancelNavigation:r,oldUrl:i,newUrl:a}=t;if(!e)return;if(o)return void r(fr().then(e=>!e));let s=n[e.groupName],l=s?.scopePattern;l&&function(e,t,n){try{let o=new RegExp(e),r=fA(t),i=fA(n);if(null===r.spaRelative||null===i.spaRelative)return!0;let a=o.exec(r.spaRelative),s=o.exec(i.spaRelative);if(a&&s||(a=o.exec(r.full),s=o.exec(i.full)),!a||!s)return!0;if(a.length>1)return!a.slice(1).every((e,t)=>e===s[t+1]);return!1}catch{return!0}}(l,i,a)&&r(fr().then(e=>!e))}),[e,n]),!e)return null;let r=n[e.groupName],i=t.some(e=>e.maximized),{name:a}=r,s=Object.values(o).filter(e=>e.group===a&&void 0!==e.icon).sort((e,t)=>(e.order??Number.MAX_VALUE)-(t.order??Number.MAX_VALUE)).length>0;return(0,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)(fT,{openedWindow:e,showActionMenu:s},e.windowName))}),s&&(0,s$.jsx)(fI,{workspaceGroup:r,groupProps:e.props})]})}function fM(e,t,n){if(null==e)return n;let o=cF(e);if(!o)return console.warn(`matchLocale: invalid requested locale tag: ${JSON.stringify(e)}`),n;let r=[];for(let e of t){let t=cF(e);if(!t){console.warn(`matchLocale: skipping invalid available locale tag: ${JSON.stringify(e)}`);continue}r.push({canonical:t,original:e})}let i=o;for(;i;){let e=r.find(e=>e.canonical===i);if(e)return e.original;let t=i+"-",n=r.find(e=>e.canonical.startsWith(t));if(n)return n.original;if("ht"===i){i="fr-HT";continue}let o=i.lastIndexOf("-");if(-1===o)break;let a=(i=i.slice(0,o)).lastIndexOf("-");-1!==a&&i.length-a==2&&(i=i.slice(0,a))}return n}function fW(e=window.localStorage){try{return e.getItem("test"),!0}catch{return!1}}function fD(e){return!!e&&e.constructor===Object}var fL=n(143);function fB(e){let[t,n,o]=e.split(".");return`${t}.${n}.${o}`}function fU(e,t){let n=function(e){let t=e.indexOf("-");if(t>=0){let n=fB(e.slice(0,t)),o=e.slice(t+1);return`${n}-${o}`}return fB(e)}(t);return fL.satisfies(n,e,{includePrerelease:!0})}async function fF(e,t={}){let n,{shouldRetry:o,getDelay:r,onError:i}=t;o=o??(e=>e<=5),r=r??(e=>(function(e,t=!1){return 1e3*Math.pow(2,t?e+1:e)})(e));let a=0;do try{return await fH(r(a)),await e()}catch(e){i?.(e,a),n=e}while(o(a++));throw n}async function fH(e){if(!(e<=0))return new Promise(t=>setTimeout(t,e))}}}]);
32
+ To fix this, ensure that you define the "component" field inside the page definition.`,e);let o=function(e,{online:t,offline:n,featureFlag:o}){return window.offlineEnabled?r=>!!(navigator.onLine&&(t??!0)||!navigator.onLine&&n)&&(!o||!!rP(o))&&e(r):e}(function e(t){if(Array.isArray(t)){let n=t.map(e);return e=>n.some(t=>t(e))}return"string"==typeof t?(0,tm.fz)(window.getOpenmrsSpaBase()+t):t instanceof RegExp?e=>t.test(e.pathname.replace(window.getOpenmrsSpaBase(),"")):()=>t}(n),t);(0,tm.AG)(e,()=>sS(t.appName,t.component),o)}(o,t)}}let sA={PHONE_MIN:0,PHONE_MAX:600,TABLET_MIN:601,TABLET_MAX:1023,SMALL_DESKTOP_MIN:1024,SMALL_DESKTOP_MAX:1439,LARGE_DESKTOP_MIN:1440,LARGE_DESKTOP_MAX:Number.MAX_SAFE_INTEGER};function 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 sT=!1;function s$(){sT||(window.addEventListener("resize",sP),sP(),sT=!0)}var sR=n(6870),sM=n(5530),sW=n.n(sM);function sD({title:e,children:t}){let n="tablet"===a7();return(0,sR.jsxs)("div",{className:sW()({"-esm-devtools__card-header-module__tabletHeader___Vkmd-":n,"-esm-devtools__card-header-module__desktopHeader___ocWGq":!n}),children:[(0,sR.jsx)("h4",{children:e}),t]})}let sL=["red","magenta","purple","blue","teal","cyan","gray","green","warm-gray","cool-gray","high-contrast","outline"],sB={primaryColor:{_type:Q.String,_description:"The color for displaying primary diagnoses tags",_default:"red",_validators:[to.oneOf(sL)]},secondaryColor:{_type:Q.String,_description:"The color for displaying secondary diagnoses tags",_default:"blue",_validators:[to.oneOf(sL)]}},sU={"Brand color #1":{_default:"#005d5d",_type:Q.String},"Brand color #2":{_default:"#004144",_type:Q.String},"Brand color #3":{_default:"#007d79",_type:Q.String},excludePatientIdentifierCodeTypes:{uuids:{_type:Q.Array,_description:"List of UUIDs of patient identifier types to exclude from rendering in the patient banner",_default:[],_elements:{_type:Q.UUID}}},implementationName:{_type:Q.String,_description:"A name of the place (or authority) where all possible locations a user can choose are located.",_default:"Clinic"},patientPhotoConceptUuid:{_type:Q.ConceptUuid,_default:"736e8771-e501-4615-bfa7-570c03f4bef5",_description:"Used to look up the patient photo, which is stored as an attachment obs. Set to `null` in order to disable the feature and use only generated avatars. To remove the avatars entirely, use extension configuration's `remove` feature."},preferredCalendar:{_type:Q.Object,_description:"Keys should be locale codes, and values should be the preferred calendar for that locale. For example, {'am': 'ethiopic'}.",_default:{am:"ethiopic"},_elements:{_validators:[to.oneOf(["buddhist","chinese","coptic","dangi","ethioaa","ethiopic","gregory","hebrew","indian","islamic","islamic-umalqura","islamic-tbla","islamic-civil","islamic-rgsa","iso8601","japanese","persian","roc","islamicc"])]}},preferredDateLocale:{_type:Q.Object,_description:"Allows setting the locale used for date formatting for any browser locale. Does not affect time formatting. Keys should be locale codes, and values should be the preferred locale for formatting dates. For example, {'en': 'en-US', 'fr-CA': 'en-CA'}.",_default:{en:"en-GB"},_elements:{_type:Q.String}},diagnosisTags:sB};var sF=n(8326);let sH={"carbon.table.batch.cancel":"cancel","carbon.table.batch.items.selected":"batchActionsItemsSelected","carbon.table.batch.item.selected":"batchActionItemSelected","carbon.table.batch.selectAll":"selectAll"},sz=e=>(0,sR.jsx)(sF.TableBatchActions,{translateWithId:(e,t)=>{let n=sH[e];return n?tY(n,e,t):e},...e}),sG="-esm-devtools__custom-overflow-menu-module__container___8PykS",sV="-esm-devtools__custom-overflow-menu-module__menu___qsOLn",sJ="-esm-devtools__custom-overflow-menu-module__show___BserJ",sq="-esm-devtools__custom-overflow-menu-module__overflowMenuButton___n86Gz",sK=(0,iQ.createContext)(null);function sX(){let e=(0,iQ.useContext)(sK);if(!e)throw Error("useCustomOverflowMenu must be used within a CustomOverflowMenu");return e}function sQ({menuTitle:e,children:t}){let[n,o]=iY().useState(!1),r=so(()=>o(!1),n),i="tablet"===a7(),a=(0,iQ.useCallback)(()=>o(e=>!e),[]),s=(0,iQ.useRef)(null),l=(0,iQ.useRef)(null),c=(0,iQ.useId)(),u=`custom-overflow-menu-trigger-${c}`,d=`custom-overflow-menu-${c}`,m=(0,iQ.useCallback)(()=>{o(!1),s.current?.focus()},[]),f=(0,iQ.useMemo)(()=>({closeMenu:m}),[m]),p=(0,iQ.useCallback)(e=>{"Escape"===e.key&&n&&(e.stopPropagation(),m())},[m,n]),g=iQ.Children.toArray(t);(0,iQ.useEffect)(()=>{if(n&&l.current){let e=l.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[n]);let h=(0,iQ.useCallback)(({currentIndex:e,direction:t})=>{let n=l.current?.querySelectorAll('[role="menuitem"]:not([disabled])');if(!n?.length)return;let o=document.activeElement?.closest?.('[role="menuitem"]')??document.activeElement,r=Array.from(n).indexOf(o);if(-1===r)return void n[t>0?0:n.length-1]?.focus();let i=r+t,a=i<0?n.length-1:i>=n.length?0:i;n[a]?.focus()},[]),w=g.map((e,t)=>(0,iQ.isValidElement)(e)?(0,iQ.cloneElement)(e,{closeMenu:m,handleOverflowMenuItemFocus:h,index:t}):e);return(0,sR.jsxs)("div",{"data-overflow-menu":!0,className:sW()("cds--overflow-menu",sG),ref:r,children:[(0,sR.jsx)("button",{className:sW()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":n},sq),"aria-controls":d,"aria-expanded":n,"aria-haspopup":"true",id:u,onClick:a,onKeyDown:p,ref:s,children:e}),(0,sR.jsxs)("div",{className:sW()("cds--overflow-menu-options","cds--overflow-menu--flip",sV,{[sJ]:n}),"aria-labelledby":u,"data-floating-menu-direction":"bottom",id:d,onKeyDown:p,ref:l,role:"menu",tabIndex:-1,children:[(0,sR.jsx)("ul",{className:sW()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":i}),children:(0,sR.jsx)(sK.Provider,{value:f,children:w})}),(0,sR.jsx)("span",{})]})]})}function sY(e){let t=(0,iQ.useContext)(sK);return(0,sR.jsx)(sF.OverflowMenuItem,{...e,closeMenu:t?.closeMenu})}var sZ=n(2277),s0=n(4194);let s1=["omrs-icon-activity","omrs-icon-add","omrs-icon-arrow-down","omrs-icon-arrow-left","omrs-icon-arrow-right","omrs-icon-arrow-up","omrs-icon-baby","omrs-icon-calendar-heat-map","omrs-icon-calendar","omrs-icon-caret-down","omrs-icon-caret-left","omrs-icon-caret-right","omrs-icon-caret-up","omrs-icon-chart-average","omrs-icon-chart-line","omrs-icon-checkmark-filled","omrs-icon-checkmark-outline","omrs-icon-chemistry","omrs-icon-chevron-down","omrs-icon-chevron-left","omrs-icon-chevron-right","omrs-icon-chevron-up","omrs-icon-close","omrs-icon-close-filled","omrs-icon-close-outline","omrs-icon-document","omrs-icon-document-attachment","omrs-icon-download","omrs-icon-drug-order","omrs-icon-edit","omrs-icon-event-schedule","omrs-icon-events","omrs-icon-gender-female","omrs-icon-gender-male","omrs-icon-gender-other","omrs-icon-gender-unknown","omrs-icon-generic-order-type","omrs-icon-group","omrs-icon-group-access","omrs-icon-hospital-bed","omrs-icon-image-medical","omrs-icon-information","omrs-icon-information-filled","omrs-icon-information-square","omrs-icon-inventory-management","omrs-icon-lab-order","omrs-icon-list-checked","omrs-icon-location","omrs-icon-material-order","omrs-icon-maximize","omrs-icon-medication","omrs-icon-message-queue","omrs-icon-microscope","omrs-icon-mobile-check","omrs-icon-money","omrs-icon-mother","omrs-icon-movement","omrs-icon-overflow-menu--horizontal","omrs-icon-overflow-menu--vertical","omrs-icon-password","omrs-icon-pedestrian-family","omrs-icon-pen","omrs-icon-printer","omrs-icon-procedure-order","omrs-icon-programs","omrs-icon-renew","omrs-icon-referral-order","omrs-icon-report","omrs-icon-reset","omrs-icon-save","omrs-icon-search","omrs-icon-settings","omrs-icon-shopping-cart","omrs-icon-shopping-cart--arrow-down","omrs-icon-sticky-note-add","omrs-icon-switcher","omrs-icon-syringe","omrs-icon-table-of-contents","omrs-icon-table","omrs-icon-time","omrs-icon-tools","omrs-icon-translate","omrs-icon-trash-can","omrs-icon-tree-view--alt","omrs-icon-two-factor-authentication","omrs-icon-user-avatar","omrs-icon-user-follow","omrs-icon-user-xray","omrs-icon-user","omrs-icon-view-off","omrs-icon-view","omrs-icon-warning"],s2=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-activity",iconProps:e})})),s6=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-add",iconProps:e})})),s5=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-arrow-down",iconProps:e})})),s3=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-arrow-left",iconProps:e})})),s8=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-arrow-right",iconProps:e})})),s4=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-arrow-up",iconProps:e})})),s7=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-baby",iconProps:e})})),s9=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-calendar-heat-map",iconProps:e})})),le=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-calendar",iconProps:e})})),lt=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-caret-down",iconProps:e})})),ln=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-caret-left",iconProps:e})})),lo=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-caret-right",iconProps:e})})),lr=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-caret-up",iconProps:e})})),li=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-chart-average",iconProps:e})})),la=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-chart-line",iconProps:e})})),ls=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-checkmark-filled",iconProps:e})})),ll=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-checkmark-outline",iconProps:e})})),lc=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-chemistry",iconProps:e})})),lu=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-chevron-down",iconProps:e})})),ld=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-chevron-left",iconProps:e})})),lm=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-chevron-right",iconProps:e})})),lf=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-chevron-up",iconProps:e})})),lp=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-close",iconProps:e})})),lg=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-close-filled",iconProps:e})})),lh=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-close-outline",iconProps:e})})),lw=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-document",iconProps:e})})),l_=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-document-attachment",iconProps:e})})),ly=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-download",iconProps:e})})),lv=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-drug-order",iconProps:e})})),lb=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-edit",iconProps:e})})),lx=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-event-schedule",iconProps:e})})),lk=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-events",iconProps:e})})),lS=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-gender-female",iconProps:e})})),lj=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-gender-male",iconProps:e})})),lN=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-gender-other",iconProps:e})})),lC=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-gender-unknown",iconProps:e})})),lE=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-generic-order-type",iconProps:e})})),lO=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-group",iconProps:e})})),lI=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-group-access",iconProps:e})})),lA=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-hospital-bed",iconProps:e})})),lP=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-image-medical",iconProps:e})})),lT=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-information",iconProps:e})})),l$=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-information-filled",iconProps:e})})),lR=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-information-square",iconProps:e})})),lM=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-inventory-management",iconProps:e})})),lW=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-lab-order",iconProps:e})})),lD=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-list-checked",iconProps:e})})),lL=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-location",iconProps:e})})),lB=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-material-order",iconProps:e})})),lU=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-maximize",iconProps:e})})),lF=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-medication",iconProps:e})})),lH=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-message-queue",iconProps:e})})),lz=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-microscope",iconProps:e})})),lG=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-mobile-check",iconProps:e})})),lV=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-money",iconProps:e})})),lJ=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-mother",iconProps:e})})),lq=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-movement",iconProps:e})})),lK=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),lX=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),lQ=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-password",iconProps:e})})),lY=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-pedestrian-family",iconProps:e})})),lZ=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-pen",iconProps:e})})),l0=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-printer",iconProps:e})})),l1=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-procedure-order",iconProps:e})})),l2=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-programs",iconProps:e})})),l6=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-referral-order",iconProps:e})})),l5=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-renew",iconProps:e})})),l3=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-report",iconProps:e})})),l8=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-reset",iconProps:e})})),l4=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-save",iconProps:e})})),l7=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-search",iconProps:e})})),l9=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-settings",iconProps:e})})),ce=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-switcher",iconProps:e})})),ct=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-shopping-cart",iconProps:e})})),cn=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-shopping-cart--arrow-down",iconProps:e})})),co=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-sticky-note-add",iconProps:e})})),cr=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-syringe",iconProps:e})})),ci=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-table-of-contents",iconProps:e})})),ca=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-table",iconProps:e})})),cs=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-time",iconProps:e})})),cl=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-tools",iconProps:e})})),cc=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-translate",iconProps:e})})),cu=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-trash-can",iconProps:e})})),cd=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-tree-view--alt",iconProps:e})})),cm=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-two-factor-authentication",iconProps:e})})),cf=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-user-avatar",iconProps:e})})),cp=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-user-follow",iconProps:e})})),cg=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-user-xray",iconProps:e})})),ch=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-user",iconProps:e})})),cw=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-view-off",iconProps:e})})),c_=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-view",iconProps:e})})),cy=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(cN,{ref:t,icon:"omrs-icon-warning",iconProps:e})})),cv=cy,cb=l_,cx=lD,ck=lP,cS=cn,cj=(0,iQ.memo)((0,iQ.forwardRef)(function({icon:e,fallback:t,...n},o){let r=(0,iQ.useRef)(e?document.getElementById(e):void 0);return(0,iQ.useEffect)(()=>{let t=document.getElementById("omrs-svgs-container"),n=new MutationObserver(t=>{for(let n of t)"childList"===n.type&&(r.current=e?document.getElementById(e):void 0)});return t&&n.observe(t,{childList:!0}),()=>n.disconnect()},[e]),(0,sR.jsx)(aC,{value:r.current,fallback:t,children:(0,sR.jsx)(cN,{ref:o,icon:e,iconProps:n})})})),cN=(0,iQ.memo)((0,iQ.forwardRef)(function({icon:e,iconProps:t},n){let{className:o,fill:r,size:i}=Object.assign({},{fill:"currentColor",size:20},t);(i<=0||i>72)&&(console.error(`Invalid size '${i}' specified for ${e}. Defaulting to 20.`),i=20);let a=(0,iQ.useRef)(null);return(0,iQ.useImperativeHandle)(n,()=>a.current),(0,iQ.useEffect)(()=>{a.current&&"currentColor"!==r&&a.current.style.setProperty("--omrs-icon-fill",r)},[]),(0,sR.jsx)("svg",{ref:a,className:sW()("omrs-icon","-esm-devtools__icons-module__icon___BfFhd",o),height:i,width:i,viewBox:"0 0 16 16",children:(0,sR.jsx)("use",{href:`#${e}`})})})),cC=({path:e,title:t,basePath:n,icon:o})=>{let{t:r}=(0,al.useTranslation)(),i=(0,sZ.zy)(),a=(0,iQ.useMemo)(()=>{if(!e)return!1;let t=e.startsWith("/")?e.slice(1):e;if(t.startsWith("http"))return t===window.location.href;let n=t.split("/").map(e=>decodeURIComponent(e)),o=(i.pathname??"").split("/").slice(1).map(e=>decodeURIComponent(e));return o.some((e,t)=>n.every((e,n)=>o[t+n]===e))},[i.pathname,e]);return(0,sR.jsx)("div",{children:(0,sR.jsx)(i0,{className:sW()("cds--side-nav__link",{"active-left-nav-link":a}),to:`${n}/${encodeURIComponent(e)}`,children:(0,sR.jsxs)("span",{className:"-esm-devtools__dashboard-module__menu___ds1tf",children:[(0,sR.jsx)(cj,{icon:o,className:"-esm-devtools__dashboard-module__icon___4Zrrh",size:16}),(0,sR.jsx)("span",{children:r(t)})]})})},e)};function cE(e){return function({basePath:t}){return(0,sR.jsx)(s0.Kd,{children:(0,sR.jsx)(cC,{basePath:t,...e})})}}var cO=n(7715),cI=n(7532),cA=n(3692),cP=n(7615),cT=n(700),c$=n(6816),cR=n(1168);function cM(e){return iY().createElement(cR.C,e)}var cW=n(3010),cD=n(6513),cL=n(6190);function cB(e,t,n=!1){if(null==e)return n?e:void 0;if("string"==typeof e&&!e)return n?null:void 0;if(e instanceof cW.ng||e instanceof cW._l||e instanceof cW.Ip)return t?(0,cD.yP)(e,t):e;{let n=sg()(e).toDate(),o=new cW.ng(n.getFullYear(),n.getMonth()+1,n.getDate());return t?(0,cD.yP)(o,t):o}}function cU(e){if(e)return e.toDate((0,cL.Xj)())}var cF=n(9002);function cH(e){if("string"==typeof e&&0!==e.trim().length)try{return new Intl.Locale(e.replace(/[_@]/g,"-")).toString()}catch{return}}function cz(e){let t=e??"",n=cH(t);if(!n)return t;try{return new Intl.DisplayNames([n],{type:"language"}).of(n)??t}catch{return t}}function cG(){let e=window.i18next.language,t=cH(e)??e;return"ht"===t&&(t="fr-HT"),t}var cV=n(7883),cJ=n(424),cq=n(1492),cK=n(8271);function cX(e,t){var n=function(e,t){if(!t.has(e))throw TypeError("attempted to get private field on non-instance");return t.get(e)}(e,t);return n.get?n.get.call(e):n.value}sp.extend(sh),sp.extend(cq),sp.extend(cJ);let cQ="YYYY-MM-DDTHH:mm:ss.SSSZZ";function cY(e){return null!=e&&28===e.trim().length&&"T"===(e=e.trim())[10]&&":"===e[13]&&":"===e[16]&&"."===e[19]&&("+"===e[23]||"-"===e[23])&&sp(e,cQ).isValid()}function cZ(e){return sp(e).isToday()}function c0(e){return cY(e)?sp(e,cQ).toDate():null}function c1(e,t=!1){let n=sp(e);return t&&(n=n.utc()),n.format(cQ)}function c2(e){return sp(e).toDate()}var c6=new WeakMap;let c5=new class{register(e,t){cX(this,c6).set(e,t)}getCalendar(e){if(!e)return;if(e.calendar)return e.calendar;if(e.region){let t=`${e.language}-${e.region}`;if(cX(this,c6).has(t))return cX(this,c6).get(t)}if(e.language&&cX(this,c6).has(e.language))return cX(this,c6).get(e.language);let t=new Intl.DateTimeFormat(e.toString()).resolvedOptions().calendar;return cX(this,c6).set(`${e.language}${e.region?`-${e.region}`:""}`,t),t}constructor(){!function(e,t,n){if(t.has(e))throw TypeError("Cannot initialize the same private elements twice on an object");t.set(e,n)}(this,c6,{writable:!0,value:new Map})}};function c3(e,t){c5.register(e,t)}function c8(e){let t=e??cG();return c5.getCalendar(t instanceof Intl.Locale?t:new Intl.Locale(t))}let c4={mode:"standard",time:"for today",day:!0,month:!0,year:!0,noToday:!1};function c7(e,t={}){let n=cG(),o=(0,cV.CD)(e,n);if(o.invalid)return console.warn(`Could not parse invalid date '${e}'`),null;!(0,cK.A)(o.day)&&(0,cK.A)(o.month)&&(o=Object.assign({},(0,K.A)(o,"day"),{month:o.day})),o.month&&(o.month-=1),o.day&&(o=Object.assign({},(0,K.A)(o,"day"),{date:o.day}));let r=sp().set(o).toDate();return(0,cK.A)(o.year)&&(t.year=!1),(0,cK.A)(o.month)&&(t.month=!1),(0,cK.A)(o.date)&&(t.day=!1),c9(r,t)}function c9(e,t){let n,o=t?.locale??cG(),r=new Intl.Locale(o),{calendar:i,mode:a,time:s,day:l,month:c,year:u,noToday:d,numberingSystem:m}={...c4,...{noToday:"am"===r.language},...t},f={calendar:i??c8(r),year:u?"numeric":void 0,month:c?"short":void 0,day:l?"2-digit":void 0,numberingSystem:m},p=sp(e).isToday();if(p&&!d)n=(n=new Intl.RelativeTimeFormat(o,{numeric:"auto"}).format(0,"day"))[0].toLocaleUpperCase(o)+n.slice(1);else{"en"===r.language&&(o="en-GB");let t=new Intl.DateTimeFormat(o,f).formatToParts(e);("en"===r.language||"am"===r.language)&&"standard"==a&&u&&l&&(t=t.map(ue("-"))),"wide"==a&&(t=t.map(ue(" — "))),"ethiopic"===f.calendar&&(t=t.filter((e,t,n)=>"era"!==e.type&&("literal"!==e.type||!(t<n.length-1)||"era"!==n[t+1].type))),n=t.map(e=>e.value).join("")}return(!0===s||p&&"for today"===s)&&(n+=`, ${ut(e)}`),n}let ue=e=>(t,n,o)=>"literal"!==t.type||" "!==t.value||n<o.length-1&&"era"===o[n+1].type?t:{type:"literal",value:e};function ut(e){return e.toLocaleTimeString(cG(),{hour:"2-digit",minute:"2-digit"})}function un(e,t){return c9(e,{...t,time:!0})}function uo(e,t){let n=c8("string"==typeof t?new Intl.Locale(t):t);return n?(0,cD.yP)(e,(0,cF.d)(n)):e}function ur(e,t){return new Intl.DurationFormat(cG(),t).format(e)}function ui(e,t){if(null==e)return null;if("string"==typeof e){let n=cG(),o=(0,cV.CD)(e,n);return o.invalid?(console.warn(`Could not interpret '${e}' as a date`),null):(o.day&&!o.month&&(o={...(0,K.A)(o,"day"),...{month:o.day}}),o.month&&(o.month-=1),o.day&&(o={...(0,K.A)(o,"day"),...{date:o.day}}),sp(t).set(o))}return sp(e)}let ua=["years","months","days","hours","minutes","seconds"],us={second:"seconds",minute:"minutes",hour:"hours",day:"days",month:"months",year:"years"},ul={seconds:45,minutes:45,hours:22,days:26,months:11,years:1/0};function uc(e,t=sp(),n){let o,r=sp(t),i=ui(e,r);if(null==i)return null;if("string"==typeof n){let e=us[n]??n;return{[e]:r.diff(i,e)}}let{thresholds:a,largestUnit:s,smallestUnit:l}=n??{};if(void 0!==s||void 0!==l){let e,t=l?us[l]??l:void 0;return e="auto"===s||void 0===s?function(e,t,n){let o=ua.indexOf(n);for(let r=0;r<ua.length;r++){let i=ua[r];if(t.diff(e,i)>0)return r<=o?i:n}return n}(i,r,t??"seconds"):us[s]??s,function(e,t,n,o){let r=ua.indexOf(n),i=ua.indexOf(o),a=ua.slice(r,i+1),s={},l=e;for(let e of a){let n=t.diff(l,e);s[e]=n,l=l.add(n,e)}return s}(i,r,e,t??e)}let c=(o=function(e){let t={...ul};if(e)for(let[n,o]of Object.entries(e))void 0!==o&&(t[us[n]??n]=o);return t}(a),r.diff(i,"seconds")<o.seconds?"seconds":r.diff(i,"minutes")<o.minutes?"minutes":r.diff(i,"hours")<o.hours?"hours":r.diff(i,"days")<o.days?"days":r.diff(i,"months")<o.months?"months":"years");return{[c]:r.diff(i,c)}}let uu={style:"short",localeMatcher:"lookup"};function ud(e,t=sp(),n){let o=uc(e,t,n);return null==o?null:ur(o,"object"==typeof n&&n.formatOptions?{...uu,...n.formatOptions}:uu)}let um=(0,iQ.createContext)(null);function uf(){let e=aW({externalModuleName:"@openmrs/esm-styleguide"}).preferredDateLocale,t=(0,iQ.useMemo)(()=>{let t=cG();return e[t]&&(t=e[t]),t},[window.i18next.language]),n=(0,iQ.useMemo)(()=>{let e=c8(t);return void 0!==e?(0,cF.d)(e):void 0},[t]),o=(0,iQ.useMemo)(()=>new Intl.Locale(t,{calendar:n?.identifier}),[t,n]),r=(0,iQ.useMemo)(()=>n?(0,cD.yP)((0,cL.Ec)((0,cL.Xj)()),n):(0,cL.Ec)((0,cL.Xj)()),[n]);return{calendar:n,intlLocale:o,today_:r}}let up=new cW.ng(1793,1,1);var ug=n(5830),uh=n(6156),uw=n(4745),u_=n(1202);function uy(e,t){return Number.parseInt(c9(e,{calendar:t.calendar,locale:t.baseName,day:!1,month:!1,noToday:!0,numberingSystem:"latn"}))}let uv=(0,iQ.forwardRef)(function(e,t){let{className:n}=e,o=(0,iQ.useContext)(ug.f2),r=(0,iQ.useContext)(ug._I),i=o??r,a=(0,iQ.useContext)(um),s=(0,cL.Xj)(),l=c9(i.visibleRange.start.toDate(s),{calendar:a.calendar,locale:a.baseName,day:!1,year:!1,noToday:!0}),c=uy(i.visibleRange.start.toDate(s),a),u=i.maxValue?uy(i.maxValue.toDate(s),a):void 0,d=i.minValue?uy(i.minValue.toDate(s),a):void 0,m=(0,iQ.useCallback)(e=>{i.setFocusedDate(i.focusedDate.cycle("year",e-i.focusedDate.year))},[]);return i&&(0,sR.jsxs)("span",{ref:t,className:n,children:[(0,sR.jsx)("span",{children:l}),(0,sR.jsxs)(uw.oz,{formatOptions:{useGrouping:!1},maxValue:u,minValue:d,onChange:m,value:c,children:[(0,sR.jsx)(u_.p,{}),(0,sR.jsxs)(cP.Y,{children:[(0,sR.jsx)(cT.$,{slot:"increment",children:(0,sR.jsx)(lr,{size:8})}),(0,sR.jsx)(cT.$,{slot:"decrement",children:(0,sR.jsx)(lt,{size:8})})]})]})]})});var ub=n(9588);let ux="-esm-devtools__datepicker-module__inputGroup___+4zks",uk="-esm-devtools__datepicker-module__inputSegment___wiExn",uS="-esm-devtools__datepicker-module__dateInputWrapper___uiyAC",uj="-esm-devtools__datepicker-module__invalidText___SxtTL",uN="-esm-devtools__datepicker-module__flatButton___UU1Qp",uC="-esm-devtools__datepicker-module__flatButtonMd___fhR-1",uE="-esm-devtools__datepicker-module__flatButtonSm___5INZ7",uO="-esm-devtools__datepicker-module__flatButtonLg___RFMrl";function uI({children:e}){let t=(0,iQ.useContext)(cI.Pg),n=(0,iQ.useContext)(cI.a8),o=t??n,r=so(()=>o?.close());return(0,sR.jsx)(ub.lG,{className:"-esm-devtools__datepicker-module__dialog___qllIf",ref:r,children:e})}let uA=(0,iQ.forwardRef)(function({variant:e,today_:t,minDate:n,maxDate:o},r){let i="range"===e,a=i?ug._e:ug.Vv;return(0,sR.jsx)(uh.A,{ref:r,className:"-esm-devtools__datepicker-module__popover___16UMX",placement:"bottom start",offset:1,isNonModal:!0,children:(0,sR.jsx)(uI,{children:(0,sR.jsxs)(a,{...i?{minValue:n,maxValue:o,className:"cds--date-picker__calendar"}:{},children:[(0,sR.jsxs)("header",{className:"-esm-devtools__datepicker-module__header___WAVlD",children:[(0,sR.jsx)(cT.$,{className:sW()(uN,uC),slot:"previous",children:(0,sR.jsx)(ld,{size:16})}),(0,sR.jsx)(uv,{className:"-esm-devtools__datepicker-module__monthYear___A3aKF"}),(0,sR.jsx)(cT.$,{className:sW()(uN,uC),slot:"next",children:(0,sR.jsx)(lm,{size:16})})]}),(0,sR.jsx)(ug.r8,{className:"-esm-devtools__datepicker-module__calendarGrid___6qRB2",children:e=>(0,sR.jsx)(ug.Zr,{className:sW()("cds--date-picker__day",{"-esm-devtools__datepicker-module__today___TZl6M":0===t.compare(e)}),date:e},e.toString())})]})})})});var uP=n(8017),uT=n(9774),u$=n(7956);let uR=(0,iQ.forwardRef)(function(e,t){let n=(0,iQ.useContext)(cI.Pg),[o,r]=(0,cO.JT)({slot:e.slot},t,uT.cQ),{locale:i}=(0,cR.Y)(),a=(0,u$.F)({...o,locale:i,createCalendar:cF.d}),s=(0,iQ.useRef)(null),{fieldProps:l,inputProps:c}=(0,uP.cJ)({...o,inputRef:s},a,r),u=(0,iQ.useCallback)(()=>{a.isDisabled||n.toggle()},[]);return(0,sR.jsxs)(cO.Kq,{values:[[uT.$,a],[u_.E,{...c,ref:s}],[cP.t,{...l,ref:r,isInvalid:a.isInvalid}]],children:[(0,sR.jsx)(cP.Y,{...e,id:e.id,ref:t,slot:e.slot||void 0,className:e.className,isDisabled:a.isDisabled,isInvalid:a.isInvalid,onClick:u,children:a.segments.map((t,n)=>(0,iQ.cloneElement)(e.children(t),{key:n}))}),(0,sR.jsx)(u_.p,{})]})}),uM=(0,iQ.forwardRef)(function(e,t){let n=(0,iQ.useContext)(cI.Pg),o=(0,iQ.useContext)(cI.a8);return(n??o).isInvalid?(0,sR.jsx)(cy,{ref:t,size:16,...e}):(0,sR.jsx)(le,{ref:t,size:16,...e})});var uW=n(64),uD=n(5503),uL=n(1697),uB=n(7866),uU=n(8035),uF=n(2231);let uH=(0,iQ.forwardRef)(function({segment:e,...t},n){let o=(0,iQ.useContext)(uT.$),r=(0,uW.U)(n),{segmentProps:i}=(0,uD.V)(e,o,r),{focusProps:a,isFocused:s,isFocusVisible:l}=(0,uL.o)(),{hoverProps:c,isHovered:u}=(0,uB.M)({...t,isDisabled:o.isDisabled||"literal"===e.type}),d=function(e){let{className:t,style:n,children:o,defaultClassName:r,defaultChildren:i,defaultStyle:a,values:s}=e;return(0,iQ.useMemo)(()=>{let e,l,c;return e="function"==typeof t?t({...s,defaultClassName:r}):t,l="function"==typeof n?n({...s,defaultStyle:a||{}}):n,c="function"==typeof o?o({...s,defaultChildren:i}):null==o?i:o,{className:e??r,style:l||a?{...a,...l}:void 0,children:c??i,"data-rac":""}},[t,n,o,r,i,a,s])}({...t,values:{...e,isReadOnly:!e.isEditable,isInvalid:o.isInvalid,isDisabled:o.isDisabled,isHovered:u,isFocused:s,isFocusVisible:l},defaultChildren:e.text}),m=(0,iQ.useCallback)(e=>{e.stopPropagation()},[]);return(0,sR.jsx)("span",{...(0,uU.v)((0,uF.$)(t),i,a,c),...d,ref:r,style:i.style,"data-placeholder":e.isPlaceholder||void 0,"data-invalid":o.isInvalid||void 0,"data-readonly":!e.isEditable||void 0,"data-disabled":o.isDisabled||void 0,"data-type":e.type,"data-hovered":u||void 0,"data-focused":s||void 0,"data-focus-visible":l||void 0,onClick:m})}),uz={short:!1,size:"md"},uG=(0,iQ.forwardRef)(function(e,t){let{className:n,defaultValue:o,isDisabled:r,invalid:i,invalidText:a,isInvalid:s,label:l,labelText:c,light:u,maxDate:d,minDate:m,onChange:f,onChangeRaw:p,short:g,size:h,value:w,..._}={...uz,...e},{calendar:y,intlLocale:v,today_:b}=uf(),x=(0,iQ.useId)(),k=!!(c??l),S=(0,iQ.useMemo)(()=>cB(o,y),[o,y]),j=(0,iQ.useMemo)(()=>cB(w,y,!0),[w,y]),N=(0,iQ.useMemo)(()=>cB(d,y),[d,y]),C=(0,iQ.useMemo)(()=>cB(m??up,y),[m,y]),E=(0,iQ.useMemo)(()=>i||s,[i,s]),O=(0,iQ.useMemo)(()=>(p&&f&&console.error("An OpenmrsDatePicker component was created with both onChange and onChangeRaw handlers defined. Only onChangeRaw will be used."),p??(e=>f?.(cU(e)))),[p,f]);return(0,sR.jsx)(cM,{locale:v.toString(),children:(0,sR.jsx)("div",{className:sW()("cds--form-item",n),children:(0,sR.jsx)(cO.Kq,{values:[[um,v]],children:(0,sR.jsxs)(cI.lr,{className:sW()("cds--date-picker","cds--date-picker--single",{"cds--date-picker--short":g,"cds--date-picker--light":u}),defaultValue:S,isDisabled:r,isInvalid:E,maxValue:N,minValue:C,value:j,shouldForceLeadingZeros:"en"===v.language||void 0,..._,onChange:O,children:[(0,sR.jsxs)("div",{className:"cds--date-picker-container",children:[k&&(0,sR.jsx)(cA.J,{className:sW()("cds--label",{"cds--label--disabled":r}),htmlFor:x,children:c??l}),(0,sR.jsxs)(cP.Y,{className:ux,children:[(0,sR.jsx)(uR,{id:k?x:void 0,ref:t,className:sW()("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,sR.jsx)(uH,{className:uk,segment:e}):(0,sR.jsx)(iY().Fragment,{})}),(0,sR.jsx)(cT.$,{className:sW()(uN,{[uE]:"sm"===h,[uC]:"md"===h||!h||0===h.length,[uO]:"lg"===h}),children:(0,sR.jsx)(uM,{})})]}),(0,sR.jsx)(c$.b,{className:uj,children:a})]}),(0,sR.jsx)(uA,{variant:"single",today_:b})]})})})})}),uV=(0,iQ.forwardRef)(function({className:e,defaultValue:t,invalid:n,invalidText:o,isDisabled:r,isInvalid:i,label:a,labelText:s,light:l,maxDate:c,minDate:u,onChange:d,onChangeRaw:m,size:f="md",value:p,...g},h){let{calendar:w,intlLocale:_,today_:y}=uf(),v=(0,iQ.useId)(),b=!!(s??a),x=(0,iQ.useMemo)(()=>{if(p)return{start:cB(p[0],w,!1),end:cB(p[1],w,!1)}},[p,w]),k=(0,iQ.useMemo)(()=>{if(t)return{start:cB(t[0],w,!1),end:cB(t[1],w,!1)}},[t,w]),S=(0,iQ.useMemo)(()=>cB(u??up,w,!0),[u,w]),j=(0,iQ.useMemo)(()=>cB(c,w,!0),[c,w]),N=(0,iQ.useMemo)(()=>n||i,[n,i]),C=(0,iQ.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?.([cU(e.start),cU(e.end)]))),[m,d]);return(0,sR.jsx)(cM,{locale:_.toString(),children:(0,sR.jsx)("div",{className:sW()("cds--form-item",e),children:(0,sR.jsx)(cO.Kq,{values:[[um,_]],children:(0,sR.jsx)(cI.Ur,{id:b?v:void 0,className:sW()("cds--date-picker",{"cds--date-picker--light":l,"cds--date-picker--disabled":r}),isInvalid:N,shouldForceLeadingZeros:"en"===_.language||void 0,maxValue:j,minValue:S,value:x,defaultValue:k,ref:h,isDisabled:r,...g,onChange:C,children:(0,sR.jsxs)("div",{className:"cds--date-picker-container",children:[b&&(0,sR.jsx)(cA.J,{className:sW()("cds--label",{"cds--label--disabled":r}),htmlFor:v,children:s??a}),(0,sR.jsxs)(cP.Y,{className:ux,children:[(0,sR.jsxs)("div",{className:sW()("-esm-devtools__datepicker-module__inputsWrapper___YlkGh",{"-esm-devtools__datepicker-module__inputsWrapperSm___fAKhS":"sm"===f,"-esm-devtools__datepicker-module__inputsWrapperMd___XVgGP":"md"===f||!f||0===f.length,"-esm-devtools__datepicker-module__inputsWrapperLg___UgHJ1":"lg"===f}),children:[(0,sR.jsx)(uT.J3,{className:sW()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__startInput___qgbQm",uS),slot:"start",children:e=>(0,sR.jsx)(uH,{className:uk,segment:e})}),(0,sR.jsx)("div",{className:"-esm-devtools__datepicker-module__separator___79vXZ",children:(0,sR.jsx)("span",{"aria-hidden":"true","data-readonly":!0,children:"–"})}),(0,sR.jsx)(uT.J3,{className:sW()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__endInput___huv7x",uS),slot:"end",children:e=>(0,sR.jsx)(uH,{className:uk,segment:e})})]}),(0,sR.jsx)(cT.$,{className:sW()(uN,{[uE]:"sm"===f,[uC]:"md"===f||!f||0===f.length,[uO]:"lg"===f}),children:(0,sR.jsx)(uM,{})})]}),(0,sR.jsx)(c$.b,{className:uj,children:o}),(0,sR.jsx)(uA,{variant:"range",today_:y,minDate:S,maxDate:j})]})})})})})}),uJ=({diagnoses:e})=>{let{diagnosisTags:t}=aW({externalModuleName:"@openmrs/esm-styleguide"});return(0,sR.jsx)("div",{className:"-esm-devtools__diagnosis-tags-module__container___8kut8",children:e.map(e=>{let{rank:n,uuid:o,display:r}=e,i=t[1===n?"primaryColor":"secondaryColor"];return(0,sR.jsx)(sF.Tag,{type:i,children:r},o)})})},uq={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"},uK=({width:e="64",height:t="64"})=>(0,sR.jsx)("svg",{width:e,height:t,viewBox:"0 0 64 64",children:(0,sR.jsx)("use",{href:"#omrs-empty-data-illustration"})}),uX=e=>{let t="tablet"===a7(),n=e.launchForm;return(0,sR.jsx)(sF.Layer,{className:uq.layer,children:(0,sR.jsxs)(sF.Tile,{className:uq.tile,children:[(0,sR.jsx)("div",{className:t?uq.tabletHeading:uq.desktopHeading,children:(0,sR.jsx)("h4",{children:e.headerTitle})}),(0,sR.jsx)(uK,{}),(0,sR.jsx)("p",{className:uq.content,children:tY("emptyStateText","There are no {{displayText}} to display",{displayText:e.displayText})}),(0,sR.jsx)("p",{className:uq.action,children:n&&(0,sR.jsx)(sF.Button,{onClick:()=>n(),kind:"ghost",size:t?"lg":"sm",children:tY("recordNewEntry","Record {{ displayText }}",{displayText:e.displayText})})})]})})},uQ=({error:e,headerTitle:t})=>{let n="tablet"===a7();return(0,sR.jsx)(sF.Layer,{children:(0,sR.jsxs)(sF.Tile,{className:"-esm-devtools__error-state-module__tile___dd418",children:[(0,sR.jsx)("div",{className:n?"-esm-devtools__error-state-module__tabletHeading___g5rjg":"-esm-devtools__error-state-module__desktopHeading___Nd9u2",children:(0,sR.jsx)("h4",{children:t})}),(0,sR.jsxs)("p",{className:"-esm-devtools__error-state-module__errorMessage___z2RiN",children:[tY("error","Error")," ",`${e?.response?.status}: `,e?.response?.statusText]}),(0,sR.jsx)("p",{className:"-esm-devtools__error-state-module__errorCopy___dq+e2",children:tY("errorCopy")})]})})},uY=uQ,uZ=iY().forwardRef((e,t)=>{let{slotName:n,basePath:o,componentContext:r,state:i}=st(),a=window.location??{pathname:""},s=an(n??"");return e.isChildOfHeader&&n&&s.length>0?(0,sR.jsxs)(sF.SideNav,{"aria-label":tY("leftNavigation","Left navigation"),className:"-esm-devtools__left-nav-module__leftNav___jzTJK",expanded:!0,isFixedNav:!0,ref:t,...e,children:[(0,sR.jsx)(ai,{name:"global-nav-menu-slot"}),n?(0,sR.jsx)(aC,{value:r,fallback:(0,sR.jsx)(ai,{name:n,state:{basePath:o,currentPath:a,...i}}),children:(0,sR.jsx)(iZ.Provider,{value:r,children:(0,sR.jsx)(ai,{name:n,state:{basePath:o,currentPath:a,...i}})})}):null]}):null}),u0=({selectedLocationUuid:e,defaultLocationUuid:t,locationTag:n,locationsPerRequest:o=50,onChange:r})=>{let[i,a]=(0,iQ.useState)(""),s=(0,iQ.useId)(),{location:l}=function(e){let t=e?`/ws/fhir2/R4/Location?_id=${e}`:null,{data:n,error:o,isLoading:r}=(0,aU.A)(t,tO,{shouldRetryOnError:e=>!!e?.response?.status&&e.response.status>=500});return(0,iQ.useMemo)(()=>({location:n?.data?.entry?n.data.entry[0]:null,error:t?o:null,isLoading:!!t&&r}),[n,r,o,t])}(t),{locations:c,isLoading:u,hasMore:d,loadingNewData:m,error:f,setPage:p}=function(e,t=0,n=""){let o=aB(n),{data:r,isLoading:i,isValidating:a,setSize:s,error:l}=(0,a0.Ay)(function(n,r){if(r){let e=r.data?.link?.find(e=>"next"===e.relation);if(!e)return null;let t=new URL(e.url);return t.origin===window.location.origin?e.url:new URL(`${t.pathname}${t.search?`?${t.search}`:""}`,window.location.origin).toString()}let i=`${tN}/Location?`,a=new URLSearchParams;return a.append("_summary","data"),t&&a.append("_count",""+t),n&&a.append("_getpagesoffset",""+n*t),e&&a.append("_tag",e),"string"==typeof o&&""!==o&&a.append("name:contains",o),i+a.toString()},tO);return(0,iQ.useMemo)(()=>({locations:r?.length?r?.flatMap(e=>e?.data?.entry??[]):[],isLoading:i,totalResults:r?.[0]?.data?.total,hasMore:!!r?.length&&r?.[r.length-1]?.data?.link?.some(e=>"next"===e.relation),loadingNewData:a,error:l||null,setPage:s}),[i,r,a,s,l])}(n,o,i),g=(0,iQ.useMemo)(()=>l&&!i&&t?[l,...c.filter(({resource:e})=>e.id!==t)]:c??[],[l,c,t,i]),h=(0,iQ.useCallback)(e=>{r(),a(e.trim())},[r]),w=sr((0,iQ.useCallback)(()=>{!m&&d&&p(e=>e+1)},[m,d,p])),_=d?Math.max(0,Math.floor(g.length-o/2)):-1;return(0,sR.jsxs)(sR.Fragment,{children:[(0,sR.jsx)(sF.Search,{"aria-describedby":f?`${s}-error`:void 0,labelText:tY("searchForLocation"),id:s,placeholder:tY("searchForLocation"),onChange:e=>h(e.target.value),size:"lg"}),f&&(0,sR.jsx)("div",{className:"-esm-devtools__location-picker-module__errorNotification___vWBFD",id:`${s}-error`,children:(0,sR.jsx)(sF.InlineNotification,{kind:"error",subtitle:tY("errorLoadingLoginLocations","Unable to load login locations. Please try again or contact support if the problem persists."),title:tY("error","Error")})}),(0,sR.jsx)("div",{className:"-esm-devtools__location-picker-module__searchResults___Gbet+",children:u?(0,sR.jsx)("div",{className:"-esm-devtools__location-picker-module__loadingContainer___QO-zj",children:Array.from({length:5}).map((e,t)=>(0,sR.jsx)(sF.RadioButtonSkeleton,{className:"-esm-devtools__location-picker-module__radioButtonSkeleton___otoCy",role:"progressbar"},t))}):(0,sR.jsxs)(sR.Fragment,{children:[(0,sR.jsx)("div",{className:"-esm-devtools__location-picker-module__locationResultsContainer___6Pasf",children:g.length>0?(0,sR.jsx)(sF.RadioButtonGroup,{name:"loginLocations",onChange:e=>{r(e?.toString())},orientation:"vertical",valueSelected:e,children:g.map((e,t)=>(0,sR.jsx)(sF.RadioButton,{className:"-esm-devtools__location-picker-module__locationRadioButton___rTDPj",id:e.resource.id,labelText:(0,sR.jsx)("span",{ref:t===_?w:null,children:e.resource.name}),name:e.resource.name,value:e.resource.id},e.resource.id))}):(0,sR.jsx)("div",{className:"-esm-devtools__location-picker-module__emptyState___w4-Ca",children:(0,sR.jsx)("p",{className:"-esm-devtools__location-picker-module__locationNotFound___Of2MJ",children:tY("noResultsToDisplay")})})}),m&&(0,sR.jsx)("div",{className:"-esm-devtools__location-picker-module__loadingIcon___NAwSB",children:(0,sR.jsx)(sF.InlineLoading,{description:tY("loading")})})]})})]})},u1=L("modalState",{modalContainer:null,modalStack:[]}),u2=0;async function u6(e,t,n={}){let o=iE(t),r=null;if(e){if(!o)throw Error(`No modal named '${t}' has been registered.`);let{load:i}=o,a=await i(),s=u2++;r=await iJ({...a,name:`${t}-${s}`},{...n,domElement:e})}else j(`Failed to launch modal. Please notify your administrator. Modal name: ${t}`);return r}function u5(e){return"TO_BE_DELETED"===e.state||"DELETED"===e.state}function u3(e,t){t?.unmount&&(t.unmountPromise?.catch(()=>{}),t.unmount().catch(t=>{console.error(`The modal '${e}' failed to unmount`,t)}))}function u8(e){return e.find(e=>!u5(e))}function u4(e,t){e.container&&(e.container.style.visibility=t?"unset":"hidden")}let u7=window.getComputedStyle(document.body).overflow;function u9({modalStack:e,modalContainer:t}){if(t)if(e.length){t.style.visibility||(addEventListener("keydown",dt),document.body.style.overflow="hidden",t.style.visibility="unset");let n=u8(e);e.forEach(e=>{switch(e.state){case"NEW":{let n=function({size:e}){let t=document.createElement("div");return t.className=`cds--modal-container cds--modal-container--${e}`,t.setAttribute("role","dialog"),t.setAttribute("tabindex","-1"),t.setAttribute("aria-modal","true"),t}({size:e.props?.size??"md"});e.container=n,e.state="MOUNTING",u6(n,e.modalName,e.props).then(o=>{u5(e)?u3(e.modalName,o):o?(e.parcel=o,t.prepend(n),u4(e,u8(u1.getState().modalStack)===e),o.mountPromise.then(()=>{u5(e)||(e.state="MOUNTED")},t=>{j(t),e.parcel=null,de(e)})):de(e)},t=>{j(t),de(e)});break}case"MOUNTING":case"MOUNTED":u4(e,e===n);break;case"TO_BE_DELETED":e.state="DELETED",e.onClose(),u3(e.modalName,e.parcel),e.container?.remove(),setTimeout(()=>{let t=u1.getState();u1.setState({...t,modalStack:t.modalStack.filter(t=>t!==e)})},0)}})}else t.style.removeProperty("visibility"),document.body.style.overflow=u7,removeEventListener("keydown",dt)}function de(e){if(u5(e))return;e.state="TO_BE_DELETED";let t=u1.getState();u1.setState({...t,modalStack:[...t.modalStack]})}function dt(e){"Escape"===e.key&&function(){let[e]=u1.getState().modalStack;e&&de(e)}()}function dn(e){u1.subscribe(u9),u1.setState({...u1.getState(),modalContainer:e})}function dr(e,t={},n=()=>{}){let o=()=>{let e=u1.getState().modalStack.find(e=>e.onClose===n);e&&de(e)};if(iE(e)){var r;let i,a;r={state:"NEW",onClose:n,modalName:e,props:{close:o,...t}},a=[r,...(i=u1.getState()).modalStack],u1.setState({...i,modalStack:a})}else j(`Failed to launch modal. Please notify your administrator. Modal name: "${e}"`);return o}let di=({notification:e})=>{let{description:t,action:n,kind:o,critical:r,title:i,onAction:a}=e;return(0,sR.jsx)(sF.ActionableNotification,{actionButtonLabel:n,kind:o||"info",lowContrast:r,subtitle:t,title:i||"",inline:!0,onActionButtonClick:a})},da=({subject:e})=>{let[t,n]=(0,iQ.useState)([]);return(0,iQ.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.description!==e.description||t.action!==e.action||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,sR.jsx)(sR.Fragment,{children:t.map(e=>(0,sR.jsx)(di,{notification:e},e.id))})},ds=({notification:e})=>{let{actionButtonLabel:t,onActionButtonClick:n=()=>{},subtitle:o,kind:r,title:i,critical:a,progressActionLabel:s,id:l,...c}=e,[u,d]=(0,iQ.useState)(t);return(0,sR.jsx)(sF.ActionableNotification,{kind:r||"info",actionButtonLabel:u,ariaLabel:tY("closesActionableNotification","Closes actionable notification"),onActionButtonClick:()=>{n(),s&&d(s)},statusIconDescription:tY("actionableNotification","Actionable notification"),subtitle:o,title:i,lowContrast:a,inline:!0,...c})},dl=({subject:e})=>{let[t,n]=(0,iQ.useState)([]);return(0,iQ.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.subtitle!==e.subtitle||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,sR.jsx)(sR.Fragment,{children:t.map(e=>(0,sR.jsx)(ds,{notification:e},e.id))})};var dc=n(9685);let du=new G.Subject,dd=0,dm=new G.Subject,df=0;function dp(e){e&&(0,aa.createRoot)(e).render((0,sR.jsx)(da,{subject:du}))}function dg(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&(t instanceof Error||!(0,dc.A)(t)))?(e.description instanceof Error&&(e.description=e.description.toLocaleString()),setTimeout(()=>{du.next({...e,id:dd++})},0)):console.error("showNotification must be called with an object having a 'description' property that is a non-empty string or object")}function dh(e){e&&(0,aa.createRoot)(e).render((0,sR.jsx)(dl,{subject:dm}))}function dw(e){var t;e&&("string"==typeof(t=e.actionButtonLabel)?t.trim().length>0:"object"==typeof t&&!(0,dc.A)(t))?setTimeout(()=>{dm.next({...e,id:df++})},0):console.error("showActionableNotification must be called with an actionButtonLabel that is a non-empty string")}let d_=["NORMAL","HIGH","CRITICALLY_HIGH","OFF_SCALE_HIGH","LOW","CRITICALLY_LOW","OFF_SCALE_LOW"],dy=["critically_low","critically_high","high","low","normal","off_scale_low","off_scale_high"],dv={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"},db=({value:e,unit:t,label:n,interpretation:o,referenceRange:r,conceptUuid:i,variant:a="card",patientUuid:s})=>{let l=(0,iQ.useId)(),{referenceRange:c,isLoading:u}=function(e,t){let n=null;e&&(n=t?`${tj}/conceptreferencerange/?patient=${t}&concept=${e}&v=full`:`${tj}/conceptreferencerange/?concept=${e}&v=full`);let{data:o,error:r,isLoading:i}=(0,aU.A)(n,tO),a=o?.data?.results?.[0];return{referenceRange:a?{hiNormal:a.hiNormal??null,hiAbsolute:a.hiAbsolute??null,hiCritical:a.hiCritical??null,lowNormal:a.lowNormal??null,lowAbsolute:a.lowAbsolute??null,lowCritical:a.lowCritical??null}:void 0,error:r,isLoading:i}}(r||o?void 0:i,s),d=r??c,m=(0,iQ.useMemo)(()=>{if(o)return o?"--"===o?"normal":d_.includes(o)?o.toLowerCase():dy.includes(o)?o:"normal":void 0;if(d&&!u){if(!d||null==e||""===e)return"normal";let t="string"==typeof e?Number.parseFloat(e):e;return Number.isNaN(t)?"normal":null!==d.hiAbsolute&&void 0!==d.hiAbsolute&&t>d.hiAbsolute?"off_scale_high":null!==d.hiCritical&&void 0!==d.hiCritical&&t>=d.hiCritical?"critically_high":null!==d.hiNormal&&void 0!==d.hiNormal&&t>d.hiNormal?"high":null!==d.lowAbsolute&&void 0!==d.lowAbsolute&&t<d.lowAbsolute?"off_scale_low":null!==d.lowCritical&&void 0!==d.lowCritical&&t<=d.lowCritical?"critically_low":null!==d.lowNormal&&void 0!==d.lowNormal&&t<d.lowNormal?"low":"normal"}return"normal"},[o,d,e,u])??"normal",f="critically_low"===m||"critically_high"===m||"off_scale_low"===m||"off_scale_high"===m,p="normal"!==m,g=n?`omrs-numeric-obs-label-${n.replaceAll(/\s+/g,"-").toLowerCase()}-${l}`:void 0,h=`omrs-numeric-obs-value-${l}`,w=`omrs-numeric-obs-unit-${l}`,_=null!=e&&""!==e,y=_?e:tY("notAvailable","Not available"),v=sW()({[dv["critically-low"]]:"critically_low"===m||"off_scale_low"===m,[dv["critically-high"]]:"critically_high"===m||"off_scale_high"===m,[dv.low]:"low"===m,[dv.high]:"high"===m,[dv["off-scale-low"]]:"off_scale_low"===m,[dv["off-scale-high"]]:"off_scale_high"===m}),b=sW()({[dv.container]:!0,[dv.card]:!0,[dv["critical-value"]]:f,[dv["abnormal-value"]]:p&&!f}),x=sW()({[dv.cell]:!0,[v]:!0});return"cell"===a?(0,sR.jsxs)("div",{className:x,children:[y,_&&t?` ${t}`:""]}):(0,sR.jsxs)("section",{className:b,"data-testid":"numeric-observation-card",children:[n&&(0,sR.jsxs)("div",{className:dv["label-container"],children:[(0,sR.jsx)("span",{id:g,className:dv.label,children:n}),p&&(0,sR.jsx)("span",{className:dv[m.replace("_","-")],title:tY("abnormalValue","Abnormal value")})]}),(0,sR.jsxs)("div",{className:dv["value-container"],children:[(0,sR.jsx)("span",{id:h,"aria-labelledby":g&&w?`${g} ${w}`:g||w||void 0,className:dv.value,children:y}),_&&t&&(0,sR.jsx)("span",{id:w,className:dv.units,children:t})]})]})},dx="-esm-devtools__page-header-module__pageHeader___YOpQL",dk=e=>{if("children"in e){let{children:t,className:n,...o}=e;return(0,sR.jsx)("div",{className:sW()(dx,n),...o,children:t})}{let{title:t,illustration:n,className:o,...r}=e;return(0,sR.jsx)("div",{className:sW()(dx,o),...r,children:(0,sR.jsx)(dS,{title:t,illustration:n})})}},dS=({title:e,illustration:t,className:n})=>{let[o,r]=(0,iQ.useState)(null);return(0,iQ.useEffect)(()=>{eB("@openmrs/esm-styleguide").then(e=>{r(e)})},[]),(0,sR.jsxs)("div",{className:sW()("-esm-devtools__page-header-module__pageHeaderContent___PjsJm",n),children:[t,(0,sR.jsxs)("div",{className:"-esm-devtools__page-header-module__pageLabels___pPcKj",children:[o?.implementationName&&(0,sR.jsx)("p",{children:tY(o.implementationName)}),(0,sR.jsx)("p",{className:"-esm-devtools__page-header-module__pageName___3d4IC",children:e})]})]})},dj=({totalItems:e,pageSize:t,onPageNumberChange:n,pageNumber:o,dashboardLinkUrl:r,currentItems:i,dashboardLinkLabel:a})=>{let{pageSizes:s,pageItemsCount:l}=ss(t,e,o,i),c="tablet"===a7(),u=tY("paginationItemsCount","{{pageItemsCount}} / {{totalItems}} items",{totalItems:e,pageItemsCount:l});return(0,sR.jsx)(sR.Fragment,{children:e>0&&(0,sR.jsxs)("div",{className:sW()({"-esm-devtools__pagination-module__tablet___lQ3ak":c,"-esm-devtools__pagination-module__desktop___HfUTY":!c}),children:[(0,sR.jsxs)("div",{children:[u,r&&(0,sR.jsx)(i0,{to:r,className:"-esm-devtools__pagination-module__configurableLink___NM9v7",children:a??tY("seeAll","See all")})]}),(0,sR.jsx)(sF.Pagination,{className:"-esm-devtools__pagination-module__pagination___WzkBs",page:o,pageSize:t,pageSizes:s,totalItems:e,onChange:n,pageRangeText:(e,t)=>tY("paginationOfPages","of {{count}} pages",{count:t}),size:c?"lg":"sm"})]})})};function dN(e){return dE(dI(e,"usual","official"))}function dC(e){return dN(e)}function dE(e){var t;let n;return e?e.text??(n=(t=e).given??[],(t.family?n.concat(t.family):n).join(" ")):""}function dO(e){return dE(e)}function dI(e,...t){for(let n of(0==t.length&&(t=["usual"]),t)){let t=e.name?.find(e=>{var t,o;return t=e,o=n,t.use?t.use===o:"usual"===o});if(t)return t}}function dA(e,t=sp()){let n=sp(t),o=ui(e,n);if(null==o)return null;let r=n.diff(o,"hours"),i=n.diff(o,"days"),a=n.diff(o,"weeks"),s=n.diff(o,"months"),l=n.diff(o,"years"),c={};if(r<2)c.minutes=n.diff(o,"minutes");else if(i<2)c.hours=r;else if(a<4)c.days=i;else if(l<1){let e=n.subtract(a,"weeks").diff(o,"days");c.weeks=a,c.days=e}else if(l<2){let e=n.subtract(s,"months").diff(o,"days");c.months=s,c.days=e}else if(l<18){let e=n.subtract(l,"year").diff(o,"months");c.years=l,c.months=e}else c.years=l;return c}function dP(e,t=sp()){let n=dA(e,t);if(null==n)return null;let o={style:"short",localeMatcher:"lookup"};return"minutes"in n&&0===n.minutes&&(o.minutesDisplay="always"),ur(n,o)}let dT={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 d$({showIdentifierLabel:e,type:t,value:n}){return(0,sR.jsx)("span",{className:dT.primaryIdentifier,children:(0,sR.jsxs)(sF.Tag,{className:dT.tag,type:"gray",children:[e&&t?.text&&(0,sR.jsxs)("span",{className:dT.label,children:[t.text,": "]}),(0,sR.jsx)("span",{className:dT.value,children:n})]})})}function dR({showIdentifierLabel:e,type:t,value:n}){return(0,sR.jsxs)(sF.FormLabel,{className:dT.secondaryIdentifier,id:`patient-banner-identifier-${n}`,children:[e&&(0,sR.jsxs)("span",{className:dT.label,children:[t?.text,": "]}),(0,sR.jsx)("span",{className:dT.value,children:n})]})}function dM({identifiers:e,showIdentifierLabel:t}){let{excludePatientIdentifierCodeTypes:n}=aW(),{primaryIdentifierCode:o}=su(),r=e?.filter(e=>{let t=e.type?.coding?.[0]?.code;return t&&!n?.uuids.includes(t)})??[];return(0,sR.jsx)(sR.Fragment,{children:r?.length?r.map(({value:e,type:n},i)=>(0,sR.jsxs)(iY().Fragment,{children:[(0,sR.jsx)("span",{className:dT.identifier,children:n?.coding?.[0]?.code===o?(0,sR.jsx)(d$,{showIdentifierLabel:t,type:n,value:e}):(0,sR.jsx)(dR,{showIdentifierLabel:t,type:n,value:e})}),i<r.length-1&&(0,sR.jsx)("span",{className:dT.separator,children:"\xb7"})]},e)):""})}let dW={Female:lS,Male:lj,Other:lN,Unknown:lC},dD=({gender:e})=>{let t=dW[e];return t?(0,sR.jsx)(t,{fill:"#525252"}):null},dL={male:"Male",female:"Female",other:"Other",unknown:"Unknown"};function dB({patient:e,renderedFrom:t}){var n;let o,r,i=dN(e),a=e?.gender&&(r=dL[o=(n=e.gender).toLowerCase()]??"Unknown",{displayText:tY(o,n),iconKey:r}),s=(0,iQ.useMemo)(()=>({patientUuid:e.id,patient:e,renderedFrom:t}),[e.id,e,t]);return(0,sR.jsxs)("div",{className:dT.patientInfo,children:[(0,sR.jsx)("div",{className:sW()(dT.row,dT.patientNameRow),children:(0,sR.jsxs)("div",{className:dT.flexRow,children:[(0,sR.jsx)("span",{className:dT.patientName,children:i}),a&&(0,sR.jsxs)("div",{className:dT.gender,children:[(0,sR.jsx)(dD,{gender:a.iconKey}),(0,sR.jsx)("span",{children:a.displayText})]}),(0,sR.jsx)(ai,{className:dT.tagsSlot,name:"patient-banner-tags-slot",state:s})]})}),(0,sR.jsxs)("div",{className:dT.demographics,children:[e.birthDate&&(0,sR.jsxs)(sR.Fragment,{children:[(0,sR.jsx)("span",{children:dP(e.birthDate)}),(0,sR.jsx)("span",{className:dT.separator,children:"\xb7"}),(0,sR.jsx)("span",{children:c7(e.birthDate,{time:!1})}),(0,sR.jsx)("span",{className:dT.separator,children:"\xb7"})]}),(0,sR.jsx)(dM,{identifiers:e.identifier,showIdentifierLabel:!0}),(0,sR.jsx)(ai,{className:dT.extensionSlot,name:"patient-banner-bottom-slot",state:s})]})]})}var dU=n(7683);function dF({patient:e,patientUuid:t,actionsSlotName:n,additionalActionsSlotState:o}){let[r,i]=(0,iQ.useState)(!1),{extensions:a}=ao(n),s="tablet"===a7(),l=so(()=>i(!1),r),c=(0,iQ.useRef)(null),u=(0,iQ.useRef)(null),d=(0,iQ.useId)(),m=`patient-actions-menu-trigger-${d}`,f=`patient-actions-menu-${d}`,p=(0,iQ.useCallback)(()=>i(e=>!e),[]),g=(0,iQ.useCallback)(()=>{i(!1),c.current?.focus()},[]),h=(0,iQ.useCallback)(e=>{if("Escape"===e.key&&r){e.stopPropagation(),g();return}if(("ArrowDown"===e.key||"ArrowUp"===e.key)&&r){e.preventDefault();let t=u.current?.querySelectorAll('[role="menuitem"]:not([disabled])');if(!t?.length)return;let n=document.activeElement?.closest?.('[role="menuitem"]')??document.activeElement,o=Array.from(t).indexOf(n);if(-1===o)return void t["ArrowDown"===e.key?0:t.length-1]?.focus();let r=o+("ArrowDown"===e.key?1:-1),i=r<0?t.length-1:r>=t.length?0:r;t[i]?.focus()}},[g,r]);(0,iQ.useEffect)(()=>{if(r&&u.current){let e=u.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[r]);let w=(0,iQ.useMemo)(()=>({patientUuid:t,patient:e,closeMenu:g,...o}),[t,e,g,o]);return 0===a.length?null:(0,sR.jsx)("div",{className:"-esm-devtools__patient-banner-actions-menu-module__overflowMenuContainer___lXHHD",children:(0,sR.jsxs)("div",{"data-overflow-menu":!0,className:sW()("cds--overflow-menu",sG),ref:l,children:[(0,sR.jsxs)("button",{className:sW()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":r},sq),"aria-controls":f,"aria-expanded":r,"aria-haspopup":"true",id:m,onClick:p,onKeyDown:h,ref:c,children:[(0,sR.jsx)("span",{className:"-esm-devtools__patient-banner-actions-menu-module__actionsButtonText___SdOyM",children:tY("actions","Actions")})," ",(0,sR.jsx)(dU.CH,{size:16,style:{marginLeft:"0.5rem",fill:"#78A9FF"}})]}),(0,sR.jsxs)("div",{className:sW()("cds--overflow-menu-options","cds--overflow-menu--flip",sV,{[sJ]:r}),"aria-labelledby":m,"data-floating-menu-direction":"bottom",id:f,onKeyDown:h,ref:u,role:"menu",tabIndex:-1,children:[(0,sR.jsx)("ul",{className:sW()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":s}),children:(0,sR.jsx)(ai,{name:n,state:w},n)}),(0,sR.jsx)("span",{})]})]})})}var dH=n(397),dz=n.n(dH);function dG(e){let{patientPhotoConceptUuid:t}=aW({externalModuleName:"@openmrs/esm-styleguide"}),n=t?`${tj}/obs?patient=${e}&concept=${t}&v=full`:null,{data:o,error:r,isLoading:i}=(0,ac.u)(e?n:null,tO),a=o?.data?.results[0];return{data:a?{dateTime:a?.obsDatetime,imageSrc:a?.value?.links?.uri}:null,error:r,isLoading:i}}let dV=({width:e=56,height:t=56,"aria-label":n})=>{let{t:o}=(0,al.useTranslation)();return(0,sR.jsxs)("svg",{"aria-label":n??o("patientPhotoPlaceholder","Patient photo placeholder"),width:e,height:t,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,sR.jsx)("path",{fill:"#ffffff",d:"M0 0h56v56H0z"}),(0,sR.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"})]})},dJ="-esm-devtools__patient-photo-module__avatar___t5TmZ";function dq({patientUuid:e,patientName:t,alt:n}){let{data:o,isLoading:r}=dG(e),[i,a]=(0,iQ.useState)(null),[s,l]=(0,iQ.useState)(!1),c=(0,iQ.useMemo)(()=>dz().generate(e),[e]);(0,iQ.useEffect)(()=>{if(o?.imageSrc){let e=new URL(o.imageSrc,window.location.origin).pathname;l(!0);let t=!1,n=new Image;return n.onload=()=>{t||(a(e),l(!1))},n.onerror=()=>{t||(a(null),l(!1))},n.src=e,()=>{t=!0}}a(null),l(!1)},[o?.imageSrc]);let u=(0,iQ.useMemo)(()=>n||(i?tY("patientPhotoAlt","Profile photo of {{patientName}}",{patientName:t}):tY("patientAvatarAlt","Avatar for {{patientName}}",{patientName:t})),[n,i,t]);return r||s?(0,sR.jsx)(sF.SkeletonIcon,{className:"-esm-devtools__patient-photo-module__skeleton___ueN8Q","data-testid":"skeleton-icon"}):o?.imageSrc&&!i?(0,sR.jsx)(dV,{"aria-label":tY("patientPhotoPlaceholder","Photo placeholder for {{patientName}}",{patientName:t})}):i?(0,sR.jsx)("div",{"aria-label":u,children:(0,sR.jsx)("img",{className:dJ,src:i,alt:u,title:t})}):(0,sR.jsx)("div",{"aria-label":u,children:(0,sR.jsx)("div",{className:dJ,title:t,style:{backgroundImage:c.toDataUrl(),backgroundRepeat:"no-repeat",backgroundSize:"cover"},children:(0,sR.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 dK=["omrs-pict-appointments","omrs-pict-assessment-1","omrs-pict-assessment-2","omrs-pict-blood-bank","omrs-pict-cardiology","omrs-pict-ct-scan","omrs-pict-dentistry","omrs-pict-digital-trust","omrs-pict-emergency-department","omrs-pict-facility","omrs-pict-geriatrics","omrs-pict-gynaecology","omrs-pict-in-patient","omrs-pict-laboratory","omrs-pict-labs-2","omrs-pict-obstetrics","omrs-pict-patient-search","omrs-pict-patients","omrs-pict-payments-desk","omrs-pict-pharmacy","omrs-pict-pharmacy-2","omrs-pict-registration","omrs-pict-service-queues","omrs-pict-stock-management","omrs-pict-transfer","omrs-pict-triage","omrs-pict-x-ray"],dX=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-appointments",pictogramProps:e})})),dQ=dX,dY=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-assessment-1",pictogramProps:e})})),dZ=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-assessment-2",pictogramProps:e})})),d0=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-blood-bank",pictogramProps:e})})),d1=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-cardiology",pictogramProps:e})})),d2=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-ct-scan",pictogramProps:e})})),d6=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-dentistry",pictogramProps:e})})),d5=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-digital-trust",pictogramProps:e})})),d3=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-emergency-department",pictogramProps:e})})),d8=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-facility",pictogramProps:e})})),d4=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-geriatrics",pictogramProps:e})})),d7=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-gynaecology",pictogramProps:e})})),d9=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-in-patient",pictogramProps:e})})),me=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-laboratory",pictogramProps:e})})),mt=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-labs-2",pictogramProps:e})})),mn=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-obstetrics",pictogramProps:e})})),mo=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-patient-search",pictogramProps:e})})),mr=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-patients",pictogramProps:e})})),mi=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-payments-desk",pictogramProps:e})})),ma=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-pharmacy",pictogramProps:e})})),ms=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-pharmacy-2",pictogramProps:e})})),ml=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-registration",pictogramProps:e})})),mc=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-service-queues",pictogramProps:e})})),mu=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-stock-management",pictogramProps:e})})),md=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-transfer",pictogramProps:e})})),mm=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-triage",pictogramProps:e})})),mf=(0,iQ.memo)((0,iQ.forwardRef)(function(e,t){return(0,sR.jsx)(mw,{ref:t,pictogram:"omrs-pict-x-ray",pictogramProps:e})})),mp=d8,mg=mr,mh=(0,iQ.memo)((0,iQ.forwardRef)(function({pictogram:e,fallback:t,...n},o){let r=(0,iQ.useRef)(document.getElementById(e));return(0,iQ.useEffect)(()=>{let t=document.getElementById("omrs-svgs-container"),n=new MutationObserver(t=>{for(let n of t)"childList"===n.type&&(r.current=document.getElementById(e))});return t&&n.observe(t,{childList:!0}),()=>n.disconnect()},[e]),(0,sR.jsx)(aC,{value:r.current,fallback:t,children:(0,sR.jsx)(mw,{ref:o,pictogram:e,pictogramProps:n})})})),mw=(0,iQ.memo)((0,iQ.forwardRef)(function({pictogram:e,pictogramProps:t},n){let{className:o,size:r}=Object.assign({},{size:92},t);return(r<=26||r>144)&&(console.error(`Invalid size '${r}' specified for ${e}. Defaulting to 92.`),r=92),(0,sR.jsx)("svg",{ref:n,className:sW()("-esm-devtools__pictograms-module__pictogram___wXX7t",o),height:r,width:r,children:(0,sR.jsx)("use",{href:`#${e}`})})})),m_=({children:e})=>"tablet"===a7()?(0,sR.jsx)(sF.Layer,{children:e}):(0,sR.jsx)(sR.Fragment,{children:e}),my=({snackbar:e,closeSnackbar:t})=>{let{actionButtonLabel:n="",kind:o="success",onActionButtonClick:r=()=>{},isLowContrast:i="error"!==o,progressActionLabel:a,subtitle:s="",timeoutInMs:l=5e3,autoClose:c="error"!==o,title:u,id:d,...m}=e,[f,p]=(0,iQ.useState)(n),[g,h]=(0,iQ.useState)(!0),[w,_]=(0,iQ.useState)(!1),y=(0,iQ.useCallback)(()=>{setTimeout(t,250)},[t]),v=(0,iQ.useCallback)(()=>{_(!0),y()},[y]);return(0,iQ.useEffect)(()=>{if(c){let e=setTimeout(v,l);return()=>clearTimeout(e)}},[l,c,v]),(0,iQ.useEffect)(()=>{h(!1),window.setTimeout(()=>{h(!0)},0)},[]),(0,sR.jsx)(sF.ActionableNotification,{actionButtonLabel:f,"aria-label":tY("closeSnackbar","Close snackbar"),className:sW()("-esm-devtools__snackbar-module__slideIn___-oZIt",{"-esm-devtools__snackbar-module__animated___M2YBU":g,"-esm-devtools__snackbar-module__slideOut___yEmGT":w}),kind:o,lowContrast:i,onActionButtonClick:()=>{r(),v(),a&&p(a)},onClose:y,statusIconDescription:tY("snackbarNotification","Snackbar notification"),subtitle:s,title:u,...m})},mv=({subject:e})=>{let[t,n]=(0,iQ.useState)([]),o=(0,iQ.useCallback)(e=>{n(t=>t.filter(t=>t!==e))},[]);return(0,iQ.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.subtitle!==e.subtitle||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,sR.jsx)(sR.Fragment,{children:t.map(e=>(0,sR.jsx)(my,{snackbar:e,closeSnackbar:()=>o(e)},e.id))})},mb=new G.Subject,mx=0;function mk(e){e&&(0,aa.createRoot)(e).render((0,sR.jsx)(mv,{subject:mb}))}function mS(e){var t;e&&"string"==typeof(t=e.title)&&t.trim().length>0?setTimeout(()=>{mb.next({...e,id:mx++})},0):console.error("showSnackbar must be called with an object having a 'title' property that is a non-empty string")}let mj=({toast:e,closeToast:t})=>{let{description:n,kind:o,critical:r,title:i,actionButtonLabel:a,onActionButtonClick:s=()=>{}}=e,l=(0,iQ.useCallback)(()=>{s(),t()},[t,s]);return(0,sR.jsx)("div",{children:(0,sR.jsx)(sF.ActionableNotification,{actionButtonLabel:a,kind:o||"info",lowContrast:r,subtitle:n,title:i||"",onActionButtonClick:l,onClose:t})})},mN=({subject:e})=>{let[t,n]=(0,iQ.useState)([]),o=(0,iQ.useCallback)(e=>{n(t=>t.filter(t=>t!==e))},[]);return(0,iQ.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.description!==e.description||t.kind!==e.kind||t.title!==e.title||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick),e]));return()=>t.unsubscribe()},[e]),(0,sR.jsx)(sR.Fragment,{children:t.map(e=>(0,sR.jsx)(mj,{toast:e,closeToast:()=>o(e)},e.id))})},mC=new G.Subject,mE=0;function mO(e){e&&(0,aa.createRoot)(e).render((0,sR.jsx)(mN,{subject:mC}))}function mI(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&!(0,dc.A)(t))?setTimeout(()=>{mC.next({...e,id:mE++})},0):console.error("showToast must be called with an object having a 'description' property that is a non-empty string or object")}function mA(e,t=!1){if(t)return!0;let n=mM[e];return!n||!n()}function mP(e,t){let n=mz.getState()?.workspaceGroup,o=n?.name;o&&e===o&&mq(()=>{let o=mZ(e);o&&(o.setState({},!0),o.subscribe(()=>{})()),"function"==typeof n?.cleanup&&n.cleanup(),mz.setState(e=>({...e,workspaceGroup:void 0})),"function"==typeof t&&t()},o?e=>e.currentWorkspaceGroup===o:()=>!0)}function mT(e,t){let{name:n,additionalProps:o}=t;i$(n);let r=()=>{mU(e.name,{ignoreChanges:!0,onWorkspaceClose:()=>m$(n,o),closeWorkspaceGroup:!1})};mA(e.name)?r():mX("closing-workspace-launching-new-workspace",r,e.title??e.name)}function m$(e,t){let n=i$(e),o=mz.getState().workspaceGroup;if(o&&!o.members?.includes(e))return void mP(o.name,()=>{m$(e,t)});let r=mz.getState().workspaceGroup?.name,i={...n,title:mQ(n,t),closeWorkspace:(t={})=>mU(e,t),closeWorkspaceWithSavedChanges:t=>mU(e,{ignoreChanges:!0,...t}),promptBeforeClosing:t=>{var n,o;return n=e,o=t,void(mM[n]=o)},setTitle:(t,n)=>{i.title=t,i.titleNode=n,mz.setState(t=>{let n=t.openWorkspaces.map(t=>t.name===e?i:t);return{...t,openWorkspaces:n}})},currentWorkspaceGroup:r,additionalProps:t??{}};function a(e,t){mz.setState(n=>{let o=[e,...t??n.openWorkspaces],r=mJ(e);return{...n,openWorkspaces:o,workspaceWindowState:r}})}r&&mZ(r,t);let s=mz.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===mQ(t,t.additionalProps)&&{title:mQ(i,i.additionalProps)}},s.filter(t=>t.name!=e))}else c?(a(c,mz.getState().openWorkspaces.filter(e=>e.type!=i.type)),mT(c,{name:e,additionalProps:t})):a(i);else mT(s[0],{name:e,additionalProps:t})}function mR({targetUrl:e,contextKey:t,workspaceName:n,additionalProps:o}){mF(t),m$(n,o),tg({to:e})}let mM={};function mW(e,t){mM[e]=t}function mD(e){return mM[e]}function mL(){let e=mz.getState();mz.setState({...e,prompt:null})}let mB={ignoreChanges:!1,onWorkspaceClose:()=>{},closeWorkspaceGroup:!0};function mU(e,t={}){t={...mB,...t};let n=()=>{let n=mz.getState();n.openWorkspaces.find(t=>t.name===e);let o=n.openWorkspaces.filter(t=>t.name!=e),r=mz.getState().workspaceGroup?.name;r&&t.closeWorkspaceGroup&&mP(r),mM[e]=()=>!1,mz.setState(e=>({...e,prompt:null,openWorkspaces:o,workspaceWindowState:mJ(o?.[0])})),t?.onWorkspaceClose?.()};return mA(e,t?.ignoreChanges)?(n(),!0):(mX("closing-workspace",n,i$(e).title??e),!1)}function mF(e){mz.getState().context!=e&&mz.setState({context:e,openWorkspaces:[],prompt:null})}let mH={context:"",openWorkspaces:[],prompt:null,workspaceWindowState:"normal",workspaceGroup:void 0},mz=L("workspace",mH);function mG(){return mz}function mV(e){let t=mz.getState();mz.setState({...t,workspaceWindowState:e})}function mJ(e){return e?.preferredWindowSize??"normal"}function mq(e=()=>{},t=()=>!0){let n=mz.getState().openWorkspaces.filter(t).every(({name:e})=>mA(e)),o=()=>{mY(),e?.()};n?o():mX("closing-all-workspaces",o)}function mK(){let{workspaceWindowState:e,openWorkspaces:t,prompt:n,workspaceGroup:o}=i3(mz);return(0,iQ.useMemo)(()=>({active:t.length>0,prompt:n,workspaceWindowState:e,workspaces:t,workspaceGroup:o}),[t,e,n,o])}function mX(e,t=()=>{},n=""){let o;switch(e){case"closing-workspace":o={title:tY("unsavedChangesTitleText","Unsaved changes"),body:tY("unsavedChangesInOpenedWorkspace","You may have unsaved changes in the opened workspace. Do you want to discard these changes?"),onConfirm:()=>{t?.()},confirmText:tY("discard","Discard")};break;case"closing-all-workspaces":{let e=mz.getState().openWorkspaces.filter(({name:e})=>!mA(e)).map(({title:e},t)=>`${t+1}. ${e}`);o={title:tY("closingAllWorkspacesPromptTitle","You have unsaved changes"),body:tY("closingAllWorkspacesPromptBody","There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}",{workspaceNames:e.join(",")}),onConfirm:()=>{t?.()},confirmText:tY("closeAllOpenedWorkspaces","Discard changes in {{count}} workspaces",{count:e.length})};break}case"closing-workspace-launching-new-workspace":o={title:tY("unsavedChangesTitleText","Unsaved changes"),body:tY("unsavedChangesInWorkspace",'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',{workspaceName:n}),onConfirm:()=>{mz.setState(e=>({...e,prompt:null})),t?.()},confirmText:tY("openAnyway","Open anyway")};break;default:console.error(`Workspace system trying to open unknown prompt type "${e}" in function "showWorkspacePrompts"`),t?.();return}mz.setState(e=>({...e,prompt:o}))}function mQ(e,t){return t?.workspaceTitle??e.title}function mY(){mz.setState(mH)}function mZ(e,t={}){if(!e||"default"===e)return;let n=U(e,{});return t&&n.setState(e=>({...e,...t})),n}let m0="-esm-devtools__action-menu-button-module__container___f7spB",m1="-esm-devtools__action-menu-button-module__elementContainer___ZROo9",m2="-esm-devtools__action-menu-button-module__active___+mcQh";function m6({getIcon:e,formOpenInTheBackground:t,tagContent:n}){return(0,sR.jsxs)(sR.Fragment,{children:[e({size:16}),t?(0,sR.jsx)("span",{className:"-esm-devtools__action-menu-button-module__interruptedTag___7695L",children:"!"}):(0,sR.jsx)("span",{className:"-esm-devtools__action-menu-button-module__countTag___vo9ZX",children:n})]})}let m5=({getIcon:e,label:t,iconDescription:n,handler:o,type:r,tagContent:i})=>{let a=a7(),{workspaces:s,workspaceWindowState:l}=mK(),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,sR.jsxs)(sF.Button,{className:sW()(m0,{[m2]:u}),iconDescription:n,kind:"ghost",onClick:o,role:"button",tabIndex:0,size:"md",children:[(0,sR.jsx)("span",{className:m1,children:(0,sR.jsx)(m6,{formOpenInTheBackground:d,getIcon:e,tagContent:i})}),(0,sR.jsx)("span",{children:t})]}):(0,sR.jsx)(sF.IconButton,{align:"left","aria-label":n,className:sW()(m0,{[m2]:u}),enterDelayMs:300,kind:"ghost",label:t,onClick:o,size:"md",children:(0,sR.jsx)("div",{className:m1,children:(0,sR.jsx)(m6,{formOpenInTheBackground:d,getIcon:e,tagContent:i})})})};var m3=n(3173),m8=n(185),m4=n(4564);function m7({contextKey:e}){let{prompt:t}=mK();return(0,iQ.useEffect)(()=>{RegExp(`/${(0,m4.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,iQ.useEffect)(()=>(mF(e),()=>{mF(null)}),[e]),(0,iQ.useEffect)(()=>{let t=t=>{let{detail:{cancelNavigation:n,newUrl:o}}=t,r=RegExp(`/${(0,m4.A)(e)}(/|$)`),i=new URL(o),a=r.test(i.pathname),s=mz.getState().openWorkspaces.every(({name:e})=>mA(e));a||(s?mY():(n?.(),mq(()=>{tg({to:o})})))};return window.addEventListener("single-spa:before-routing-event",t),()=>{window.removeEventListener("single-spa:before-routing-event",t)}},[]),null!=t?(0,sR.jsxs)(sF.ComposedModal,{open:!0,onClose:mL,children:[(0,sR.jsx)(sF.ModalHeader,{title:t.title}),(0,sR.jsx)(sF.ModalBody,{children:(0,sR.jsx)("p",{className:"-esm-devtools__workspace-notification-module__messageBody___+SBeV",children:t.body})}),(0,sR.jsxs)(sF.ModalFooter,{children:[(0,sR.jsx)(sF.Button,{kind:"secondary",onClick:mL,children:t.cancelText??tY("cancel")}),(0,sR.jsx)(sF.Button,{kind:"danger",onClick:t.onConfirm,children:t.confirmText??tY("confirm")})]})]}):null}var m9=n(1820);function fe({workspace:e,additionalPropsFromPage:t}){let[n,o]=(0,iQ.useState)(),r=function(e){let[t,n]=(0,iQ.useState)({}),[o,r]=(0,iQ.useState)(e);return(0,iQ.useEffect)(()=>{o!==e&&r(e)},[e]),(0,iQ.useEffect)(()=>{let e,t=mZ(o);return t&&(n(t.getState()),e=t.subscribe(n)),()=>{t&&e?.()}},[o]),t}(e.currentWorkspaceGroup);(0,iQ.useEffect)(()=>{let t=!0;return e.load().then(e=>{t&&o(e)}),()=>{t=!1}},[e]);let i=(0,iQ.useMemo)(()=>e&&{closeWorkspace:e.closeWorkspace,closeWorkspaceWithSavedChanges:e.closeWorkspaceWithSavedChanges,promptBeforeClosing:e.promptBeforeClosing,setTitle:e.setTitle,...t,...r,...e.additionalProps},[e,t,r]);return n?(0,sR.jsx)(m9.A,{config:n,mountParcel:iK,...i},e.name):(0,sR.jsx)(sF.InlineLoading,{className:"-esm-devtools__workspace-module__loader___H6dHj",description:`${tY("loading","Loading")} ...`})}function ft({isWithinWorkspace:e,name:t,actionMenuProps:n={}}){let[o,r]=(0,iQ.useState)(!1),i=(0,iQ.useRef)(window.innerHeight),{featureName:a}=(0,iQ.useContext)(iZ),s=a7();(0,iQ.useEffect)(()=>{let e=()=>{r(!a9(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,sR.jsx)("aside",{className:sW()("-esm-devtools__action-menu-module__sideRail___GJUJ7",{"-esm-devtools__action-menu-module__withinWorkspace___7+TCf":e,"-esm-devtools__action-menu-module__sideRailHidden___bQ0UM":o,"-esm-devtools__action-menu-module__sideRailVisible___v-1cR":!o}),children:(0,sR.jsx)("div",{className:"-esm-devtools__action-menu-module__container___WocuW",children:(0,sR.jsx)(ai,{className:"-esm-devtools__action-menu-module__chartExtensions___Cn3Jb",name:l,state:n})})})}function fn({contextKey:e,overlay:t,showSiderailAndBottomNav:n,additionalWorkspaceProps:o,actionMenuProps:r}){let i=a7(),{workspaces:a,workspaceWindowState:s,workspaceGroup:l}=mK(),c=l?.name,u=a[0],d="hidden"===s||null==u,m=u?.width??(t?"wider":"narrow"),f=(0,iQ.useMemo)(()=>n||c&&!d,[c,d,n]);return a$(!d&&!a9(i)),(0,sR.jsxs)(sR.Fragment,{children:[(0,sR.jsxs)("div",{className:n?"-esm-devtools__workspace-module__workspaceContainerWithActionMenu___AHHuu":"-esm-devtools__workspace-module__workspaceContainerWithoutActionMenu___E7yiH",children:[(0,sR.jsx)("aside",{className:sW()(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,sR.jsx)("div",{className:sW()("-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,sR.jsx)("div",{className:sW()("-esm-devtools__workspace-module__workspaceInnerContainer___tYaVV",{"-esm-devtools__workspace-module__hiddenExtraWorkspace___lBaWe":0!==t}),children:(0,sR.jsx)(iQ.Suspense,{fallback:null,children:(0,sR.jsx)(al.I18nextProvider,{i18n:window.i18next,defaultNS:e.moduleName,children:(0,sR.jsx)(fo,{workspaceInstance:e,additionalWorkspaceProps:o})})})},`workspace-container-${e?e.name:`empty-${t}`}`))})}),(0,sR.jsx)(m7,{contextKey:e})]}),f&&(0,sR.jsx)(ft,{name:c,isWithinWorkspace:!n,actionMenuProps:r})]})}function fo({workspaceInstance:e,additionalWorkspaceProps:t}){let{t:n}=(0,al.useTranslation)(),o=a7(),{workspaceWindowState:r,workspaceGroup:i}=mK(),a=i?.name,s="maximized"===r;(0,iQ.useEffect)(()=>{let t=n(e.title);t!==e.title&&e.setTitle(t)},[e.title,n,e.setTitle]);let{featureName:l}=(0,iQ.useContext)(iZ),c=(0,iQ.useCallback)(()=>{mV(s?"normal":"maximized")},[s]),{canHide:u=!1,canMaximize:d=!1,currentWorkspaceGroup:m="",closeWorkspace:f}=(0,iQ.useMemo)(()=>e??{},[e]),p=(0,iQ.useMemo)(()=>({...t,...e?.additionalProps}),[t,e]);return e&&(0,sR.jsxs)(sR.Fragment,{children:[(0,sR.jsxs)(sF.Header,{"aria-label":tY("workspaceHeader","Workspace Header"),className:"-esm-devtools__workspace-module__header___-3kjt",children:[!a9(o)&&!u&&(0,sR.jsx)(sF.HeaderMenuButton,{"aria-label":tY("close","Close"),renderMenuIcon:(0,sR.jsx)(s3,{}),onClick:()=>f()}),(0,sR.jsx)(sF.HeaderName,{prefix:"",children:e.titleNode??n(e.title)}),(0,sR.jsx)("div",{className:"-esm-devtools__workspace-module__overlayHeaderSpacer___2Zd7J"}),(0,sR.jsxs)(sF.HeaderGlobalBar,{className:"-esm-devtools__workspace-module__headerButtons___ppNsY",children:[(0,sR.jsx)(ai,{name:`workspace-header-group-${e.currentWorkspaceGroup}-slot`,state:p}),(0,sR.jsx)(ai,{name:`workspace-header-type-${e.type}-slot`,state:p}),(0,sR.jsx)(ai,{name:`workspace-header-${l}-slot`,state:p}),a9(o)&&(0,sR.jsxs)(sR.Fragment,{children:[(d||s)&&(0,sR.jsx)(sF.HeaderGlobalAction,{"aria-label":s?tY("minimize","Minimize"):tY("maximize","Maximize"),onClick:c,children:s?(0,sR.jsx)(m3.Xj,{}):(0,sR.jsx)(m3.hz,{})}),u&&!a?(0,sR.jsx)(sF.HeaderGlobalAction,{"aria-label":tY("hide","Hide"),onClick:()=>mV("hidden"),children:(0,sR.jsx)(s8,{})}):(0,sR.jsx)(sF.HeaderGlobalAction,{"aria-label":tY("close","Close"),onClick:()=>f?.(),children:(0,sR.jsx)(lp,{})})]}),"tablet"===o&&u&&(0,sR.jsx)(sF.HeaderGlobalAction,{"aria-label":tY("close","Close"),onClick:()=>f?.(),children:(0,sR.jsx)(m8.d3,{})})]})]}),(0,sR.jsx)("div",{className:sW()("-esm-devtools__workspace-module__workspaceContent___cNdK1",{"-esm-devtools__workspace-module__marginWorkspaceContent___RXftx":!!m}),children:(0,sR.jsx)(fe,{workspace:e,additionalPropsFromPage:t},e.name)})]})}async function fr(e,t){let{openedGroup:n}=iM.getState();if(n){if(n.groupName===e&&fs(n.props,t))return!0;else if(!await fl({reason:"CLOSE_WORKSPACE_GROUP",explicit:!1}))return!1}return iM.setState(n=>({...n,openedGroup:{groupName:e,props:t},openedWindows:[]})),!0}async function fi(e){let{openedGroup:t,openedWindows:n}=iM.getState();if(t){if(n.length>0&&!(e||await fl({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})))return!1;iM.setState(e=>({...e,openedGroup:null,openedWindows:[]}))}return!0}async function fa(e,t=null,n=null,o=null){let r=iM.getState();if(!r.registeredWorkspacesByName[e])throw Error(`Unable to launch workspace ${e}. Workspace is not registered`);let i=iW(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=iD(s);if(!l)throw Error(`Unable to launch workspace ${e}. Workspace window ${i.name} is not registered to a workspace group`);let c=iL(e);if(a&&(a.groupName!==l.name||!fs(a.props,o)))return!!await fl({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})&&(iM.setState({...r,openedGroup:{groupName:l.name,props:o},openedWindows:[{windowName:s,openedWorkspaces:[ff(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0);if(c>=0){let o=r.openedWindows[c],i=r.openedGroup?.props??{},a=r.isMostRecentlyOpenedWindowHidden,{openedWorkspaces:u}=o;if(fs(o.props,n)){let d=u.find(t=>t.workspaceName===e);return d&&fs(d.props,t)?((a||c!==r.openedWindows.length-1)&&iM.setState(fc.restoreWindow(r,s)),!0):!!await fl({reason:"CLOSE_WORKSPACE",explicit:!1,windowName:s,workspaceName:e})&&(iM.setState({...r,openedGroup:{groupName:l.name,props:r?.openedGroup?.props??i},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:s,openedWorkspaces:[ff(e,t)],props:o?.props??n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return!!await fl({reason:"CLOSE_WINDOW",explicit:!1,windowName:s})&&(iM.setState({...r,openedGroup:{groupName:l.name,props:i??r?.openedGroup?.props},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:s,openedWorkspaces:[ff(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return"closable"!=l.persistence?(iM.setState({...r,openedGroup:{groupName:l.name,props:o??r?.openedGroup?.props??null},openedWindows:[...r.openedWindows,{windowName:s,openedWorkspaces:[ff(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0):!!await fl({reason:"CLOSE_OTHER_WINDOWS",explicit:!1,windowNameToSpare:i.name})&&(iM.setState({...r,openedGroup:{groupName:l.name,props:o??r?.openedGroup?.props??null},openedWindows:[{windowName:s,openedWorkspaces:[ff(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}function fs(e,t){return null==e||null==t||E(e,t)}function fl(e){function t(e,t){let n=[];for(let o=e.openedWorkspaces.length-1;o>=0;o--){let r=e.openedWorkspaces[o];if(r.hasUnsavedChanges&&n.push(r),t&&r.workspaceName===t)break}return n}let{openedWindows:n,workspaceTitleByWorkspaceName:o}=iM.getState(),r=[];switch(e.reason){case"CLOSE_WORKSPACE_GROUP":r=n.flatMap(e=>t(e));break;case"CLOSE_WINDOW":{let o=n.find(t=>t.windowName===e.windowName);if(!o)throw Error(`Window ${e.windowName} not found in opened windows.`);r=t(o);break}case"CLOSE_WORKSPACE":{let o=n.find(t=>t.windowName===e.windowName);if(!o)throw Error(`Window ${e.windowName} not found in opened windows.`);r=t(o,e.workspaceName);break}case"CLOSE_OTHER_WINDOWS":r=n.filter(t=>t.windowName!==e.windowNameToSpare).flatMap(e=>t(e))}return 0===r.length?Promise.resolve(!0):new Promise(e=>{let t=dr("workspace2-close-prompt",{size:"sm",onConfirm:()=>{t(),e(!0)},onCancel:()=>{t(),e(!1)},affectedWorkspaceTitles:r.map(e=>o[e.workspaceName])})})}let fc={setWindowMaximized(e,t,n){let o=e.openedWindows.findIndex(e=>e.windowName===t),r=[...e.openedWindows],i={...r[o],maximized:n};return r[o]=i,{...e,openedWindows:r}},hideWindow:e=>({...e,isMostRecentlyOpenedWindowHidden:!0}),restoreWindow(e,t){let n=e.openedWindows.findIndex(e=>e.windowName===t),o=e.openedWindows[n],r=[...e.openedWindows.filter((e,t)=>t!==n),o];return{...e,openedWindows:r,isMostRecentlyOpenedWindowHidden:!1}},closeWorkspace(e,t){let n=iL(t);if(n<0)return e;let o={...e.openedWindows[n]},r=o.openedWorkspaces.findIndex(e=>e.workspaceName===t),i=[...e.openedWindows];o.openedWorkspaces=o.openedWorkspaces.slice(0,r);let a=e.isMostRecentlyOpenedWindowHidden;if(0===o.openedWorkspaces.length){let t=n===e.openedWindows.length-1;i.splice(n,1),t&&i.length>0&&(a=!1)}else i[n]=o;return{...e,openedWindows:i,isMostRecentlyOpenedWindowHidden:a}},openChildWorkspace(e,t,n,o){let r=e.registeredWorkspacesByName[n];if(!r)throw Error(`No workspace named "${n}" registered`);let i=e.registeredWorkspacesByName[t];if(!i)throw Error(`No workspace named "${t}" registered`);if(i.window!==r.window)throw Error(`Child workspace ${n} does not belong to the same workspace window as parent workspace ${t}`);let a=e.openedWindows.findIndex(e=>e.windowName===r.window);if(-1==a)throw Error(`Cannot open child workspace ${n} as window ${r.window} is not opened`);let{openedWorkspaces:s}=e.openedWindows[a],l=s.findIndex(e=>e.workspaceName===t);if(-1===l)throw Error(`Cannot open child workspace ${n} from parent workspace ${t} as the parent is not opened within the workspace window`);let c=s.slice(0,l+1);return{openedWindows:e.openedWindows.map((e,t)=>t==a?{...e,openedWorkspaces:[...c,ff(n,o)]}:e)}},setHasUnsavedChanges(e,t,n){let o=iL(t);if(o<0)return e;let r={...e.openedWindows[o]},i=r.openedWorkspaces.findIndex(e=>e.workspaceName===t);if(i<0)return e;r.openedWorkspaces[i]={...r.openedWorkspaces[i],hasUnsavedChanges:n};let a=[...e.openedWindows];return a[o]=r,{...e,openedWindows:a}},setWorkspaceTitle(e,t,n){let o={...e.workspaceTitleByWorkspaceName};return null===n?delete o[t]:o[t]=n,{...e,workspaceTitleByWorkspaceName:o}}};function fu(){return i8(iM,fc)}let fd=()=>(0,iQ.useContext)(as.i),fm=()=>Object.keys(iM.getState().registeredWorkspacesByName);function ff(e,t){return{workspaceName:e,props:t??{},hasUnsavedChanges:!1,uuid:(0,oh.A)()}}let fp={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"},fg=({title:e,children:t,hasUnsavedChanges:n=!1})=>{let o=a7(),{setWindowMaximized:r,hideWindow:i,setHasUnsavedChanges:a,openedWindows:s,openedGroup:l,registeredGroupsByName:c,registeredWindowsByName:u,registeredWorkspacesByName:d,workspaceTitleByWorkspaceName:m,setWorkspaceTitle:f,isMostRecentlyOpenedWindowHidden:p}=fu(),{workspaceName:g,isRootWorkspace:h,closeWorkspace:w,showActionMenu:_}=fd(),y=iL(g),v=s[y],b=v?.openedWorkspaces.find(e=>e.workspaceName===g);if((0,iQ.useEffect)(()=>{b?.hasUnsavedChanges!=n&&a(g,n??!1)},[b?.hasUnsavedChanges,n,g,a]),(0,iQ.useEffect)(()=>{m[g]!==e&&f(g,e)},[m,g,e,f]),y<0||null==l||null==b)return null;let x=c[l.groupName];if(!x)throw Error(`Cannot find registered workspace group ${l.groupName}`);let k=d[g].window,S=u[k];if(!S)throw Error(`Cannot find registered workspace window ${k}`);let{icon:j,canMaximize:N}=S,C="closable"===x.persistence,E=!!j&&!C,{maximized:O}=v,I=S?.width??"narrow",A=Object.values(u).some(e=>e.group===l.groupName&&void 0!==e.icon),P=y<s.length-1||p;return(0,sR.jsxs)("div",{className:sW()(fp.workspaceOuterContainer,{[fp.narrowWorkspace]:"narrow"===I,[fp.widerWorkspace]:"wider"===I,[fp.extraWideWorkspace]:"extra-wide"===I,[fp.isActionMenuOpened]:A}),children:[(0,sR.jsx)("div",{className:sW()(fp.workspaceSpacer,{[fp.hidden]:P})}),(0,sR.jsx)("div",{className:sW()(fp.workspaceMiddleContainer,{[fp.maximized]:O,[fp.hidden]:P,[fp.isRootWorkspace]:h,[fp.showActionMenu]:_}),children:(0,sR.jsxs)("div",{className:sW()(fp.workspaceInnerContainer,{[fp.maximized]:O,[fp.hidden]:P,[fp.isRootWorkspace]:h}),children:[(0,sR.jsxs)(sF.Header,{"aria-label":tY("workspaceHeader"),className:fp.header,children:[(0,sR.jsx)(sF.HeaderName,{prefix:"",children:e}),(0,sR.jsx)("div",{className:fp.overlayHeaderSpacer}),(0,sR.jsx)(sF.HeaderGlobalBar,{className:fp.headerButtons,children:a9(o)?(0,sR.jsxs)(sR.Fragment,{children:[(N||O)&&(0,sR.jsx)(sF.HeaderGlobalAction,{"aria-label":O?tY("minimize"):tY("maximize"),onClick:()=>r(k,!O),children:O?(0,sR.jsx)(m3.Xj,{}):(0,sR.jsx)(m3.hz,{})}),E&&(0,sR.jsx)(sF.HeaderGlobalAction,{"aria-label":tY("hide"),onClick:()=>i(),children:(0,sR.jsx)(s8,{})}),!C&&(0,sR.jsx)(sF.HeaderGlobalAction,{"aria-label":tY("close"),onClick:()=>w({closeWindow:!0}),children:(0,sR.jsx)(lp,{})})]}):(0,sR.jsxs)(sR.Fragment,{children:[E&&(0,sR.jsx)(sF.HeaderGlobalAction,{"aria-label":tY("hide"),onClick:()=>i(),children:(0,sR.jsx)(m8.d3,{})}),(0,sR.jsx)(sF.HeaderGlobalAction,{"aria-label":tY("close"),onClick:()=>{C?fi():w({closeWindow:!0})},children:(0,sR.jsx)(lp,{})})]})})]}),(0,sR.jsx)("div",{className:sW()(fp.workspaceContent),children:t})]})})]})},fh="-esm-devtools__action-menu-button2-module__container___jc6--",fw="-esm-devtools__action-menu-button2-module__elementContainer___whLL8",f_="-esm-devtools__action-menu-button2-module__active___fbyFm",fy="-esm-devtools__action-menu-button2-module__focused___+aVpz";function fv({getIcon:e,hasUnsavedChanges:t,tagContent:n}){return(0,sR.jsxs)(sR.Fragment,{children:[e({size:16}),t?(0,sR.jsx)("span",{className:"-esm-devtools__action-menu-button2-module__interruptedTag___sRkvS",children:"!"}):(0,sR.jsx)("span",{className:"-esm-devtools__action-menu-button2-module__countTag___XMH0D",children:n})]})}let fb=({icon:e,label:t,tagContent:n,workspaceToLaunch:o,onBeforeWorkspaceLaunch:r})=>{let i=a7(),{openedWindows:a,restoreWindow:s,hideWindow:l,isMostRecentlyOpenedWindowHidden:c}=fu(),{extension:u}=(0,iQ.useContext)(iZ),d=a.findIndex(e=>e.windowName===u?.extensionId),m=a[d],f=null!=m,p=f&&(d<a.length-1||c),g=f&&!p,h=m?.openedWorkspaces.some(e=>e.hasUnsavedChanges)??!1,w=async()=>{if(f)p?s(m.windowName):l();else if(await (r?.()??!0)){let{workspaceName:e,workspaceProps:t,windowProps:n}=o;fa(e,t,n)}};return"tablet"===i||"phone"===i?(0,sR.jsxs)(sF.Button,{className:sW()(fh,{[f_]:f&&!g,[fy]:g}),iconDescription:t,kind:"ghost",onClick:w,role:"button",tabIndex:0,size:"md",children:[(0,sR.jsx)("span",{className:fw,children:(0,sR.jsx)(fv,{hasUnsavedChanges:h,getIcon:e,tagContent:n})}),(0,sR.jsx)("span",{children:t})]}):(0,sR.jsx)(sF.IconButton,{align:"left","aria-label":t,className:sW()(fh,{[f_]:f&&!g,[fy]:g}),enterDelayMs:300,kind:"ghost",label:t,onClick:w,size:"md",children:(0,sR.jsx)("div",{className:fw,children:(0,sR.jsx)(fv,{hasUnsavedChanges:h,getIcon:e,tagContent:n})})})};function fx({showContactDetails:e,toggleContactDetails:t,className:n}){return(0,sR.jsx)(sF.Button,{className:n,iconDescription:"Toggle contact details",kind:"ghost",onClick:t,renderIcon:e?lf:lu,children:e?tY("showLess","Show less"):tY("showMore","Show more")})}let fk={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-"},fS=({patientUuid:e})=>{let{cohorts:t=[],isLoading:n}=function(e){let t=e?`${tj}/cohortm/cohortmember?patient=${e}&v=custom:(uuid,patient:ref,cohort:(uuid,name,startDate,endDate))`:null,{data:n,isLoading:o}=(0,ac.u)(t,tO),r=n?.data?.results.map(e=>({uuid:e.cohort.uuid,name:e.cohort.name,startDate:e.cohort.startDate,endDate:e.cohort.endDate}));return(0,iQ.useMemo)(()=>({cohorts:r,isLoading:o}),[o,r])}(e);return(0,sR.jsxs)(sR.Fragment,{children:[(0,sR.jsxs)("p",{className:fk.heading,children:[tY("patientLists","Patient Lists")," (",t?.length??0,")"]}),n?(0,sR.jsx)(sF.InlineLoading,{description:`${tY("loading","Loading")} ...`,role:"progressbar"}):(0,sR.jsxs)("ul",{children:[(()=>{if(t?.length>0){let e=t.sort((e,t)=>c2(e?.startDate).getTime()-c2(t?.startDate).getTime()).slice(0,3);return e?.map(e=>(0,sR.jsx)("li",{children:(0,sR.jsx)(i0,{to:`${window.spaBase}/home/patient-lists/${e.uuid}`,children:e.name},e.uuid)},e.uuid))}return(0,sR.jsx)("li",{children:"--"})})(),t.length>3&&(0,sR.jsx)("li",{className:fk.link,children:(0,sR.jsx)(i0,{to:`${window.spaBase}/home/patient-lists`,children:tY("seeMoreLists","See {{count}} more lists",{count:t?.length-3})})})]})]})},fj=({patientId:e})=>{let{patient:t,isLoading:n}=sc(e),o=t?.address?.find(e=>"home"===e.use),r=e=>e.split("#")[1];return n?(0,sR.jsx)(sF.InlineLoading,{description:`${tY("loading","Loading")} ...`,role:"progressbar"}):(0,sR.jsxs)(sR.Fragment,{children:[(0,sR.jsx)("p",{className:fk.heading,children:tY("address","Address")}),(0,sR.jsx)("ul",{children:o?Object.entries(o).filter(([e])=>"id"!==e&&"use"!==e).map(([e,t])=>"extension"===e?o.extension?.[0]?.extension?.map((t,n)=>(0,sR.jsxs)("li",{children:[tY(r(t.url),r(t.url)),": ",t.valueString]},`address-${e}-${n}`)):(0,sR.jsxs)("li",{children:[tY(e,e),": ",t]},`address-${e}`)):(0,sR.jsx)("li",{children:"--"})})]})},fN=({patientUuid:e})=>{let{isLoading:t,contactAttributes:n}=(e=>{let{contactAttributeTypes:t=[]}=aW({externalModuleName:"@openmrs/esm-patient-banner-app"}),{attributes:n,error:o,isLoading:r}=(e=>{let{data:t,error:n,isLoading:o}=(0,aU.A)(`${tj}/patient/${e}?v=custom:(uuid,display,identifiers:(identifier,uuid,preferred,location:(uuid,name),identifierType:(uuid,name,format,formatDescription,validator)),person:(uuid,display,gender,birthdate,dead,age,deathDate,birthdateEstimated,causeOfDeath,preferredName:(uuid,preferred,givenName,middleName,familyName),attributes,preferredAddress:(uuid,preferred,address1,address2,cityVillage,longitude,stateProvince,latitude,country,postalCode,countyDistrict,address3,address4,address5,address6,address7)))`,tO);return{isLoading:o,attributes:t?.data.person.attributes??[],error:n}})(e);return{contactAttributes:(0,iQ.useMemo)(()=>n.filter(({attributeType:e})=>t?.some(t=>e.uuid===t)),[n,t]),isLoading:r,error:o}})(e),o=(0,iQ.useMemo)(()=>n?[...n?.map(e=>[e.attributeType.display?tY(e.attributeType.display,e.attributeType.display):"",e.value])]:[],[n]);return(0,sR.jsxs)(sR.Fragment,{children:[(0,sR.jsx)("p",{className:fk.heading,children:tY("contactDetails","Contact Details")}),t?(0,sR.jsx)(sF.InlineLoading,{description:`${tY("loading","Loading")} ...`,role:"progressbar"}):(0,sR.jsx)("ul",{children:o.length?o.map(([e,t],n)=>(0,sR.jsxs)("li",{children:[e,": ",t]},`${e}-${t}-${n}`)):(0,sR.jsx)("li",{children:"--"})})]})},fC=({patientId:e})=>{let{data:t,isLoading:n}=function(e){let t=`${tj}/relationship?v=custom:(display,uuid,personA:(age,display,birthdate,uuid),personB:(age,display,birthdate,uuid),relationshipType:(uuid,display,description,aIsToB,bIsToA))&person=${e}`,{data:n,error:o,isLoading:r,isValidating:i}=(0,ac.u)(e?t:null,tO),a=n?.data?.results?.length?function(e,t){let n=[];for(let o of t)e===o.personA.uuid?n.push({uuid:`${o.uuid}`,display:o.personB.display,relativeAge:o.personB.age,relativeUuid:o.personB.uuid,relationshipType:o.relationshipType.bIsToA}):n.push({uuid:`${o.uuid}`,display:o.personA.display,relativeAge:o.personA.age,relativeUuid:o.personA.uuid,relationshipType:o.relationshipType.aIsToB});return n}(e,n.data.results):null;return{data:n?a:null,error:o,isLoading:r,isValidating:i}}(e);return(0,sR.jsxs)(sR.Fragment,{children:[(0,sR.jsx)("p",{className:fk.heading,children:tY("relationships","Relationships")}),n?(0,sR.jsx)(sF.InlineLoading,{description:`${tY("loading","Loading")} ...`,role:"progressbar"}):(0,sR.jsx)("ul",{children:t&&t.length>0?(0,sR.jsx)(sR.Fragment,{children:t.map(e=>(0,sR.jsxs)("li",{className:fk.relationship,children:[(0,sR.jsx)("div",{children:(0,sR.jsx)(i0,{to:`${window.spaBase}/patient/${e.relativeUuid}/chart`,children:e.display})}),(0,sR.jsx)("div",{children:e.relationshipType}),(0,sR.jsx)("div",{children:`${e.relativeAge?e.relativeAge:"--"} ${e.relativeAge?1===e.relativeAge?tY("yearAbbreviation","yr"):tY("yearsAbbreviation","yrs"):""}`})]},e.uuid))}):(0,sR.jsx)("li",{children:"--"})})]})};function fE({patientId:e,deceased:t}){return(0,sR.jsxs)("div",{className:sW()(fk.contactDetails,{[fk.deceased]:t}),children:[(0,sR.jsxs)("div",{className:fk.row,children:[(0,sR.jsx)("div",{className:fk.col,children:(0,sR.jsx)(fj,{patientId:e})}),(0,sR.jsx)("div",{className:fk.col,children:(0,sR.jsx)(fN,{patientUuid:e})})]}),(0,sR.jsxs)("div",{className:fk.row,children:[(0,sR.jsx)("div",{className:fk.col,children:(0,sR.jsx)(fC,{patientId:e})}),(0,sR.jsx)("div",{className:fk.col,children:(0,sR.jsx)(fS,{patientUuid:e})})]})]})}function fO(e){let t=document.querySelector("template#loading-spinner");if(t){let n=t.content.cloneNode(!0),o=Array.prototype.map.call(n.childNodes,e=>e);return e.appendChild(n),()=>o.forEach(e=>e.remove())}return()=>{}}let fI="-esm-devtools__action-menu2-module__container___6Gke0";function fA({workspaceGroup:e,groupProps:t}){let n=a7(),{persistence:o}=e;return(0,sR.jsx)("aside",{className:"-esm-devtools__action-menu2-module__sideRail___T2lMV",children:(0,sR.jsxs)("div",{className:fI,children:["closable"==o&&a9(n)&&(0,sR.jsx)(sF.IconButton,{align:"left",onClick:()=>fi(),label:tY("close"),kind:"ghost",children:(0,sR.jsx)(lp,{})}),(0,sR.jsx)(iZ.Provider,{value:{moduleName:e.moduleName,featureName:e.name},children:(0,sR.jsx)(ai,{className:fI,name:e.name,state:{groupProps:t}})})]})})}function fP(e){let t=new URL(e,window.location.origin).pathname,n=new URL(window.getOpenmrsSpaBase?.()??"/",window.location.origin).pathname,o=n.endsWith("/")?n.slice(0,-1):n,r=null;return o?o===t?r="/":t.startsWith(`${o}/`)&&(r=t.slice(o.length)):r=t,{full:t,spaRelative:r}}let fT=({lifeCycle:e,openedWorkspace:t,openedWindow:n,isRootWorkspace:o,isLeafWorkspace:r,showActionMenu:i})=>{let{openedGroup:a,closeWorkspace:s,openChildWorkspace:l}=fu(),c=(0,iQ.useMemo)(()=>t&&{closeWorkspace:async(e={})=>{let{closeWindow:o=!1,discardUnsavedChanges:r=!1}=e;return o?!!(r||await fl({reason:"CLOSE_WINDOW",explicit:!0,windowName:n.windowName}))&&(s(n.openedWorkspaces[0].workspaceName),!0):!!(r||await fl({reason:"CLOSE_WORKSPACE",explicit:!0,windowName:n.windowName,workspaceName:t.workspaceName}))&&(s(t.workspaceName),!0)},launchChildWorkspace:async(e,o)=>{let r=t.workspaceName,{openedWorkspaces:i}=n,a=i.findIndex(e=>e.workspaceName===r);-1===a||a!==i.length-1&&i.slice(a+1).some(e=>e.hasUnsavedChanges)&&!await fl({reason:"CLOSE_WORKSPACE",explicit:!0,windowName:n.windowName,workspaceName:i[a+1].workspaceName})||l(r,e,o||{})},workspaceName:t.workspaceName,workspaceProps:t.props,windowProps:n.props,groupProps:a&&a.props?a.props:null,isRootWorkspace:o,isLeafWorkspace:r,windowName:n.windowName,showActionMenu:i},[t,s,a,n]);if(!e){let{registeredWorkspacesByName:e}=iM.getState(),n=e[t.workspaceName],r=n&&n.window?n.window:void 0,{registeredWindowsByName:s}=iM.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,sR.jsxs)("div",{className:sW()(fp.workspaceOuterContainer,{[fp.narrowWorkspace]:"narrow"===c,[fp.widerWorkspace]:"wider"===c,[fp.extraWideWorkspace]:"extra-wide"===c,[fp.isActionMenuOpened]:u}),children:[(0,sR.jsx)("div",{className:fp.workspaceSpacer}),(0,sR.jsx)("div",{className:sW()(fp.workspaceMiddleContainer,{[fp.isRootWorkspace]:o,[fp.showActionMenu]:i}),children:(0,sR.jsx)("div",{className:sW()(fp.workspaceInnerContainer,{[fp.isRootWorkspace]:o}),children:(0,sR.jsx)(sF.InlineLoading,{className:fp.loader,description:`${tY("loading")} ...`})})})]})}return(0,sR.jsx)(m9.A,{config:e,mountParcel:iK,...c},t.workspaceName)},f$=({openedWindow:e,showActionMenu:t})=>{let{openedWorkspaces:n}=e,[o,r]=(0,iQ.useState)({}),{registeredWorkspacesByName:i}=iM.getState();return(0,iQ.useEffect)(()=>{let e=!1;return Promise.all(n.map(async e=>{let{moduleName:t,component:n}=i[e.workspaceName];return[e.uuid,await sS(t,n)]})).then(t=>{e||r(Object.fromEntries(t))}),()=>{e=!0}},[n]),(0,sR.jsx)(sR.Fragment,{children:n.map((r,i)=>(0,sR.jsx)(fT,{openedWorkspace:r,openedWindow:e,lifeCycle:o[r.uuid],isRootWorkspace:0===i,isLeafWorkspace:i===n.length-1,showActionMenu:t},r.uuid))})};function fR(e){e&&(0,aa.createRoot)(e).render((0,sR.jsx)(fM,{}))}function fM(){let{openedGroup:e,openedWindows:t,registeredGroupsByName:n,registeredWindowsByName:o}=fu();if((0,iQ.useEffect)(()=>oB("before-page-changed",t=>{let{newPage:o,cancelNavigation:r,oldUrl:i,newUrl:a}=t;if(!e)return;if(o)return void r(fi().then(e=>!e));let s=n[e.groupName],l=s?.scopePattern;l&&function(e,t,n){try{let o=new RegExp(e),r=fP(t),i=fP(n);if(null===r.spaRelative||null===i.spaRelative)return!0;let a=o.exec(r.spaRelative),s=o.exec(i.spaRelative);if(a&&s||(a=o.exec(r.full),s=o.exec(i.full)),!a||!s)return!0;if(a.length>1)return!a.slice(1).every((e,t)=>e===s[t+1]);return!1}catch{return!0}}(l,i,a)&&r(fi().then(e=>!e))}),[e,n]),!e)return null;let r=n[e.groupName],i=t.some(e=>e.maximized),{name:a}=r,s=Object.values(o).filter(e=>e.group===a&&void 0!==e.icon).sort((e,t)=>(e.order??Number.MAX_VALUE)-(t.order??Number.MAX_VALUE)).length>0;return(0,sR.jsxs)("div",{className:sW()("-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,sR.jsx)("div",{className:"-esm-devtools__workspace-windows-and-menu-module__workspaceWindowsContainer___40ITO",children:t.map(e=>(0,sR.jsx)(f$,{openedWindow:e,showActionMenu:s},e.windowName))}),s&&(0,sR.jsx)(fA,{workspaceGroup:r,groupProps:e.props})]})}function fW(e,t,n){if(null==e)return n;let o=cH(e);if(!o)return console.warn(`matchLocale: invalid requested locale tag: ${JSON.stringify(e)}`),n;let r=[];for(let e of t){let t=cH(e);if(!t){console.warn(`matchLocale: skipping invalid available locale tag: ${JSON.stringify(e)}`);continue}r.push({canonical:t,original:e})}let i=o;for(;i;){let e=r.find(e=>e.canonical===i);if(e)return e.original;let t=i+"-",n=r.find(e=>e.canonical.startsWith(t));if(n)return n.original;if("ht"===i){i="fr-HT";continue}let o=i.lastIndexOf("-");if(-1===o)break;let a=(i=i.slice(0,o)).lastIndexOf("-");-1!==a&&i.length-a==2&&(i=i.slice(0,a))}return n}function fD(e=window.localStorage){try{return e.getItem("test"),!0}catch{return!1}}function fL(e){return!!e&&e.constructor===Object}var fB=n(143);function fU(e){let[t,n,o]=e.split(".");return`${t}.${n}.${o}`}function fF(e,t){let n=function(e){let t=e.indexOf("-");if(t>=0){let n=fU(e.slice(0,t)),o=e.slice(t+1);return`${n}-${o}`}return fU(e)}(t);return fB.satisfies(n,e,{includePrerelease:!0})}async function fH(e,t={}){let n,{shouldRetry:o,getDelay:r,onError:i}=t;o=o??(e=>e<=5),r=r??(e=>(function(e,t=!1){return 1e3*Math.pow(2,t?e+1:e)})(e));let a=0;do try{return await fz(r(a)),await e()}catch(e){i?.(e,a),n=e}while(o(a++));throw n}async function fz(e){if(!(e<=0))return new Promise(t=>setTimeout(t,e))}}}]);