@openmrs/esm-devtools-app 10.0.1-pre.5602 → 10.0.1-pre.5607
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/77.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
"use strict";(globalThis.webpackChunk_openmrs_esm_devtools_app=globalThis.webpackChunk_openmrs_esm_devtools_app||[]).push([["77"],{9668(e,t,o){let n,r;o.r(t),o.d(t,{GenderUnknownIcon:()=>ab,evaluateAsNumber:()=>nt,getImportMapOverrideMap:()=>t8,StockManagementPictogram:()=>ds,ChemistryIcon:()=>an,BabyIcon:()=>s2,DashboardExtension:()=>lb,openmrsComponentDecorator:()=>ii,tryRegisterExtension:()=>sb,pictogramIds:()=>uH,ActivityIcon:()=>sX,compile:()=>ni,removeRouteMapOverride:()=>oj,TableBatchActions:()=>sL,getAsyncLifecycle:()=>ia,subscribeOpenmrsEvent:()=>oW,PasswordIcon:()=>az,Assessment2Pictogram:()=>uJ,CloseIcon:()=>al,setupRouteMapOverrides:()=>oE,getWorkspaceGroupRegistration:()=>rj,registerWorkspace:()=>rb,useFeatureFlag:()=>iD,reset:()=>rm,LabOrderIcon:()=>aP,VisitMode:()=>oH,useLocations:()=>i8,getLifecycle:()=>is,formatDatetime:()=>l3,getVisitsForPatient:()=>oY,formatPartialDate:()=>l2,CustomOverflowMenu:()=>sz,LocationIcon:()=>a$,GroupIcon:()=>ak,createUseStore:()=>rY,VisitStatus:()=>oG,getSessionLocation:()=>tD,getCurrentImportMap:()=>oa,usePatient:()=>so,useRenderableExtensions:()=>sr,getOpenedWindowIndexByWorkspace:()=>rI,setLeftNav:()=>rf,clearHistory:()=>tw,clearConfigErrors:()=>eY,formatTime:()=>l8,isDevEnabled:()=>tH,closeWorkspaceGroup2:()=>mo,getCurrentRouteMap:()=>oy,ConfigurableLink:()=>rG,sessionStore:()=>tE,subscribeSnackbarShown:()=>h,getLoggedInUser:()=>tL,GenderMaleIcon:()=>av,getExtensionSlotConfigFromStore:()=>en,evaluateAsNumberAsync:()=>no,getImportMapDefaultMap:()=>t6,unregisterExtensionRendering:()=>nF,implementerToolsConfigStore:()=>e_,Type:()=>H,InPatientPictogram:()=>u6,cleanupObsoleteFeatureFlags:()=>nC,getAttachmentsUrl:()=>oO,showSnackbar:()=>dy,PatientBannerActionsMenu:()=>uM,PatientSearchPictogram:()=>u7,DocumentAttachmentIcon:()=>am,Snackbar:()=>dg,CardiologyPictogram:()=>uK,ImageMedicalIcon:()=>aN,ActionableNotificationComponent:()=>ut,DiagnosisTags:()=>cU,iconIds:()=>sK,PatientsPictogram:()=>u9,interpolateUrl:()=>tu,setupHistory:()=>tg,subscribeToastShown:()=>g,detachAll:()=>ra,convertToLocaleCalendar:()=>l4,DocumentIcon:()=>ad,configInternalStore:()=>Y,ActionMenuButton2:()=>mw,setupDynamicOfflineDataHandler:()=>mH,makeUrl:()=>tj,oneOf:()=>e5,selectPreferredName:()=>uS,launchWorkspaceGroup:()=>function e(t,o){let n=rj(t),{state:r,onWorkspaceGroupLaunch:i,workspaceGroupCleanup:s,workspaceToLaunch:a}=o,l=function(){return dB}();if(l.getState().openWorkspaces.length){let n=l.getState().workspaceGroup;n?dE(n?.name,()=>{e(t,o)}):dG(()=>{e(t,o)})}else l.setState(e=>({...e,workspaceGroup:{name:t,members:n.members,cleanup:s}})),dK(t,r),i?.(),a&&dA(a.name,a.additionalProps??{})},MobileCheckIcon:()=>aD,createErrorHandler:()=>v,parseDate:()=>lX,getAttachmentByUuid:()=>oA,LeftNavMenu:()=>cJ,getExtensionRegistration:()=>rn,ShoppingCartAddItemIcon:()=>lw,ReferralOrderIcon:()=>aY,ReportIcon:()=>aQ,dispatchToastShown:()=>m,getImportMapNextPageMap:()=>t5,registerExtension:()=>rr,setupOfflineSync:()=>mF,DownloadIcon:()=>ap,useConnectivity:()=>mq,provide:()=>eA,ShoppingCartArrowDownIcon:()=>a3,featureFlagsStore:()=>nj,promptBeforeClosing:()=>d$,jsep:()=>oZ.A,GeriatricsPictogram:()=>u1,SearchIcon:()=>a2,reportError:()=>w,slugify:()=>or,isOmrsDateToday:()=>lJ,getExtensionStore:()=>nH,BloodBankPictogram:()=>uq,TriagePictogram:()=>dl,Workspace2:()=>mm,refetchCurrentUser:()=>tT,CheckmarkOutlineIcon:()=>ao,registerExtensionSlot:()=>rd,AllergiesIcon:()=>lf,ArrowDownIcon:()=>sZ,useOpenmrsInfinite:()=>iJ,getExtensionConfigFromExtensionSlotStore:()=>ea,OpenmrsDatePicker:()=>cD,getExtensionConfigFromStore:()=>es,getDynamicOfflineDataEntries:()=>mG,getLocaleDisplayName:()=>lL,messageOmrsServiceWorker:()=>mV,navigate:()=>tm,launchWorkspace2:()=>mn,getGroupByWindowName:()=>rE,CustomOverflowMenuItem:()=>sV,isUrl:()=>e6,CaretDownIcon:()=>s8,ArrowLeftIcon:()=>sQ,FacilityPictogram:()=>u0,ViewOffIcon:()=>ld,updateInternalExtensionStore:()=>nM,dispatchActionableNotificationShown:()=>u,resetRouteMapOverrides:()=>oN,formatDurationBetween:()=>ci,defaultVisitCustomRepresentation:()=>oz,getBreadcrumbsFor:()=>tn,useOpenmrsPagination:()=>iU,Pagination:()=>uv,CheckmarkFilledIcon:()=>at,clearCurrentUser:()=>tM,showModal:()=>c4,ChevronUpIcon:()=>aa,saveVisit:()=>oK,useAttachments:()=>ij,Pictogram:()=>dp,useExtensionSlot:()=>r6,ChevronDownIcon:()=>ar,OpenmrsDateRangePicker:()=>cB,deleteAttachmentPermanently:()=>oR,getVisitTypes:()=>oF,OverflowMenuHorizontalIcon:()=>aH,EventScheduleIcon:()=>ah,getSessionStore:()=>t$,ActionMenu:()=>d4,ProcedureOrderIcon:()=>aK,preloadImport:()=>os,registerWorkspaceWindows2:()=>rP,useOnVisible:()=>i4,setSessionLocation:()=>tB,userHasAccess:()=>tW,ChartAverageIcon:()=>s9,getFeatureFlag:()=>nE,UserAvatarIcon:()=>la,renderExtension:()=>rB,useFhirInfinite:()=>iZ,toVisitTypeObject:()=>oB,useSession:()=>si,EmergencyDepartmentPictogram:()=>uQ,Notification:()=>c9,dispatchSnackbarShown:()=>d,navigateAndLaunchWorkspace:()=>dP,formatDate:()=>l6,workspace2StoreActions:()=>ms,SwitcherIcon:()=>a5,esmStyleGuideSchema:()=>sT,getImportMapDisabledOverrides:()=>t3,useAssignedExtensionIds:()=>ik,CaretRightIcon:()=>s4,evaluateAsType:()=>nn,PageHeader:()=>u_,TranslateIcon:()=>ln,setUserProperties:()=>tU,MovementIcon:()=>aF,renderInlineNotifications:()=>ul,subscribePrecacheStaticDependencies:()=>mJ,PaymentsDeskPictogram:()=>de,usePrimaryIdentifierCode:()=>sn,useLayoutType:()=>i0,getCurrentUser:()=>tO,XrayPictogram:()=>dc,CaretUpIcon:()=>s7,renderActionableNotifications:()=>uu,OpenmrsAppContext:()=>iw,setupModals:()=>c3,getDefaultsFromConfigSchema:()=>function e(t){let o={};for(let n of Object.keys(t))if(mM(t[n])&&t[n].hasOwnProperty("_default"))o[n]=t[n]._default;else{if(n.startsWith("_"))continue;mM(t[n])?o[n]=e(t[n]):o[n]=t[n]}return o},subscribeTo:()=>T,recordConfigDerivationError:()=>eg,useAbortController:()=>iy,Extension:()=>rz,getFhirServerPaginationHandlers:()=>iz,useConnectedExtensions:()=>iA,registerApp:()=>sk,HospitalBedIcon:()=>aj,useExtensionInternalStore:()=>iM,configExtensionStore:()=>Q,getSynchronizationItems:()=>mz,getExtensionSlotsConfigStore:()=>et,registerExtensionRendering:()=>nU,RenderIfValueIsTruthy:()=>iv,registerFeatureFlag:()=>nN,useFhirFetchAll:()=>iY,restBaseUrl:()=>tx,CalendarHeatMapIcon:()=>s6,getWorkspaceRegistration:()=>rS,isImportMapOverrideDisabled:()=>t4,resetConfigSystem:()=>eZ,getExtensionInternalStore:()=>nR,registerGlobalStore:()=>$,evaluateAsBoolean:()=>o9,PatientBannerPatientInfo:()=>uR,addRouteMapOverride:()=>oS,getDefaultCalendar:()=>l0,SettingsIcon:()=>a6,DrugOrderIcon:()=>af,ProgramsIcon:()=>aX,useAssignedExtensions:()=>r2,CloseFilledIcon:()=>ac,canAccessStorage:()=>mT,registerDefaultCalendar:()=>lQ,TreeViewAltIcon:()=>li,OverflowMenuVerticalIcon:()=>aG,clearConfigDerivationError:()=>eh,getConfigStore:()=>ee,registerWorkspaceGroup:()=>rx,InformationSquareIcon:()=>aI,EmptyCard:()=>cG,ChevronLeftIcon:()=>ai,RadiologyIcon:()=>l_,useCandidateExtensions:()=>iS,renderToasts:()=>dj,isDesktop:()=>i1,integrateBreakpoints:()=>sE,RegistrationPictogram:()=>dr,CardHeader:()=>sO,getExtensionRegistrationFrom:()=>ro,InformationIcon:()=>aC,TrashCanIcon:()=>lr,useShallowStableValue:()=>rV,useOpenmrsSWR:()=>i7,Assessment1Pictogram:()=>uV,finishRegisteringAllApps:()=>sS,importDynamic:()=>oi,useFhirPagination:()=>iG,useVisitContextStore:()=>sp,ArrowUpIcon:()=>s1,showActionableNotification:()=>ud,useForceUpdate:()=>iB,useVisit:()=>sf,updateWorkspaceWindowState:()=>dF,PatientBannerPatientIdentifiers:()=>uA,WorkspaceNotification:()=>d5,TransferPictogram:()=>da,usePagination:()=>i9,Breakpoint:()=>sj,PatientBannerToggleContactDetailsButton:()=>mv,CloseOutlineIcon:()=>au,ObstetricsPictogram:()=>u4,parseDateInput:()=>l9,getConfig:()=>eO,attach:()=>ri,getLocale:()=>lD,ActionMenuButton:()=>d0,isUrlWithTemplateParameters:()=>e2,useEmrConfiguration:()=>iR,useLeftNav:()=>i2,ToolsIcon:()=>lo,ErrorState:()=>cz,detach:()=>rs,setCurrentVisit:()=>oq,ConditionsIcon:()=>lh,SaveIcon:()=>a1,useWorkspaces:()=>dz,resetWorkspaceStore:()=>dq,useConfig:()=>iI,validator:()=>G,CalendarIcon:()=>s5,getHistory:()=>th,StickyNoteAddIcon:()=>a4,useWorkspace2Store:()=>ma,getPatientName:()=>uy,getVisitStore:()=>oJ,getCoreTranslation:()=>tc,registerModuleWithConfigSystem:()=>eN,registerModuleLoad:()=>eC,getBreadcrumbs:()=>te,extractVariableNames:()=>nx,translateFrom:()=>tl,useStoreWithActions:()=>rX,EditIcon:()=>ag,getCandidateExtensions:()=>ru,shallowEqual:()=>b,subscribeNotificationShown:()=>p,MaximizeIcon:()=>aT,promptForClosingWorkspaces:()=>mi,WarningIcon:()=>lp,closeAllWorkspaces:()=>dG,fhirBaseUrl:()=>tk,matchLocale:()=>mR,registerBreadcrumb:()=>e7,usePatientPhoto:()=>uD,EventsIcon:()=>a_,createGlobalStore:()=>O,workspaceStore:()=>dB,subscribeToFeatureFlag:()=>nI,useExtensionStore:()=>iL,closeWorkspace:()=>dW,createAttachment:()=>o$,useLeftNavStore:()=>i6,TableIcon:()=>le,Icon:()=>ly,InformationFilledIcon:()=>aE,getCurrentPageMap:()=>t2,LaboratoryPictogram:()=>u5,temporaryConfigStore:()=>Z,getPromptBeforeClosingFcn:()=>dR,toDateObjectStrict:()=>lq,defineConfigSchema:()=>ej,filterBreadcrumbs:()=>to,invalidateImplementerToolsConfig:()=>ep,PatientBannerContactDetails:()=>mj,getAssignedExtensions:()=>rc,PatientPhoto:()=>uF,MaterialOrderIcon:()=>aR,MicroscopeIcon:()=>aL,visitTypesUrl:()=>oU,scheduleRecomputation:()=>nq,PharmacyPictogram:()=>dt,AttachmentIcon:()=>lg,MoneyIcon:()=>aB,getAttachments:()=>oP,getWorkspaceGroupStore:()=>dK,PageHeaderContent:()=>uw,MedicationIcon:()=>aM,PrinterIcon:()=>aq,PatientListsPictogram:()=>dd,useAppContext:()=>ib,isOpenmrsRoutes:()=>ou,AppointmentsAltPictogram:()=>uz,GenericOrderTypeIcon:()=>ax,batchExtensionUpdates:()=>nV,useExtensionSlotStore:()=>r0,ViewIcon:()=>lm,formattedName:()=>uk,sessionEndpoint:()=>tS,duration:()=>cn,resetImportMapOverrides:()=>oe,TableOfContentsIcon:()=>a9,CaretLeftIcon:()=>s3,getTranslationOverrides:()=>e$,isVersionSatisfied:()=>mD,EmptyCardIllustration:()=>cH,PenIcon:()=>aJ,getWorkspaceStore:()=>dU,validators:()=>e8,setupImportMapOverrides:()=>on,showToast:()=>dN,useDefineAppContext:()=>i_,getGlobalStore:()=>R,useOnClickOutside:()=>i3,getWindowByWorkspaceName:()=>rC,ArrowRightIcon:()=>s0,loadLifeCycles:()=>sw,registerBreadcrumbs:()=>e9,MotherIcon:()=>aU,fetchCurrentPatient:()=>oT,Toast:()=>db,MessageQueueIcon:()=>aW,TwoFactorAuthenticationIcon:()=>ls,Pharmacy2Pictogram:()=>dn,goBackInHistory:()=>t_,GroupAccessIcon:()=>aS,getExtensionRenderingsStore:()=>nT,setImplementerToolsConfigRecomputer:()=>em,getAsyncExtensionLifecycle:()=>ic,setupApiModule:()=>tz,renderLoadingSpinner:()=>mN,WorkspaceContainer:()=>d7,showNotification:()=>uc,getModalRegistration:()=>rw,ListCheckedIcon:()=>aO,ResponsiveWrapper:()=>df,GynaecologyPictogram:()=>u2,ShoppingCartIcon:()=>a8,getRouteMapNextPageMap:()=>ox,MetadataExportPictogram:()=>u3,updateVisit:()=>oX,backendDependencies:()=>tG,MaybePictogram:()=>dm,createParcelMounter:()=>rL,openmrsFetch:()=>tN,useStore:()=>rK,isOpenmrsAppRoutes:()=>oc,HomePictogram:()=>du,DentistryPictogram:()=>uY,ServiceQueuesPictogram:()=>di,toLanguageTag:()=>lW,launchWorkspace:()=>dA,setFeatureFlag:()=>nA,DigitalTrustPictogram:()=>uZ,NumericObservation:()=>ug,attachmentUrl:()=>oI,interpolateString:()=>td,inRange:()=>e1,useExtensionSlotMeta:()=>iW,AppointmentsPictogram:()=>uG,renderSnackbars:()=>dv,getRegisteredWorkspace2Names:()=>mc,toLocationObject:()=>oL,ChartLineIcon:()=>ae,UserHasAccess:()=>ss,evaluateAsBooleanAsync:()=>ne,changeWorkspaceContext:()=>dL,createDashboard:()=>lx,getLocations:()=>oD,useExtensionContext:()=>iT,canCloseWorkspaceWithoutPrompting:()=>dC,getExtensionsConfigStore:()=>er,getRouteMapDefaultMap:()=>ob,age:()=>uN,isOmrsDateStrict:()=>lV,registerWorkspaceGroups2:()=>rA,usePaginationInfo:()=>se,evaluateAsync:()=>o7,useOpenmrsFetchAll:()=>iK,removeImportMapOverride:()=>t9,showWorkspacePrompts:()=>dV,useVisitTypes:()=>sh,ageAsDuration:()=>uj,getExtensionNameFromId:()=>rt,renderParcel:()=>rW,useWorkspace2Context:()=>ml,ResetIcon:()=>a0,RenewIcon:()=>aZ,subscribeActionableNotificationShown:()=>f,ErrorCard:()=>cV,GenderFemaleIcon:()=>aw,enableImportMapOverride:()=>ot,retry:()=>mB,ComponentContext:()=>rH,ExtensionSlot:()=>r8,unsetLeftNav:()=>rg,addImportMapOverride:()=>t7,MaybeIcon:()=>lv,useCustomOverflowMenu:()=>sG,PedestrianFamilyIcon:()=>aV,cancelPrompt:()=>dT,CtScanPictogram:()=>uX,dispatchNotificationShown:()=>c,leftNavStore:()=>rp,OpenmrsFetchError:()=>tC,UserFollowIcon:()=>ll,launchWorkspaceGroup2:()=>mt,ChevronRightIcon:()=>as,UserXrayIcon:()=>lc,GenderOtherIcon:()=>ay,formatDuration:()=>l7,toOmrsIsoString:()=>lK,Labs2Pictogram:()=>u8,workspace2Store:()=>rN,setUserLanguage:()=>tR,useBodyScrollLock:()=>iN,getExtensionConfig:()=>ei,SyringeIcon:()=>a7,LocationPicker:()=>cq,useDebounce:()=>iP,TimeIcon:()=>lt,getExtensionSlotConfig:()=>eo,AddIcon:()=>sY,getRouteMapOverrideMap:()=>ok,processConfig:()=>eR,InventoryManagementIcon:()=>aA,registerWorkspaces2:()=>rO,UserIcon:()=>lu,formatPatientName:()=>ux,fireOpenmrsEvent:()=>oM,registerModal:()=>r_,registerTranslationNamespace:()=>eE,displayName:()=>ub,evaluate:()=>o4,defineExtensionConfigSchema:()=>eI,renderWorkspaceWindowsAndMenu:()=>mO,getSyncLifecycle:()=>il,evaluateAsTypeAsync:()=>nr});let i="openmrs:notification-shown",s="openmrs:actionable-notification-shown",a="openmrs:toast-shown",l="openmrs:snack-bar-shown";function c(e){window.dispatchEvent(new CustomEvent(i,{detail:e}))}function u(e){window.dispatchEvent(new CustomEvent(s,{detail:e}))}function d(e){window.dispatchEvent(new CustomEvent(l,{detail:e}))}function m(e){window.dispatchEvent(new CustomEvent(a,{detail:e}))}function p(e){let t=t=>e(t.detail);return window.addEventListener(i,t),()=>window.removeEventListener(i,t)}function f(e){let t=t=>e(t.detail);return window.addEventListener(s,t),()=>window.removeEventListener(s,t)}function g(e){let t=t=>e(t.detail);return window.addEventListener(a,t),()=>window.removeEventListener(a,t)}function h(e){let t=t=>e(t.detail);return window.addEventListener(l,t),()=>window.removeEventListener(l,t)}function _(e,t){return e instanceof Error?e.message||t:"string"==typeof e&&e.trim().length>0?e:t}function w(e){let t=y(e);setTimeout(()=>{throw t})}function v(){let e=Error();return t=>{let o=y(t);o.stack+=`
|
|
1
|
+
"use strict";(globalThis.webpackChunk_openmrs_esm_devtools_app=globalThis.webpackChunk_openmrs_esm_devtools_app||[]).push([["77"],{9668(e,t,o){let n,r;o.r(t),o.d(t,{GenderUnknownIcon:()=>ab,evaluateAsNumber:()=>nt,getImportMapOverrideMap:()=>t8,StockManagementPictogram:()=>ds,ChemistryIcon:()=>an,BabyIcon:()=>s2,DashboardExtension:()=>lb,openmrsComponentDecorator:()=>ii,tryRegisterExtension:()=>sb,pictogramIds:()=>uH,ActivityIcon:()=>sX,compile:()=>ni,removeRouteMapOverride:()=>oj,TableBatchActions:()=>sL,getAsyncLifecycle:()=>ia,subscribeOpenmrsEvent:()=>oW,PasswordIcon:()=>az,Assessment2Pictogram:()=>uJ,CloseIcon:()=>al,setupRouteMapOverrides:()=>oE,getWorkspaceGroupRegistration:()=>rj,registerWorkspace:()=>rb,useFeatureFlag:()=>iD,reset:()=>rm,LabOrderIcon:()=>aA,VisitMode:()=>oH,useLocations:()=>i8,getLifecycle:()=>is,formatDatetime:()=>l3,getVisitsForPatient:()=>oY,formatPartialDate:()=>l2,CustomOverflowMenu:()=>sz,LocationIcon:()=>a$,GroupIcon:()=>ak,createUseStore:()=>rY,VisitStatus:()=>oG,getSessionLocation:()=>tD,getCurrentImportMap:()=>oa,usePatient:()=>so,useRenderableExtensions:()=>sr,getOpenedWindowIndexByWorkspace:()=>rI,setLeftNav:()=>rf,clearHistory:()=>tw,clearConfigErrors:()=>eY,formatTime:()=>l8,isDevEnabled:()=>tH,closeWorkspaceGroup2:()=>mo,getCurrentRouteMap:()=>oy,ConfigurableLink:()=>rG,sessionStore:()=>tE,subscribeSnackbarShown:()=>h,getLoggedInUser:()=>tL,GenderMaleIcon:()=>av,getExtensionSlotConfigFromStore:()=>en,evaluateAsNumberAsync:()=>no,getImportMapDefaultMap:()=>t6,unregisterExtensionRendering:()=>nF,implementerToolsConfigStore:()=>e_,Type:()=>H,InPatientPictogram:()=>u6,cleanupObsoleteFeatureFlags:()=>nC,getAttachmentsUrl:()=>oO,showSnackbar:()=>dy,PatientBannerActionsMenu:()=>uM,PatientSearchPictogram:()=>u7,DocumentAttachmentIcon:()=>am,Snackbar:()=>dg,CardiologyPictogram:()=>uK,ImageMedicalIcon:()=>aN,ActionableNotificationComponent:()=>ut,DiagnosisTags:()=>cU,iconIds:()=>sK,PatientsPictogram:()=>u9,interpolateUrl:()=>tu,setupHistory:()=>tg,subscribeToastShown:()=>g,detachAll:()=>ra,convertToLocaleCalendar:()=>l4,DocumentIcon:()=>ad,configInternalStore:()=>Y,ActionMenuButton2:()=>mw,setupDynamicOfflineDataHandler:()=>mH,makeUrl:()=>tj,oneOf:()=>e5,selectPreferredName:()=>uS,launchWorkspaceGroup:()=>function e(t,o){let n=rj(t),{state:r,onWorkspaceGroupLaunch:i,workspaceGroupCleanup:s,workspaceToLaunch:a}=o,l=function(){return dB}();if(l.getState().openWorkspaces.length){let n=l.getState().workspaceGroup;n?dE(n?.name,()=>{e(t,o)}):dG(()=>{e(t,o)})}else l.setState(e=>({...e,workspaceGroup:{name:t,members:n.members,cleanup:s}})),dK(t,r),i?.(),a&&dP(a.name,a.additionalProps??{})},MobileCheckIcon:()=>aD,createErrorHandler:()=>v,parseDate:()=>lX,getAttachmentByUuid:()=>oP,LeftNavMenu:()=>cJ,getExtensionRegistration:()=>rn,ShoppingCartAddItemIcon:()=>lw,ReferralOrderIcon:()=>aY,ReportIcon:()=>aQ,dispatchToastShown:()=>m,getImportMapNextPageMap:()=>t5,registerExtension:()=>rr,setupOfflineSync:()=>mF,DownloadIcon:()=>ap,useConnectivity:()=>mq,provide:()=>eP,ShoppingCartArrowDownIcon:()=>a3,featureFlagsStore:()=>nj,promptBeforeClosing:()=>d$,jsep:()=>oZ.A,GeriatricsPictogram:()=>u1,SearchIcon:()=>a2,reportError:()=>w,slugify:()=>or,isOmrsDateToday:()=>lJ,getExtensionStore:()=>nH,BloodBankPictogram:()=>uq,TriagePictogram:()=>dl,Workspace2:()=>mm,refetchCurrentUser:()=>tT,CheckmarkOutlineIcon:()=>ao,registerExtensionSlot:()=>rd,AllergiesIcon:()=>lf,ArrowDownIcon:()=>sZ,useOpenmrsInfinite:()=>iJ,getExtensionConfigFromExtensionSlotStore:()=>ea,OpenmrsDatePicker:()=>cD,getExtensionConfigFromStore:()=>es,getDynamicOfflineDataEntries:()=>mG,getLocaleDisplayName:()=>lL,messageOmrsServiceWorker:()=>mV,navigate:()=>tm,launchWorkspace2:()=>mn,getGroupByWindowName:()=>rE,CustomOverflowMenuItem:()=>sV,isUrl:()=>e6,CaretDownIcon:()=>s8,ArrowLeftIcon:()=>sQ,FacilityPictogram:()=>u0,ViewOffIcon:()=>ld,updateInternalExtensionStore:()=>nM,dispatchActionableNotificationShown:()=>u,resetRouteMapOverrides:()=>oN,formatDurationBetween:()=>ci,defaultVisitCustomRepresentation:()=>oz,getBreadcrumbsFor:()=>tn,useOpenmrsPagination:()=>iU,Pagination:()=>uv,CheckmarkFilledIcon:()=>at,clearCurrentUser:()=>tM,showModal:()=>c4,ChevronUpIcon:()=>aa,saveVisit:()=>oK,useAttachments:()=>ij,Pictogram:()=>dp,useExtensionSlot:()=>r6,ChevronDownIcon:()=>ar,OpenmrsDateRangePicker:()=>cB,deleteAttachmentPermanently:()=>oR,getVisitTypes:()=>oF,OverflowMenuHorizontalIcon:()=>aH,EventScheduleIcon:()=>ah,getSessionStore:()=>t$,ActionMenu:()=>d4,ProcedureOrderIcon:()=>aK,preloadImport:()=>os,registerWorkspaceWindows2:()=>rA,useOnVisible:()=>i4,setSessionLocation:()=>tB,userHasAccess:()=>tW,ChartAverageIcon:()=>s9,getFeatureFlag:()=>nE,UserAvatarIcon:()=>la,renderExtension:()=>rB,useFhirInfinite:()=>iZ,toVisitTypeObject:()=>oB,useSession:()=>si,EmergencyDepartmentPictogram:()=>uQ,Notification:()=>c9,dispatchSnackbarShown:()=>d,navigateAndLaunchWorkspace:()=>dA,formatDate:()=>l6,workspace2StoreActions:()=>ms,SwitcherIcon:()=>a5,esmStyleGuideSchema:()=>sT,getImportMapDisabledOverrides:()=>t3,useAssignedExtensionIds:()=>ik,CaretRightIcon:()=>s4,evaluateAsType:()=>nn,PageHeader:()=>u_,TranslateIcon:()=>ln,setUserProperties:()=>tU,MovementIcon:()=>aF,renderInlineNotifications:()=>ul,subscribePrecacheStaticDependencies:()=>mJ,PaymentsDeskPictogram:()=>de,usePrimaryIdentifierCode:()=>sn,useLayoutType:()=>i0,getCurrentUser:()=>tO,XrayPictogram:()=>dc,CaretUpIcon:()=>s7,renderActionableNotifications:()=>uu,OpenmrsAppContext:()=>iw,setupModals:()=>c3,getDefaultsFromConfigSchema:()=>function e(t){let o={};for(let n of Object.keys(t))if(mM(t[n])&&t[n].hasOwnProperty("_default"))o[n]=t[n]._default;else{if(n.startsWith("_"))continue;mM(t[n])?o[n]=e(t[n]):o[n]=t[n]}return o},subscribeTo:()=>T,recordConfigDerivationError:()=>eg,useAbortController:()=>iy,Extension:()=>rz,getFhirServerPaginationHandlers:()=>iz,useConnectedExtensions:()=>iP,registerApp:()=>sk,HospitalBedIcon:()=>aj,useExtensionInternalStore:()=>iM,configExtensionStore:()=>Q,getSynchronizationItems:()=>mz,getExtensionSlotsConfigStore:()=>et,registerExtensionRendering:()=>nU,RenderIfValueIsTruthy:()=>iv,registerFeatureFlag:()=>nN,useFhirFetchAll:()=>iY,restBaseUrl:()=>tx,CalendarHeatMapIcon:()=>s6,getWorkspaceRegistration:()=>rS,isImportMapOverrideDisabled:()=>t4,resetConfigSystem:()=>eZ,getExtensionInternalStore:()=>nR,registerGlobalStore:()=>$,evaluateAsBoolean:()=>o9,PatientBannerPatientInfo:()=>uR,addRouteMapOverride:()=>oS,getDefaultCalendar:()=>l0,SettingsIcon:()=>a6,DrugOrderIcon:()=>af,ProgramsIcon:()=>aX,useAssignedExtensions:()=>r2,CloseFilledIcon:()=>ac,canAccessStorage:()=>mT,registerDefaultCalendar:()=>lQ,TreeViewAltIcon:()=>li,OverflowMenuVerticalIcon:()=>aG,clearConfigDerivationError:()=>eh,getConfigStore:()=>ee,registerWorkspaceGroup:()=>rx,InformationSquareIcon:()=>aI,EmptyCard:()=>cG,ChevronLeftIcon:()=>ai,RadiologyIcon:()=>l_,useCandidateExtensions:()=>iS,renderToasts:()=>dj,isDesktop:()=>i1,integrateBreakpoints:()=>sE,RegistrationPictogram:()=>dr,CardHeader:()=>sO,getExtensionRegistrationFrom:()=>ro,InformationIcon:()=>aC,TrashCanIcon:()=>lr,useShallowStableValue:()=>rV,useOpenmrsSWR:()=>i7,Assessment1Pictogram:()=>uV,finishRegisteringAllApps:()=>sS,importDynamic:()=>oi,useFhirPagination:()=>iG,useVisitContextStore:()=>sp,ArrowUpIcon:()=>s1,showActionableNotification:()=>ud,useForceUpdate:()=>iB,useVisit:()=>sf,updateWorkspaceWindowState:()=>dF,PatientBannerPatientIdentifiers:()=>uP,WorkspaceNotification:()=>d5,TransferPictogram:()=>da,usePagination:()=>i9,Breakpoint:()=>sj,PatientBannerToggleContactDetailsButton:()=>mv,CloseOutlineIcon:()=>au,ObstetricsPictogram:()=>u4,parseDateInput:()=>l9,getConfig:()=>eO,attach:()=>ri,getLocale:()=>lD,ActionMenuButton:()=>d0,isUrlWithTemplateParameters:()=>e2,useEmrConfiguration:()=>iR,useLeftNav:()=>i2,ToolsIcon:()=>lo,ErrorState:()=>cz,detach:()=>rs,setCurrentVisit:()=>oq,ConditionsIcon:()=>lh,SaveIcon:()=>a1,useWorkspaces:()=>dz,resetWorkspaceStore:()=>dq,useConfig:()=>iI,validator:()=>G,CalendarIcon:()=>s5,getHistory:()=>th,StickyNoteAddIcon:()=>a4,useWorkspace2Store:()=>ma,getPatientName:()=>uy,getVisitStore:()=>oJ,getCoreTranslation:()=>tc,registerModuleWithConfigSystem:()=>eN,registerModuleLoad:()=>eC,getBreadcrumbs:()=>te,extractVariableNames:()=>nx,translateFrom:()=>tl,useStoreWithActions:()=>rX,EditIcon:()=>ag,getCandidateExtensions:()=>ru,shallowEqual:()=>b,subscribeNotificationShown:()=>p,MaximizeIcon:()=>aT,promptForClosingWorkspaces:()=>mi,WarningIcon:()=>lp,closeAllWorkspaces:()=>dG,fhirBaseUrl:()=>tk,matchLocale:()=>mR,registerBreadcrumb:()=>e7,usePatientPhoto:()=>uD,EventsIcon:()=>a_,createGlobalStore:()=>O,workspaceStore:()=>dB,subscribeToFeatureFlag:()=>nI,useExtensionStore:()=>iL,closeWorkspace:()=>dW,createAttachment:()=>o$,useLeftNavStore:()=>i6,TableIcon:()=>le,Icon:()=>ly,InformationFilledIcon:()=>aE,getCurrentPageMap:()=>t2,LaboratoryPictogram:()=>u5,temporaryConfigStore:()=>Z,getPromptBeforeClosingFcn:()=>dR,toDateObjectStrict:()=>lq,defineConfigSchema:()=>ej,filterBreadcrumbs:()=>to,invalidateImplementerToolsConfig:()=>ep,PatientBannerContactDetails:()=>mj,getAssignedExtensions:()=>rc,PatientPhoto:()=>uF,MaterialOrderIcon:()=>aR,MicroscopeIcon:()=>aL,visitTypesUrl:()=>oU,scheduleRecomputation:()=>nq,PharmacyPictogram:()=>dt,AttachmentIcon:()=>lg,MoneyIcon:()=>aB,getAttachments:()=>oA,getWorkspaceGroupStore:()=>dK,PageHeaderContent:()=>uw,MedicationIcon:()=>aM,PrinterIcon:()=>aq,PatientListsPictogram:()=>dd,useAppContext:()=>ib,isOpenmrsRoutes:()=>ou,AppointmentsAltPictogram:()=>uz,GenericOrderTypeIcon:()=>ax,batchExtensionUpdates:()=>nV,useExtensionSlotStore:()=>r0,ViewIcon:()=>lm,formattedName:()=>uk,sessionEndpoint:()=>tS,duration:()=>cn,resetImportMapOverrides:()=>oe,TableOfContentsIcon:()=>a9,CaretLeftIcon:()=>s3,getTranslationOverrides:()=>e$,isVersionSatisfied:()=>mD,EmptyCardIllustration:()=>cH,PenIcon:()=>aJ,getWorkspaceStore:()=>dU,validators:()=>e8,setupImportMapOverrides:()=>on,showToast:()=>dN,useDefineAppContext:()=>i_,getGlobalStore:()=>R,useOnClickOutside:()=>i3,getWindowByWorkspaceName:()=>rC,ArrowRightIcon:()=>s0,loadLifeCycles:()=>sw,registerBreadcrumbs:()=>e9,MotherIcon:()=>aU,fetchCurrentPatient:()=>oT,Toast:()=>db,MessageQueueIcon:()=>aW,TwoFactorAuthenticationIcon:()=>ls,Pharmacy2Pictogram:()=>dn,goBackInHistory:()=>t_,GroupAccessIcon:()=>aS,getExtensionRenderingsStore:()=>nT,setImplementerToolsConfigRecomputer:()=>em,getAsyncExtensionLifecycle:()=>ic,setupApiModule:()=>tz,renderLoadingSpinner:()=>mN,WorkspaceContainer:()=>d7,showNotification:()=>uc,getModalRegistration:()=>rw,ListCheckedIcon:()=>aO,ResponsiveWrapper:()=>df,GynaecologyPictogram:()=>u2,ShoppingCartIcon:()=>a8,getRouteMapNextPageMap:()=>ox,MetadataExportPictogram:()=>u3,updateVisit:()=>oX,backendDependencies:()=>tG,MaybePictogram:()=>dm,createParcelMounter:()=>rL,openmrsFetch:()=>tN,useStore:()=>rK,isOpenmrsAppRoutes:()=>oc,HomePictogram:()=>du,DentistryPictogram:()=>uY,ServiceQueuesPictogram:()=>di,toLanguageTag:()=>lW,launchWorkspace:()=>dP,setFeatureFlag:()=>nP,DigitalTrustPictogram:()=>uZ,NumericObservation:()=>ug,attachmentUrl:()=>oI,interpolateString:()=>td,inRange:()=>e1,useExtensionSlotMeta:()=>iW,AppointmentsPictogram:()=>uG,renderSnackbars:()=>dv,getRegisteredWorkspace2Names:()=>mc,toLocationObject:()=>oL,ChartLineIcon:()=>ae,UserHasAccess:()=>ss,evaluateAsBooleanAsync:()=>ne,changeWorkspaceContext:()=>dL,createDashboard:()=>lx,getLocations:()=>oD,useExtensionContext:()=>iT,canCloseWorkspaceWithoutPrompting:()=>dC,getExtensionsConfigStore:()=>er,getRouteMapDefaultMap:()=>ob,age:()=>uN,isOmrsDateStrict:()=>lV,registerWorkspaceGroups2:()=>rP,usePaginationInfo:()=>se,evaluateAsync:()=>o7,useOpenmrsFetchAll:()=>iK,removeImportMapOverride:()=>t9,showWorkspacePrompts:()=>dV,useVisitTypes:()=>sh,ageAsDuration:()=>uj,getExtensionNameFromId:()=>rt,renderParcel:()=>rW,useWorkspace2Context:()=>ml,ResetIcon:()=>a0,RenewIcon:()=>aZ,subscribeActionableNotificationShown:()=>f,ErrorCard:()=>cV,GenderFemaleIcon:()=>aw,enableImportMapOverride:()=>ot,retry:()=>mB,ComponentContext:()=>rH,ExtensionSlot:()=>r8,unsetLeftNav:()=>rg,addImportMapOverride:()=>t7,MaybeIcon:()=>lv,useCustomOverflowMenu:()=>sG,PedestrianFamilyIcon:()=>aV,cancelPrompt:()=>dT,CtScanPictogram:()=>uX,dispatchNotificationShown:()=>c,leftNavStore:()=>rp,OpenmrsFetchError:()=>tC,UserFollowIcon:()=>ll,launchWorkspaceGroup2:()=>mt,ChevronRightIcon:()=>as,UserXrayIcon:()=>lc,GenderOtherIcon:()=>ay,formatDuration:()=>l7,toOmrsIsoString:()=>lK,Labs2Pictogram:()=>u8,workspace2Store:()=>rN,setUserLanguage:()=>tR,useBodyScrollLock:()=>iN,getExtensionConfig:()=>ei,SyringeIcon:()=>a7,LocationPicker:()=>cq,useDebounce:()=>iA,TimeIcon:()=>lt,getExtensionSlotConfig:()=>eo,AddIcon:()=>sY,getRouteMapOverrideMap:()=>ok,processConfig:()=>eR,InventoryManagementIcon:()=>aP,registerWorkspaces2:()=>rO,UserIcon:()=>lu,formatPatientName:()=>ux,fireOpenmrsEvent:()=>oM,registerModal:()=>r_,registerTranslationNamespace:()=>eE,displayName:()=>ub,evaluate:()=>o4,defineExtensionConfigSchema:()=>eI,renderWorkspaceWindowsAndMenu:()=>mO,getSyncLifecycle:()=>il,evaluateAsTypeAsync:()=>nr});let i="openmrs:notification-shown",s="openmrs:actionable-notification-shown",a="openmrs:toast-shown",l="openmrs:snack-bar-shown";function c(e){window.dispatchEvent(new CustomEvent(i,{detail:e}))}function u(e){window.dispatchEvent(new CustomEvent(s,{detail:e}))}function d(e){window.dispatchEvent(new CustomEvent(l,{detail:e}))}function m(e){window.dispatchEvent(new CustomEvent(a,{detail:e}))}function p(e){let t=t=>e(t.detail);return window.addEventListener(i,t),()=>window.removeEventListener(i,t)}function f(e){let t=t=>e(t.detail);return window.addEventListener(s,t),()=>window.removeEventListener(s,t)}function g(e){let t=t=>e(t.detail);return window.addEventListener(a,t),()=>window.removeEventListener(a,t)}function h(e){let t=t=>e(t.detail);return window.addEventListener(l,t),()=>window.removeEventListener(l,t)}function _(e,t){return e instanceof Error?e.message||t:"string"==typeof e&&e.trim().length>0?e:t}function w(e){let t=y(e);setTimeout(()=>{throw t})}function v(){let e=Error();return t=>{let o=y(t);o.stack+=`
|
|
2
2
|
Async stacktrace:
|
|
3
|
-
${e.stack}`,w(t)}}function y(e){let t;if(e instanceof Error)return e;if(null===e)return Error("'null' was thrown as an error");if("object"==typeof e){try{t=`Object thrown as error: ${JSON.stringify(e)}`}catch(o){t=`Object thrown as error with the following properties: ${Object.keys(e)}`}return Error(t)}if(void 0===e)return Error("'undefined' was thrown as an error");return Error(e.toString())}function b(e,t){if(e===t||Object.is(e,t))return!0;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let o=0;o<e.length;o++)if(e[o]!==t[o])return!1;return!0}if(Array.isArray(t)||"object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;let o=Object.getOwnPropertyNames(e),n=Object.getOwnPropertyNames(t);return o.length===n.length&&o.every(o=>e[o]===t[o])}window.onerror=function(e,t,o,n,r){return console.error("Unexpected error: ",r??e),m({description:_(r??e,"Oops! An unexpected error occurred."),kind:"error",title:"Error"}),!1},window.onunhandledrejection=function(e){console.error("Unhandled rejection: ",e.reason),m({description:_(e.reason,"Oops! An unhandled promise rejection occurred."),kind:"error",title:"Error"})};var x,k,S,j=o(1978),N=o(9167);function C(){try{return"u">typeof process&&("true"===process.env.VITEST||void 0!==process.env.JEST_WORKER_ID)||"u">typeof globalThis&&("__vitest_worker__"in globalThis||"__jest__"in globalThis)}catch{return!1}}let E={},I=Symbol.for("openmrs.esm-state.instanceCount"),A=globalThis,P=(A[I]??0)+1;function O(e,t,o="none"){let n=E[e];if(n)return n.active?C()||console.error(`Attempted to override the existing store ${e}. Make sure that stores are only created once.`):n.value.setState(t,!0),n.active=!0,n.value;{let n=M(e,t,o);return E[e]={value:n,active:!0},n}}function $(e,t){let o=E[e];return o?(o.active?C()||console.error(`Attempted to override the existing store ${e}. Make sure that stores are only created once.`):o.value=t,o.active=!0,o.value):(E[e]={value:t,active:!0},t)}function R(e,t,o="none"){let n=E[e];if(!n){let n=M(e,t??{},o);return E[e]={value:n,active:!1},n}return n.value}function T(...e){let[t,o,n]=e,r=void 0===n?o:n,i=void 0===n?e=>e:o,s=i(t.getState());return r(s),t.subscribe(e=>{let t=i(e);b(s,t)||(s=t,r(t))})}function M(e,t,o){return"sessionStorage"===o?(0,N.y)()((0,j.Zr)(()=>t,{name:e,storage:(0,j.KU)(()=>sessionStorage)})):(0,N.y)()(()=>t)}A[I]=P,P>1&&!C()&&console.error(`Detected ${P} copies of @openmrs/esm-framework running on this page. Each copy keeps its own store registry, so stores, configuration and extension state are not shared between them. This usually means a frontend module loaded its own bundled framework instead of the one the app shell provides.`),globalThis.setTimeout?.(()=>{"u">typeof window&&"development"===window.spaEnv&&(window.stores=E)},1e3);var W=o(1156),L=o(3591),D=o(4888),B=o(9352),U=o(8170),F=o(8395),H=((x={}).Array="Array",x.Boolean="Boolean",x.ConceptUuid="ConceptUuid",x.Number="Number",x.Object="Object",x.String="String",x.UUID="UUID",x.PersonAttributeTypeUuid="PersonAttributeTypeUuid",x.PatientIdentifierTypeUuid="PatientIdentifierTypeUuid",x);function G(e,t){return o=>{if(!e(o))if("function"==typeof t)return t(o);else return t}}let z=G(e=>Array.isArray(e),"must be an array"),V=G(e=>"boolean"==typeof e,"must be a boolean"),J=G(e=>"number"==typeof e,"must be a number"),q=G(e=>"string"==typeof e,"must be a string"),K=G(e=>"object"==typeof e&&!Array.isArray(e)&&null!==e,"must be an object (not an array or null)"),X=G(e=>/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)||/^[0-9a-f]{36}$/i.test(e),"must be a valid UUID or a 36-character hexadecimal string"),Y=O("config-internal",{providedConfigs:[],schemas:{},moduleLoaded:{}}),Z=O("temporary-config",{config:function(){try{return JSON.parse(localStorage.getItem("openmrs:temporaryConfig")||"{}")}catch(e){return{}}}()});Z.subscribe(e=>{var t=e.config;try{localStorage.setItem("openmrs:temporaryConfig",JSON.stringify(t))}catch(e){}});let Q=O("config-store-of-extension-state",{mountedExtensions:[]});function ee(e){return R(`config-module-${e}`,{config:null,loaded:!1,translationOverridesLoaded:!1})}function et(){return R("config-extension-slots",{slots:{}})}function eo(e){return en(et().getState(),e)}function en(e,t){return e.slots[t]??{loaded:!1,config:{}}}function er(){return R("config-extensions",{configs:{}})}function ei(e,t){if("string"!=typeof e||"string"!=typeof t||"__proto__"===e||"__proto__"===t||"constructor"===e||"constructor"===t||"prototype"===e||"prototype"===t)throw Error("Attempted to call `getExtensionConfig()` with invalid argument");let o=er(),n=o=>o.configs[e]?.[t];return{getInitialState:()=>n(o.getInitialState()),getState:()=>n(o.getState())??{loaded:!1,config:null},subscribe:e=>o.subscribe((t,o)=>{let r=n(t),i=n(o);b(r,i)||e(r,i)})}}function es(e,t,o){return e.configs[t]?.[o]??{loaded:!1,config:null}}function ea(e,t,o){return e.configure?.[o]??null}let el=(0,N.y)()(()=>({config:{}})),ec=0,eu=!0,ed=!1;function em(e){n=e}function ep(){eu=!0,ec>0&&ef()}function ef(){if(eu&&n&&!ed){ed=!0,eu=!1;try{n()}catch(e){eu=!0,eg(e),console.error("Failed to derive the implementer tools config",e)}finally{ed=!1}}}function eg(e){el.setState({derivationError:e instanceof Error?e.message:String(e)})}function eh(){el.getState().derivationError&&el.setState({derivationError:void 0})}let e_=$("config-implementer-tools",{...el,getState:()=>(0===ec&&ef(),el.getState()),setState:(...e)=>(eu=!1,el.setState(...e)),subscribe(e){ec++,ef();let t=el.subscribe(e),o=!1;return()=>{!o&&(o=!0,ec--),t()}}});function ew(e,t){if(Array.isArray(t))return t}function ev(e,t){return(0,D.A)({},e,t,ew)}let ey=[];function eb(){let e=Y.getState(),t=Z.getState(),o=Q.getState();!function(e,t){for(let o of Object.keys(e.schemas)){let n,r=ee(o),i=e.schemas[o],s=!!e.moduleLoaded[o],a=eS.get(o);if(a&&a.schema===i&&a.moduleLoaded===s&&a.providedConfigs===e.providedConfigs&&a.temporaryConfig===t.config)n=a.state;else{let r=s?function(e,t,o){let n=t.schemas[e],r=eB(e,eL(t,o));eF(n,r,e);let i=eV(n,r);return eH(n,i,e),delete i.extensionSlots,i}(o,e,t):function(e,t,o){let n=eV(e0,eB(e,eL(t,o)));return eH(e0,n,e),delete n.extensionSlots,n}(o,e,t);n={translationOverridesLoaded:!0,loaded:s,config:r},eS.set(o,{schema:i,moduleLoaded:s,providedConfigs:e.providedConfigs,temporaryConfig:t.config,state:n})}let l=r.getState();l.loaded===n.loaded&&l.translationOverridesLoaded===n.translationOverridesLoaded&&(0,B.A)(l.config,n.config)||r.setState(n)}}(e,t);let n=function(e,t){let o=eU(eL(e,t)),n=Object.keys(o).reduce((e,t)=>(o[t]?.extensionSlots&&(e[t]=o[t]?.extensionSlots),e),{});var r=n;for(let[e,t]of Object.entries(r))for(let[o,n]of Object.entries(t))!function(e,t,o){let n=`${t}.extensionSlots.${o}`,r=`Extension slot config '${n}'`,i=Object.keys(e).filter(e=>!["add","remove","order","configure"].includes(e));i.length&&eX(n,r+`' contains invalid keys '${i.join("', '")}'`),!e.add||Array.isArray(e.add)&&e.add.every(e=>"string"==typeof e)||eX(n,r+".add' is invalid. Must be an array of strings (extension IDs)"),!e.remove||Array.isArray(e.remove)&&e.remove.every(e=>"string"==typeof e)||eX(n,r+".remove' is invalid. Must be an array of strings (extension IDs)"),!e.order||Array.isArray(e.order)&&e.order.every(e=>"string"==typeof e)||eX(n,r+".order' is invalid. Must be an array of strings (extension IDs)"),e.configure&&!eq(e.configure)&&eX(n,r+".configure' is invalid. Must be an object with extension IDs for keys")}(n,e,o);let i={},s={};for(let e of Object.values(n))for(let[t,o]of Object.entries(e))i[t]=o,o.configure&&(s[t]??(s[t]=[])).push(o.configure);for(let[e,t]of Object.entries(s)){let o=1===t.length?t[0]:eU(t);i[e].configure!==o&&(i[e]={...i[e],configure:o})}return i}(e,t);(function(e){let t=et(),o=t.getState().slots,n={},r=!1;for(let[t,i]of Object.entries(e)){let e=o[t];e?.loaded&&(0,B.A)(e.config,i)?n[t]=e:(n[t]={loaded:!0,config:i},r=!0)}(r||Object.keys(o).length!==Object.keys(n).length)&&t.setState({slots:n})})(n),function(e,t,o,n){let r=er(),i=r.getState().configs,s={},a=!1,l=0;for(let r of t.mountedExtensions){let t=function(e,t,o,n,r,i,s){let a=function(e){let[t]=e.split("#");return t}(n),l=r.schemas[a],c=JSON.stringify([o,n,e,t]),u=eT.get(c);if(u&&u.extensionSchema===l&&u.extensionModuleSchema===r.schemas[t]&&u.providedConfigs===r.providedConfigs&&u.temporaryConfig===i.config)return u.config;let d=l?a:t,m=eL(r,i),p=s?.configure?.[n]??{},f=eB(e,m),g=f?.extensionSlots?.[o]?.configure?.[n]??{},h=eU([eB(d,m),p,g]),_=l??r.schemas[t];eF(_,h,d);let w=eV(_,h);return eH(_,w,d),delete w.extensionSlots,eT.set(c,{extensionSchema:l,extensionModuleSchema:r.schemas[t],providedConfigs:r.providedConfigs,temporaryConfig:i.config,config:w}),w}(r.slotModuleName,r.extensionModuleName,r.slotName,r.extensionId,e,o,n[r.slotName]),c=i[r.slotName]?.[r.extensionId],u=c?.loaded&&(0,B.A)(c.config,t)?c:{config:t,loaded:!0};u!==c&&(a=!0),s[r.slotName]||(s[r.slotName]={}),s[r.slotName][r.extensionId]=u,l++}for(let[e,t]of Object.entries(s)){let o=i[e];o&&Object.keys(o).length===Object.keys(t).length&&Object.entries(t).every(([e,t])=>o[e]===t)&&(s[e]=o)}a||(a=Object.keys(i).length!==Object.keys(s).length||Object.values(i).reduce((e,t)=>e+Object.keys(t).length,0)!==l),a&&r.setState({configs:s})}(e,o,t,n),ep()}function ex(){n=()=>{var e,t;let o,n;return e=Y.getState(),t=Z.getState(),o=e_.getState(),n={config:function(e,t){let o=function(e){let t={};for(let[o,n]of Object.entries(e)){let e=eW.get(o);if(e&&e.schema===n)t[o]=e.annotated;else{let e=function e(t){return t.hasOwnProperty("_default")?{...t,_value:t._default,_source:"default"}:eq(t)?Object.keys(t).reduce((o,n)=>(o[n]=e(t[n]),o),{}):{}}((0,F.A)(n));eW.set(o,{schema:n,annotated:e}),t[o]=e}}return t}(e.schemas),n=[...e.providedConfigs.map(e=>[e.config,e.source]),[t.config,"temporary config"]],r=new Set(Object.keys(o));for(let[e]of n)for(let t of Object.keys(e))r.add(t);let i={};for(let e of r){let t=o[e],r=n.map(([t])=>t[e]),s=n.map(([,e])=>e),a=eM.get(e);if(a&&a.annotatedSchema===t&&a.configSlices.length===r.length&&a.configSlices.every((e,t)=>e===r[t])&&a.sources.every((e,t)=>e===s[t])){i[e]=a.result;continue}let l=t??{};n.forEach(([,e],t)=>{let o=r[t];void 0!==o&&(l=ev(l,function e(t,o){return eq(t)?Object.keys(t).reduce((n,r)=>(n[r]=e(t[r],o),n),{}):{_value:t,_source:o}}(o,e)))}),eM.set(e,{annotatedSchema:t,configSlices:r,sources:s,result:l}),i[e]=l}return i}(e,t)},void((0,B.A)(o.config,n.config)||e_.setState(n))},eb(),ey.push(Y.subscribe(ek),Z.subscribe(ek),Q.subscribe(ek))}function ek(){eh();try{eb()}catch(e){eg(e),console.error("Failed to recompute the configuration",e)}}ex();let eS=new Map;function ej(e,t){eD(e,t);let o=ev(t,e0);Y.setState(t=>({...t,schemas:{...t.schemas,[e]:o},moduleLoaded:{...t.moduleLoaded,[e]:!0}}))}function eN(e){Y.setState(t=>({...t,schemas:{...t.schemas,[e]:e0}}))}function eC(e){Y.setState(t=>({...t,moduleLoaded:{...t.moduleLoaded,[e]:!0}}))}function eE(e){Y.setState(t=>({...t,schemas:{...t.schemas,[e]:eQ}}))}function eI(e,t){eD(e,t);let o=ev(t,e0);Y.getState().schemas[e]&&console.error(`Config schema for extension ${e} already exists. If there are multiple extensions with this same name, one will probably crash.`),Y.setState(t=>({...t,schemas:{...t.schemas,[e]:o}}))}function eA(e,t="provided"){Y.setState(o=>({...o,providedConfigs:[...o.providedConfigs,{source:t,config:e}]}))}function eP(e,t,o){return new Promise(n=>{let r,i=!1;function s(e){!i&&t(e)&&(i=!0,n(o(e)),r?.())}s(e.getState()),i||(r=e.subscribe(s))})}function eO(e){return eP(ee(e),e=>!!(e.loaded&&e.config),e=>(0,U.A)(e.config,["Display conditions","Translation overrides"]))}function e$(e,t,o){let n=[eP(ee(e),e=>!!(e.translationOverridesLoaded&&e.config),e=>e.config["Translation overrides"]??{})];return t&&o&&n.push(eP(ei(t,o),e=>!!(e.loaded&&e.config),e=>e.config["Translation overrides"]??{})),Promise.all(n)}function eR(e,t,o){eF(e,t,o);let n=eV(e,t);return eH(e,n,o),n}let eT=new Map,eM=new Map,eW=new Map;function eL(e,t){return[...e.providedConfigs.map(e=>e.config),t.config]}function eD(e,t,o=""){let n="Please verify that you are running the latest version and, if so, alert the maintainer.";for(let r of Object.keys(t).filter(e=>!e.startsWith("_"))){let i=o+(o&&".")+r,s=t[r];if("Display conditions"===i&&console.error(`${e} declares a configuration option called "Display conditions"; the "Display conditions" option is a reserved name. ${n}`),"Translation overrides"===i&&console.error(`${e} declares a configuration option called "Translation overrides"; the "Translation overrides" option is a reserved name. ${n}`),!eq(s)){console.error(`${e} has bad config schema definition for key '${i}'. ${n}`);continue}s.hasOwnProperty("_default")||eD(e,s,i);let a=s._elements;if(eJ(a)&&eD(e,a,i+"._elements"),s._validators)for(let t of s._validators)"function"!=typeof t&&console.error(`${e} has invalid validator for key '${i}' ${n}.
|
|
3
|
+
${e.stack}`,w(t)}}function y(e){let t;if(e instanceof Error)return e;if(null===e)return Error("'null' was thrown as an error");if("object"==typeof e){try{t=`Object thrown as error: ${JSON.stringify(e)}`}catch(o){t=`Object thrown as error with the following properties: ${Object.keys(e)}`}return Error(t)}if(void 0===e)return Error("'undefined' was thrown as an error");return Error(e.toString())}function b(e,t){if(e===t||Object.is(e,t))return!0;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let o=0;o<e.length;o++)if(e[o]!==t[o])return!1;return!0}if(Array.isArray(t)||"object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;let o=Object.getOwnPropertyNames(e),n=Object.getOwnPropertyNames(t);return o.length===n.length&&o.every(o=>e[o]===t[o])}window.onerror=function(e,t,o,n,r){return console.error("Unexpected error: ",r??e),m({description:_(r??e,"Oops! An unexpected error occurred."),kind:"error",title:"Error"}),!1},window.onunhandledrejection=function(e){console.error("Unhandled rejection: ",e.reason),m({description:_(e.reason,"Oops! An unhandled promise rejection occurred."),kind:"error",title:"Error"})};var x,k,S,j=o(1978),N=o(9167);function C(){try{return"u">typeof process&&("true"===process.env.VITEST||void 0!==process.env.JEST_WORKER_ID)||"u">typeof globalThis&&("__vitest_worker__"in globalThis||"__jest__"in globalThis)}catch{return!1}}let E={},I=Symbol.for("openmrs.esm-state.instanceCount"),P=globalThis,A=(P[I]??0)+1;function O(e,t,o="none"){let n=E[e];if(n)return n.active?C()||console.error(`Attempted to override the existing store ${e}. Make sure that stores are only created once.`):n.value.setState(t,!0),n.active=!0,n.value;{let n=M(e,t,o);return E[e]={value:n,active:!0},n}}function $(e,t){let o=E[e];return o?(o.active?C()||console.error(`Attempted to override the existing store ${e}. Make sure that stores are only created once.`):o.value=t,o.active=!0,o.value):(E[e]={value:t,active:!0},t)}function R(e,t,o="none"){let n=E[e];if(!n){let n=M(e,t??{},o);return E[e]={value:n,active:!1},n}return n.value}function T(...e){let[t,o,n]=e,r=void 0===n?o:n,i=void 0===n?e=>e:o,s=i(t.getState());return r(s),t.subscribe(e=>{let t=i(e);b(s,t)||(s=t,r(t))})}function M(e,t,o){return"sessionStorage"===o?(0,N.y)()((0,j.Zr)(()=>t,{name:e,storage:(0,j.KU)(()=>sessionStorage)})):(0,N.y)()(()=>t)}P[I]=A,A>1&&!C()&&console.error(`Detected ${A} copies of @openmrs/esm-framework running on this page. Each copy keeps its own store registry, so stores, configuration and extension state are not shared between them. This usually means a frontend module loaded its own bundled framework instead of the one the app shell provides.`),globalThis.setTimeout?.(()=>{"u">typeof window&&"development"===window.spaEnv&&(window.stores=E)},1e3);var W=o(1156),L=o(3591),D=o(4888),B=o(9352),U=o(8170),F=o(8395),H=((x={}).Array="Array",x.Boolean="Boolean",x.ConceptUuid="ConceptUuid",x.Number="Number",x.Object="Object",x.String="String",x.UUID="UUID",x.PersonAttributeTypeUuid="PersonAttributeTypeUuid",x.PatientIdentifierTypeUuid="PatientIdentifierTypeUuid",x);function G(e,t){return o=>{if(!e(o))if("function"==typeof t)return t(o);else return t}}let z=G(e=>Array.isArray(e),"must be an array"),V=G(e=>"boolean"==typeof e,"must be a boolean"),J=G(e=>"number"==typeof e,"must be a number"),q=G(e=>"string"==typeof e,"must be a string"),K=G(e=>"object"==typeof e&&!Array.isArray(e)&&null!==e,"must be an object (not an array or null)"),X=G(e=>/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i.test(e)||/^[0-9a-f]{36}$/i.test(e),"must be a valid UUID or a 36-character hexadecimal string"),Y=O("config-internal",{providedConfigs:[],schemas:{},moduleLoaded:{}}),Z=O("temporary-config",{config:function(){try{return JSON.parse(localStorage.getItem("openmrs:temporaryConfig")||"{}")}catch(e){return{}}}()});Z.subscribe(e=>{var t=e.config;try{localStorage.setItem("openmrs:temporaryConfig",JSON.stringify(t))}catch(e){}});let Q=O("config-store-of-extension-state",{mountedExtensions:[]});function ee(e){return R(`config-module-${e}`,{config:null,loaded:!1,translationOverridesLoaded:!1})}function et(){return R("config-extension-slots",{slots:{}})}function eo(e){return en(et().getState(),e)}function en(e,t){return e.slots[t]??{loaded:!1,config:{}}}function er(){return R("config-extensions",{configs:{}})}function ei(e,t){if("string"!=typeof e||"string"!=typeof t||"__proto__"===e||"__proto__"===t||"constructor"===e||"constructor"===t||"prototype"===e||"prototype"===t)throw Error("Attempted to call `getExtensionConfig()` with invalid argument");let o=er(),n=o=>o.configs[e]?.[t];return{getInitialState:()=>n(o.getInitialState()),getState:()=>n(o.getState())??{loaded:!1,config:null},subscribe:e=>o.subscribe((t,o)=>{let r=n(t),i=n(o);b(r,i)||e(r,i)})}}function es(e,t,o){return e.configs[t]?.[o]??{loaded:!1,config:null}}function ea(e,t,o){return e.configure?.[o]??null}let el=(0,N.y)()(()=>({config:{}})),ec=0,eu=!0,ed=!1;function em(e){n=e}function ep(){eu=!0,ec>0&&ef()}function ef(){if(eu&&n&&!ed){ed=!0,eu=!1;try{n()}catch(e){eu=!0,eg(e),console.error("Failed to derive the implementer tools config",e)}finally{ed=!1}}}function eg(e){el.setState({derivationError:e instanceof Error?e.message:String(e)})}function eh(){el.getState().derivationError&&el.setState({derivationError:void 0})}let e_=$("config-implementer-tools",{...el,getState:()=>(0===ec&&ef(),el.getState()),setState:(...e)=>(eu=!1,el.setState(...e)),subscribe(e){ec++,ef();let t=el.subscribe(e),o=!1;return()=>{!o&&(o=!0,ec--),t()}}});function ew(e,t){if(Array.isArray(t))return t}function ev(e,t){return(0,D.A)({},e,t,ew)}let ey=[];function eb(){let e=Y.getState(),t=Z.getState(),o=Q.getState();!function(e,t){for(let o of Object.keys(e.schemas)){let n,r=ee(o),i=e.schemas[o],s=!!e.moduleLoaded[o],a=eS.get(o);if(a&&a.schema===i&&a.moduleLoaded===s&&a.providedConfigs===e.providedConfigs&&a.temporaryConfig===t.config)n=a.state;else{let r=s?function(e,t,o){let n=t.schemas[e],r=eB(e,eL(t,o));eF(n,r,e);let i=eV(n,r);return eH(n,i,e),delete i.extensionSlots,i}(o,e,t):function(e,t,o){let n=eV(e0,eB(e,eL(t,o)));return eH(e0,n,e),delete n.extensionSlots,n}(o,e,t);n={translationOverridesLoaded:!0,loaded:s,config:r},eS.set(o,{schema:i,moduleLoaded:s,providedConfigs:e.providedConfigs,temporaryConfig:t.config,state:n})}let l=r.getState();l.loaded===n.loaded&&l.translationOverridesLoaded===n.translationOverridesLoaded&&(0,B.A)(l.config,n.config)||r.setState(n)}}(e,t);let n=function(e,t){let o=eU(eL(e,t)),n=Object.keys(o).reduce((e,t)=>(o[t]?.extensionSlots&&(e[t]=o[t]?.extensionSlots),e),{});var r=n;for(let[e,t]of Object.entries(r))for(let[o,n]of Object.entries(t))!function(e,t,o){let n=`${t}.extensionSlots.${o}`,r=`Extension slot config '${n}'`,i=Object.keys(e).filter(e=>!["add","remove","order","configure"].includes(e));i.length&&eX(n,r+`' contains invalid keys '${i.join("', '")}'`),!e.add||Array.isArray(e.add)&&e.add.every(e=>"string"==typeof e)||eX(n,r+".add' is invalid. Must be an array of strings (extension IDs)"),!e.remove||Array.isArray(e.remove)&&e.remove.every(e=>"string"==typeof e)||eX(n,r+".remove' is invalid. Must be an array of strings (extension IDs)"),!e.order||Array.isArray(e.order)&&e.order.every(e=>"string"==typeof e)||eX(n,r+".order' is invalid. Must be an array of strings (extension IDs)"),e.configure&&!eq(e.configure)&&eX(n,r+".configure' is invalid. Must be an object with extension IDs for keys")}(n,e,o);let i={},s={};for(let e of Object.values(n))for(let[t,o]of Object.entries(e))i[t]=o,o.configure&&(s[t]??(s[t]=[])).push(o.configure);for(let[e,t]of Object.entries(s)){let o=1===t.length?t[0]:eU(t);i[e].configure!==o&&(i[e]={...i[e],configure:o})}return i}(e,t);(function(e){let t=et(),o=t.getState().slots,n={},r=!1;for(let[t,i]of Object.entries(e)){let e=o[t];e?.loaded&&(0,B.A)(e.config,i)?n[t]=e:(n[t]={loaded:!0,config:i},r=!0)}(r||Object.keys(o).length!==Object.keys(n).length)&&t.setState({slots:n})})(n),function(e,t,o,n){let r=er(),i=r.getState().configs,s={},a=!1,l=0;for(let r of t.mountedExtensions){let t=function(e,t,o,n,r,i,s){let a=function(e){let[t]=e.split("#");return t}(n),l=r.schemas[a],c=JSON.stringify([o,n,e,t]),u=eT.get(c);if(u&&u.extensionSchema===l&&u.extensionModuleSchema===r.schemas[t]&&u.providedConfigs===r.providedConfigs&&u.temporaryConfig===i.config)return u.config;let d=l?a:t,m=eL(r,i),p=s?.configure?.[n]??{},f=eB(e,m),g=f?.extensionSlots?.[o]?.configure?.[n]??{},h=eU([eB(d,m),p,g]),_=l??r.schemas[t];eF(_,h,d);let w=eV(_,h);return eH(_,w,d),delete w.extensionSlots,eT.set(c,{extensionSchema:l,extensionModuleSchema:r.schemas[t],providedConfigs:r.providedConfigs,temporaryConfig:i.config,config:w}),w}(r.slotModuleName,r.extensionModuleName,r.slotName,r.extensionId,e,o,n[r.slotName]),c=i[r.slotName]?.[r.extensionId],u=c?.loaded&&(0,B.A)(c.config,t)?c:{config:t,loaded:!0};u!==c&&(a=!0),s[r.slotName]||(s[r.slotName]={}),s[r.slotName][r.extensionId]=u,l++}for(let[e,t]of Object.entries(s)){let o=i[e];o&&Object.keys(o).length===Object.keys(t).length&&Object.entries(t).every(([e,t])=>o[e]===t)&&(s[e]=o)}a||(a=Object.keys(i).length!==Object.keys(s).length||Object.values(i).reduce((e,t)=>e+Object.keys(t).length,0)!==l),a&&r.setState({configs:s})}(e,o,t,n),ep()}function ex(){n=()=>{var e,t;let o,n;return e=Y.getState(),t=Z.getState(),o=e_.getState(),n={config:function(e,t){let o=function(e){let t={};for(let[o,n]of Object.entries(e)){let e=eW.get(o);if(e&&e.schema===n)t[o]=e.annotated;else{let e=function e(t){return t.hasOwnProperty("_default")?{...t,_value:t._default,_source:"default"}:eq(t)?Object.keys(t).reduce((o,n)=>(o[n]=e(t[n]),o),{}):{}}((0,F.A)(n));eW.set(o,{schema:n,annotated:e}),t[o]=e}}return t}(e.schemas),n=[...e.providedConfigs.map(e=>[e.config,e.source]),[t.config,"temporary config"]],r=new Set(Object.keys(o));for(let[e]of n)for(let t of Object.keys(e))r.add(t);let i={};for(let e of r){let t=o[e],r=n.map(([t])=>t[e]),s=n.map(([,e])=>e),a=eM.get(e);if(a&&a.annotatedSchema===t&&a.configSlices.length===r.length&&a.configSlices.every((e,t)=>e===r[t])&&a.sources.every((e,t)=>e===s[t])){i[e]=a.result;continue}let l=t??{};n.forEach(([,e],t)=>{let o=r[t];void 0!==o&&(l=ev(l,function e(t,o){return eq(t)?Object.keys(t).reduce((n,r)=>(n[r]=e(t[r],o),n),{}):{_value:t,_source:o}}(o,e)))}),eM.set(e,{annotatedSchema:t,configSlices:r,sources:s,result:l}),i[e]=l}return i}(e,t)},void((0,B.A)(o.config,n.config)||e_.setState(n))},eb(),ey.push(Y.subscribe(ek),Z.subscribe(ek),Q.subscribe(ek))}function ek(){eh();try{eb()}catch(e){eg(e),console.error("Failed to recompute the configuration",e)}}ex();let eS=new Map;function ej(e,t){eD(e,t);let o=ev(t,e0);Y.setState(t=>({...t,schemas:{...t.schemas,[e]:o},moduleLoaded:{...t.moduleLoaded,[e]:!0}}))}function eN(e){Y.setState(t=>({...t,schemas:{...t.schemas,[e]:e0}}))}function eC(e){Y.setState(t=>({...t,moduleLoaded:{...t.moduleLoaded,[e]:!0}}))}function eE(e){Y.setState(t=>({...t,schemas:{...t.schemas,[e]:eQ}}))}function eI(e,t){eD(e,t);let o=ev(t,e0);Y.getState().schemas[e]&&console.error(`Config schema for extension ${e} already exists. If there are multiple extensions with this same name, one will probably crash.`),Y.setState(t=>({...t,schemas:{...t.schemas,[e]:o}}))}function eP(e,t="provided"){Y.setState(o=>({...o,providedConfigs:[...o.providedConfigs,{source:t,config:e}]}))}function eA(e,t,o){return new Promise(n=>{let r,i=!1;function s(e){!i&&t(e)&&(i=!0,n(o(e)),r?.())}s(e.getState()),i||(r=e.subscribe(s))})}function eO(e){return eA(ee(e),e=>!!(e.loaded&&e.config),e=>(0,U.A)(e.config,["Display conditions","Translation overrides"]))}function e$(e,t,o){let n=[eA(ee(e),e=>!!(e.translationOverridesLoaded&&e.config),e=>e.config["Translation overrides"]??{})];return t&&o&&n.push(eA(ei(t,o),e=>!!(e.loaded&&e.config),e=>e.config["Translation overrides"]??{})),Promise.all(n)}function eR(e,t,o){eF(e,t,o);let n=eV(e,t);return eH(e,n,o),n}let eT=new Map,eM=new Map,eW=new Map;function eL(e,t){return[...e.providedConfigs.map(e=>e.config),t.config]}function eD(e,t,o=""){let n="Please verify that you are running the latest version and, if so, alert the maintainer.";for(let r of Object.keys(t).filter(e=>!e.startsWith("_"))){let i=o+(o&&".")+r,s=t[r];if("Display conditions"===i&&console.error(`${e} declares a configuration option called "Display conditions"; the "Display conditions" option is a reserved name. ${n}`),"Translation overrides"===i&&console.error(`${e} declares a configuration option called "Translation overrides"; the "Translation overrides" option is a reserved name. ${n}`),!eq(s)){console.error(`${e} has bad config schema definition for key '${i}'. ${n}`);continue}s.hasOwnProperty("_default")||eD(e,s,i);let a=s._elements;if(eJ(a)&&eD(e,a,i+"._elements"),s._validators)for(let t of s._validators)"function"!=typeof t&&console.error(`${e} has invalid validator for key '${i}' ${n}.
|
|
4
4
|
|
|
5
5
|
If you're the maintainer: validators must be functions that return either undefined or an error string. Received ${t}.`);let l=s._type;l&&!Object.values(H).includes(l)&&console.error(`${e} has invalid type for key '${i}' ${n}.
|
|
6
6
|
|
|
@@ -9,11 +9,11 @@ If you're the maintainer: the allowed types are ${Object.values(H).join(", ")}.
|
|
|
9
9
|
If you're the maintainer: all config elements must have a default. Received ${JSON.stringify(s)}`),a&&l&&![H.Array,H.Object].includes(l)&&console.error(`${e} has bad config schema definition for key '${i}'. ${n}.
|
|
10
10
|
|
|
11
11
|
If you're the maintainer: the 'elements' key only works with '_type' equal to 'Array' or 'Object'. Received ${JSON.stringify(l)}`)}}function eB(e,t){return eU(t.map(({[e]:t})=>t).filter(e=>!!e))}function eU(e){return e.reduce((e,t)=>(0,D.A)(e,t,ew),{})}function eF(e,t,o=""){for(let n of Object.keys(t)){let r=t[n],i=o+"."+n,s=e[n];if(!e.hasOwnProperty(n)){("extensionSlots"!==n||""===o)&&eX(i,`Unknown config key '${i}' provided. Ignoring.`);continue}(function e(t,o,n){eG(n,t._type,o),eq(o)?t._type===H.Object?function(t,o,n){if(t._elements)for(let r of Object.keys(o)){let i=o[r];e(t._elements,i,`${n}.${r}`)}}(t,o,n):t.hasOwnProperty("_default")||t.hasOwnProperty("_type")||eF(t,o,n):t._type===H.Array&&function(t,o,n){if(eG(n,H.Array,o)){if(eJ(t._elements))for(let r=0;r<o.length;r++)e(t._elements,o[r],`${n}[${r}]`);for(let e=0;e<o.length;e++)eG(`${n}[${e}]`,t._elements?._type,o[e])}}(t,o,n)})(s,r,i)}}function eH(e,t,o=""){if(e){if(t!==e._default&&ez(o,e._validators,t),eq(t))for(let n of Object.keys(t)){let r=t[n],i=o+"."+n,s=e[n];e._type===H.Object&&e._elements?eH(e._elements,r,i):eH(s,r,i)}else if(Array.isArray(t)&&e._elements)for(let n=0;n<t.length;n++)eH(e._elements,t[n],`${o}[${n}]`)}}function eG(e,t,o){return!t||ez(e,[{Array:z,Boolean:V,ConceptUuid:X,Number:J,Object:K,String:q,UUID:X,PersonAttributeTypeUuid:X,PatientIdentifierTypeUuid:X}[t]],o)}function ez(e,t,o){let n=!0;if(t)try{for(let r of t){let t=r(o);if("string"==typeof t){let r="object"==typeof o?`Invalid configuration for ${e}: ${t}`:`Invalid configuration value ${o} for ${e}: ${t}`;eX(e,r),n=!1}}}catch(t){console.error(`Skipping invalid validator at "${e}". Encountered error
|
|
12
|
-
${t}`)}return n}let eV=(e,t)=>{let o=structuredClone(t);if(!e)return o;for(let t of Object.keys(e)){let n=o[t],r=e[t];if(r&&(r.hasOwnProperty("_type")||r.hasOwnProperty("_default"))){o.hasOwnProperty(t)||(o[t]=r._default);let e=r._elements;if(n&&eJ(e)){if(r._type===H.Array&&Array.isArray(n)){let r=n.map(t=>eV(e,t));o[t]=r}else if(r._type===H.Object)for(let t of Object.keys(n))n[t]=eV(e,n[t])}}else if(eq(r)){let e=n??{};eq(e)&&(o[t]=eV(r,e))}}return o};function eJ(e){return!!e&&Object.keys(e).filter(e=>!["_default","_validators"].includes(e)).length>0}function eq(e){return"object"==typeof e&&!Array.isArray(e)&&null!==e}let eK=new Set;function eX(e,t){let o=`${e}:::${t}`;eK||(eK=new Set),eK.has(o)||(console.error(t),eK.add(o))}function eY(e){e?eK.forEach(t=>{t.startsWith(e)&&eK.delete(t)}):eK.clear()}function eZ(){ey.forEach(e=>e()),ey.length=0,eS.clear(),eT.clear(),eW.clear(),eM.clear(),ex()}let eQ={"Translation overrides":{_description:"Per-language overrides for frontend translations should be keyed by language code and each language dictionary contains the translation key and the display value",_type:H.Object,_default:{},_validators:[G(e=>Object.keys(e).every(e=>/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e)),e=>{let t=Object.keys(e).filter(e=>!/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e));return`The 'Translation overrides' object should have language codes for keys. Language codes must be in the form of a two-to-three letter language code optionally followed by a hyphen and a two-to-three letter country code. The following keys do not conform: ${t.join(", ")}.`})]}},e0={"Display conditions":{privileges:{_description:"The privilege(s) the user must have to use this extension",_type:H.Array,_default:[]},expression:{_description:"The expression that determines whether the extension is displayed",_type:H.String,_default:void 0}},...eQ},e1=(e,t)=>G(o=>e<=o&&o<=t,`must be between ${e} and ${t}`),e2=e=>{let t=e.concat(["openmrsBase","openmrsSpaBase"]);return G(e=>{if(!e||"string"!=typeof e)return!1;let o=/\${(.*?)}/g,n=o.exec(e);for(;n;){if(!t.includes(n[1]))return!1;n=o.exec(e)}return!0},"Should be a URL or path. The allowed template parameters are "+t.map(e=>"${"+e+"}").join(", "))},e6=e2([]),e5=e=>G(t=>e.includes(t),`Must be one of the following: '${e.join("', '")}'.`),e8={inRange:e1,isUrl:e6,isUrlWithTemplateParameters:e2,oneOf:e5};var e3=o(4913);let e4=O("breadcrumbs",[]);function e7(e){return e9([e])}function e9(e){let t=[...te(),...e.map(e=>({matcher:e.matcher instanceof RegExp?e.matcher:"string"==typeof e.matcher?(0,e3.pathToRegexp)(e.matcher).regexp:(0,e3.pathToRegexp)(e.path).regexp,settings:e}))];e4.setState(t,!0)}function te(){return e4.getState()}function tt(e,t){if(t)return function(e,t){let[o]=e.filter(e=>e.matcher.test(t));return o}(e,t)||function(e,t){let o=t.split("/");for(;o.length>1;){o.pop();let t=tt(e,o.join("/"));if(t)return t}}(e,t)}function to(e,t){if(e.length>0){let o=tt(e,t);if(o){let t=[o],n=tt(e,o.settings.parent);for(;void 0!==n;)t.push(n),n=tt(e,n.settings.parent);return t.reverse()}}return[]}function tn(e){return to(te(),e)}var tr=o(2267);let ti={address1:"Address line 1",address2:"Address line 2",address3:"Address line 3",address4:"Address line 4",address5:"Address line 5",address6:"Address line 6",city:"City",cityVillage:"City",country:"Country",countyDistrict:"District",district:"District",postalCode:"Postal code",state:"State",stateProvince:"State",closeAllOpenedWorkspaces:"Discard changes in {{count}} workspaces",closingAllWorkspacesPromptBody:"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}",closingAllWorkspacesPromptTitle:"You have unsaved changes",discard:"Discard",hide:"Hide",maximize:"Maximize",minimize:"Minimize",openAnyway:"Open anyway",unsavedChangesInOpenedWorkspace:"You may have unsaved changes in the opened workspace. Do you want to discard these changes?",unsavedChangesInWorkspace:'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',unsavedChangesTitleText:"Unsaved changes",workspaceHeader:"Workspace header",discardUnsavedChangesPromptBodyMultiple:"{{count}} workspaces have unsaved changes. Closing them will discard the changes:",discardUnsavedChangesPromptBodySingle:"<strong>{{workspaceTitle}}</strong> has unsaved changes. Closing it will discard them.",discardUnsavedChangesPromptTitle:"Discard unsaved changes?",keepEditing:"Keep editing",abnormalValue:"Abnormal value",actions:"Actions",actionableNotification:"Actionable notification",address:"Address",age:"Age",batchActionItemSelected:"{{totalSelected}} item selected",batchActionsItemsSelected:"{{totalSelected}} items selected",cancel:"Cancel",change:"Change",Clinic:"Clinic",close:"Close",closesActionableNotification:"Close actionable notification",closeSnackbar:"Close snackbar",confirm:"Confirm",contactAdministratorIfIssuePersists:"Contact your system administrator if the problem persists.",contactDetails:"Contact details",delete:"Delete",discardChanges:"Discard changes",edit:"Edit",emptyStateText:"There are no {{displayText}} to display",error:"Error",errorCopy:"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.",errorLoadingLoginLocations:"Unable to load login locations. Please try again or contact support if the problem persists.",female:"Female",leftNavigation:"Left navigation",loading:"Loading",localVersion:"Local Build",male:"Male",navigateNonHttp:"Could not navigate to the requested page as it is not a safe URL",noResultsToDisplay:"No results to display",notAvailable:"Not available",other:"Other",paginationItemsCount:"{{pageItemsCount}} / {{totalItems}} items",paginationOfPages:"of {{count}} pages",patientAvatarAlt:"Avatar for {{patientName}}",patientIdentifierSticker:"Patient identifier sticker",patientLists:"Patient lists",patientPhotoAlt:"Profile photo of {{patientName}}",patientPhotoPlaceholder:"Photo placeholder for {{patientName}}",prereleaseVersion:"Prerelease",print:"Print",printError:"Print error",printErrorExplainer:"An error occurred in {{errorLocation}}",printIdentifierSticker:"Print identifier sticker",printing:"Printing",recordNewEntry:"Record {{displayText}}",relationships:"Relationships",resetOverrides:"Reset overrides",save:"Save",scriptLoadingFailed:"Error: Script failed to load",scriptLoadingError:"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",searchForLocation:"Search for a location",seeAll:"See all",seeMoreLists:"See {{count}} more lists",selectAll:"Select all",sex:"Sex",showLess:"Show less",showMore:"Show more",snackbarNotification:"Snackbar notification",toggleDevTools:"Toggle dev tools",unknown:"Unknown",yearAbbreviation:"yr",yearsAbbreviation:"yrs"};var ts=o(2279);let ta=ts.Ay.default||ts.Ay;function tl(e,t,o,n){return ta.t(t,{ns:e,defaultValue:o,...n})}function tc(e,t,o){return ti[e]?tl("core",e,t??ti[e],o):(console.error(`O3 Core Translations does not provide key '${e}'. The key itself is being rendered as text.`),e)}function tu(e,t){let o=window.getOpenmrsSpaBase().replace(/\/$/,""),n=td(e,{openmrsBase:window.openmrsBase,openmrsSpaBase:o,...t});return e.startsWith("//")?n:n.replace(/^\/\//,"/")}function td(e,t){return Object.keys(t).reduce((e,o)=>e.split("${"+o+"}").join(t[o]),e)}function tm({to:e,templateParams:t}){let o=window.getOpenmrsSpaBase().replace(/\/$/,""),n=tu(e,t).replace(window.location.origin,""),r=new URL(n,window.location.origin);if("http:"!=r.protocol&&"https:"!=r.protocol)throw console.error(`Received request to navigate to non-http URL: ${r.toString()}`),Error(tc("navigateNonHttp"));n.startsWith(o)?(0,tr.EH)(n):window.location.assign(n)}ta.on("initialized",function(){window.i18next.loadNamespaces(["core"])});let tp="openmrs:history";function tf(e){let t=JSON.parse(sessionStorage.getItem(tp)??"[]")||[];t.push(e),t.length>50&&(t=t.slice(-50)),sessionStorage.setItem(tp,JSON.stringify(t))}function tg(){0===JSON.parse(sessionStorage.getItem(tp)??"[]").length&&document.referrer&&tf(document.referrer),window.addEventListener("single-spa:routing-event",e=>{let t=th();e.detail.originalEvent?.singleSpaTrigger=="replaceState"?(t[t.length-1]=window.location.href,sessionStorage.setItem(tp,JSON.stringify(t))):!e.detail.originalEvent?.singleSpa&&t.includes(window.location.href)?t_({toUrl:window.location.href}):t[t.length-1]!==window.location.href&&tf(window.location.href)})}function th(){return JSON.parse(sessionStorage.getItem(tp)??"[]")}function t_({toUrl:e}){let t=th(),o=t.lastIndexOf(e);if(-1!=o){let e=t.slice(0,o+1);tm({to:t[o]}),sessionStorage.setItem(tp,JSON.stringify(e))}else throw Error(`URL ${e} not found in history; cannot go back to it.`)}function tw(){sessionStorage.removeItem(tp)}let tv="${openmrsSpaBase}/login",ty={redirectAuthFailure:{enabled:{_type:H.Boolean,_default:!0,_description:"Whether to redirect logged-out users to `redirectAuthFailure.url`"},url:{_type:H.String,_default:tv,_validators:[e8.isUrl],_description:"The url to which users will be redirected when they are logged out. If set to blank, the `location` header from the response will be used."},errors:{_type:H.Array,_default:[401],_elements:{_type:H.Number,_validators:[e8.inRange(100,600)]},_description:"The HTTP error codes for which users will be redirected"},resolvePromise:{_type:H.Boolean,_default:!1,_description:"Changes how requests that fail authentication are handled. Try messing with this if redirects to the login page aren't working correctly."}},followRedirects:{_type:H.Boolean,_default:!0,_description:"Whether openmrsFetch should support redirects returned from the backend"}};function tb(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}let tx="/ws/rest/v1",tk="/ws/fhir2/R4",tS=`${tx}/session`;function tj(e){return e&&e.startsWith("http")?e:("/"!==e[0]&&(e="/"+e),window.openmrsBase+e)}function tN(e,t={}){if("string"!=typeof e)throw Error("The first argument to @openmrs/api's openmrsFetch function must be a url string");if("object"!=typeof t)throw Error("The second argument to @openmrs/api's openmrsFetch function must be a plain object.");if(!window.openmrsBase)throw Error("@openmrs/api is running in a browser that doesn't have window.openmrsBase, which is provided by openmrs-module-spa's HTML file.");let o=tj(e);if(t.headers||(t.headers={}),(0,L.A)(t.body)&&(t.body=JSON.stringify(t.body)),void 0===t.headers.Accept&&(t.headers.Accept="application/json"),null===t.headers.Accept&&delete t.headers.Accept,e.startsWith(tx)&&void 0===t.headers["Disable-WWW-Authenticate"]&&(t.headers["Disable-WWW-Authenticate"]="true"),e.startsWith(tk)){let e=new URL(o,window.location.toString());e.searchParams.has("_summary")||(e.searchParams.set("_summary","data"),o=e.toString())}let n=Error();return window.fetch(o,t).then(async e=>{let{redirectAuthFailure:t,followRedirects:r}=await eO("@openmrs/esm-api");if(e.ok){let t=e.headers.get("location");return(r&&t&&(o===tj(tS)||204===e.status)&&tm({to:t}),204===e.status)?(e.data=null,e):e.clone().text().then(t=>{try{t&&(e.data=JSON.parse(t))}catch(e){}return e})}return o===tj(tS)&&403===e.status||t.enabled&&t.errors.includes(e.status)?(tw(),tm({to:t.url||e.headers.get("location")||tv}),t.resolvePromise?Promise.resolve():new Promise(()=>{})):e.clone().text().then(t=>{let r=t;try{r=JSON.parse(t)}catch(e){}throw new tC(o,e,r,n)},t=>{throw new tC(o,e,null,n)})})}class tC extends Error{constructor(e,t,o,n){super(),tb(this,"response",void 0),tb(this,"responseBody",void 0),this.message=`Server responded with ${t.status} (${t.statusText}) for url ${e}. Check err.responseBody or network tab in dev tools for more info`,n.message=this.message,this.responseBody=o,this.response=t,this.stack=`Stacktrace for outgoing request:
|
|
12
|
+
${t}`)}return n}let eV=(e,t)=>{let o=structuredClone(t);if(!e)return o;for(let t of Object.keys(e)){let n=o[t],r=e[t];if(r&&(r.hasOwnProperty("_type")||r.hasOwnProperty("_default"))){o.hasOwnProperty(t)||(o[t]=r._default);let e=r._elements;if(n&&eJ(e)){if(r._type===H.Array&&Array.isArray(n)){let r=n.map(t=>eV(e,t));o[t]=r}else if(r._type===H.Object)for(let t of Object.keys(n))n[t]=eV(e,n[t])}}else if(eq(r)){let e=n??{};eq(e)&&(o[t]=eV(r,e))}}return o};function eJ(e){return!!e&&Object.keys(e).filter(e=>!["_default","_validators"].includes(e)).length>0}function eq(e){return"object"==typeof e&&!Array.isArray(e)&&null!==e}let eK=new Set;function eX(e,t){let o=`${e}:::${t}`;eK||(eK=new Set),eK.has(o)||(console.error(t),eK.add(o))}function eY(e){e?eK.forEach(t=>{t.startsWith(e)&&eK.delete(t)}):eK.clear()}function eZ(){ey.forEach(e=>e()),ey.length=0,eS.clear(),eT.clear(),eW.clear(),eM.clear(),ex()}let eQ={"Translation overrides":{_description:"Per-language overrides for frontend translations should be keyed by language code and each language dictionary contains the translation key and the display value",_type:H.Object,_default:{},_validators:[G(e=>Object.keys(e).every(e=>/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e)),e=>{let t=Object.keys(e).filter(e=>!/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e));return`The 'Translation overrides' object should have language codes for keys. Language codes must be in the form of a two-to-three letter language code optionally followed by a hyphen and a two-to-three letter country code. The following keys do not conform: ${t.join(", ")}.`})]}},e0={"Display conditions":{privileges:{_description:"The privilege(s) the user must have to use this extension",_type:H.Array,_default:[]},expression:{_description:"The expression that determines whether the extension is displayed",_type:H.String,_default:void 0}},...eQ},e1=(e,t)=>G(o=>e<=o&&o<=t,`must be between ${e} and ${t}`),e2=e=>{let t=e.concat(["openmrsBase","openmrsSpaBase"]);return G(e=>{if(!e||"string"!=typeof e)return!1;let o=/\${(.*?)}/g,n=o.exec(e);for(;n;){if(!t.includes(n[1]))return!1;n=o.exec(e)}return!0},"Should be a URL or path. The allowed template parameters are "+t.map(e=>"${"+e+"}").join(", "))},e6=e2([]),e5=e=>G(t=>e.includes(t),`Must be one of the following: '${e.join("', '")}'.`),e8={inRange:e1,isUrl:e6,isUrlWithTemplateParameters:e2,oneOf:e5};var e3=o(4913);let e4=O("breadcrumbs",[]);function e7(e){return e9([e])}function e9(e){let t=[...te(),...e.map(e=>({matcher:e.matcher instanceof RegExp?e.matcher:"string"==typeof e.matcher?(0,e3.pathToRegexp)(e.matcher).regexp:(0,e3.pathToRegexp)(e.path).regexp,settings:e}))];e4.setState(t,!0)}function te(){return e4.getState()}function tt(e,t){if(t)return function(e,t){let[o]=e.filter(e=>e.matcher.test(t));return o}(e,t)||function(e,t){let o=t.split("/");for(;o.length>1;){o.pop();let t=tt(e,o.join("/"));if(t)return t}}(e,t)}function to(e,t){if(e.length>0){let o=tt(e,t);if(o){let t=[o],n=tt(e,o.settings.parent);for(;void 0!==n;)t.push(n),n=tt(e,n.settings.parent);return t.reverse()}}return[]}function tn(e){return to(te(),e)}var tr=o(2267);let ti={address1:"Address line 1",address2:"Address line 2",address3:"Address line 3",address4:"Address line 4",address5:"Address line 5",address6:"Address line 6",city:"City",cityVillage:"City",country:"Country",countyDistrict:"District",district:"District",postalCode:"Postal code",state:"State",stateProvince:"State",closeAllOpenedWorkspaces:"Discard changes in {{count}} workspaces",closingAllWorkspacesPromptBody:"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}",closingAllWorkspacesPromptTitle:"You have unsaved changes",discard:"Discard",hide:"Hide",maximize:"Maximize",minimize:"Minimize",openAnyway:"Open anyway",unsavedChangesInOpenedWorkspace:"You may have unsaved changes in the opened workspace. Do you want to discard these changes?",unsavedChangesInWorkspace:'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',unsavedChangesTitleText:"Unsaved changes",workspaceHeader:"Workspace header",discardUnsavedChangesPromptBodyMultiple:"{{count}} workspaces have unsaved changes. Closing them will discard the changes:",discardUnsavedChangesPromptBodySingle:"<strong>{{workspaceTitle}}</strong> has unsaved changes. Closing it will discard them.",discardUnsavedChangesPromptTitle:"Discard unsaved changes?",keepEditing:"Keep editing",abnormalValue:"Abnormal value",actions:"Actions",actionableNotification:"Actionable notification",address:"Address",age:"Age",batchActionItemSelected:"{{totalSelected}} item selected",batchActionsItemsSelected:"{{totalSelected}} items selected",cancel:"Cancel",change:"Change",Clinic:"Clinic",close:"Close",closesActionableNotification:"Close actionable notification",closeSnackbar:"Close snackbar",confirm:"Confirm",contactAdministratorIfIssuePersists:"Contact your system administrator if the problem persists.",contactDetails:"Contact details",delete:"Delete",discardChanges:"Discard changes",edit:"Edit",emptyStateText:"There are no {{displayText}} to display",error:"Error",errorCopy:"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.",errorLoadingLoginLocations:"Unable to load login locations. Please try again or contact support if the problem persists.",female:"Female",leftNavigation:"Left navigation",loading:"Loading",localVersion:"Local Build",male:"Male",navigateNonHttp:"Could not navigate to the requested page as it is not a safe URL",noResultsToDisplay:"No results to display",notAvailable:"Not available",other:"Other",paginationItemsCount:"{{pageItemsCount}} / {{totalItems}} items",paginationOfPages:"of {{count}} pages",patientAvatarAlt:"Avatar for {{patientName}}",patientIdentifierSticker:"Patient identifier sticker",patientLists:"Patient lists",patientPhotoAlt:"Profile photo of {{patientName}}",patientPhotoPlaceholder:"Photo placeholder for {{patientName}}",prereleaseVersion:"Prerelease",print:"Print",printError:"Print error",printErrorExplainer:"An error occurred in {{errorLocation}}",printIdentifierSticker:"Print identifier sticker",printing:"Printing",recordNewEntry:"Record {{displayText}}",relationships:"Relationships",resetOverrides:"Reset overrides",save:"Save",scriptLoadingFailed:"Error: Script failed to load",scriptLoadingError:"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",searchForLocation:"Search for a location",seeAll:"See all",seeMoreLists:"See {{count}} more lists",selectAll:"Select all",sex:"Sex",showLess:"Show less",showMore:"Show more",snackbarNotification:"Snackbar notification",toggleDevTools:"Toggle dev tools",unknown:"Unknown",yearAbbreviation:"yr",yearsAbbreviation:"yrs"};var ts=o(2279);let ta=ts.Ay.default||ts.Ay;function tl(e,t,o,n){return ta.t(t,{ns:e,defaultValue:o,...n})}function tc(e,t,o){return ti[e]?tl("core",e,t??ti[e],o):(console.error(`O3 Core Translations does not provide key '${e}'. The key itself is being rendered as text.`),e)}function tu(e,t){let o=window.getOpenmrsSpaBase().replace(/\/$/,""),n=td(e,{openmrsBase:window.openmrsBase,openmrsSpaBase:o,...t});return e.startsWith("//")?n:n.replace(/^\/\//,"/")}function td(e,t){return Object.keys(t).reduce((e,o)=>e.split("${"+o+"}").join(t[o]),e)}function tm({to:e,templateParams:t}){let o=window.getOpenmrsSpaBase().replace(/\/$/,""),n=tu(e,t).replace(window.location.origin,""),r=new URL(n,window.location.origin);if("http:"!=r.protocol&&"https:"!=r.protocol)throw console.error(`Received request to navigate to non-http URL: ${r.toString()}`),Error(tc("navigateNonHttp"));n.startsWith(o)?(0,tr.EH)(n):window.location.assign(n)}ta.on("initialized",function(){window.i18next.loadNamespaces(["core"])});let tp="openmrs:history";function tf(e){let t=JSON.parse(sessionStorage.getItem(tp)??"[]")||[];t.push(e),t.length>50&&(t=t.slice(-50)),sessionStorage.setItem(tp,JSON.stringify(t))}function tg(){0===JSON.parse(sessionStorage.getItem(tp)??"[]").length&&document.referrer&&tf(document.referrer),window.addEventListener("single-spa:routing-event",e=>{let t=th();e.detail.originalEvent?.singleSpaTrigger=="replaceState"?(t[t.length-1]=window.location.href,sessionStorage.setItem(tp,JSON.stringify(t))):!e.detail.originalEvent?.singleSpa&&t.includes(window.location.href)?t_({toUrl:window.location.href}):t[t.length-1]!==window.location.href&&tf(window.location.href)})}function th(){return JSON.parse(sessionStorage.getItem(tp)??"[]")}function t_({toUrl:e}){let t=th(),o=t.lastIndexOf(e);if(-1!=o){let e=t.slice(0,o+1);tm({to:t[o]}),sessionStorage.setItem(tp,JSON.stringify(e))}else throw Error(`URL ${e} not found in history; cannot go back to it.`)}function tw(){sessionStorage.removeItem(tp)}let tv="${openmrsSpaBase}/login",ty={redirectAuthFailure:{enabled:{_type:H.Boolean,_default:!0,_description:"Whether to redirect logged-out users to `redirectAuthFailure.url`"},url:{_type:H.String,_default:tv,_validators:[e8.isUrl],_description:"The url to which users will be redirected when they are logged out. If set to blank, the `location` header from the response will be used."},errors:{_type:H.Array,_default:[401],_elements:{_type:H.Number,_validators:[e8.inRange(100,600)]},_description:"The HTTP error codes for which users will be redirected"},resolvePromise:{_type:H.Boolean,_default:!1,_description:"Changes how requests that fail authentication are handled. Try messing with this if redirects to the login page aren't working correctly."}},followRedirects:{_type:H.Boolean,_default:!0,_description:"Whether openmrsFetch should support redirects returned from the backend"}};function tb(e,t,o){return t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o,e}let tx="/ws/rest/v1",tk="/ws/fhir2/R4",tS=`${tx}/session`;function tj(e){return e&&e.startsWith("http")?e:("/"!==e[0]&&(e="/"+e),window.openmrsBase+e)}function tN(e,t={}){if("string"!=typeof e)throw Error("The first argument to @openmrs/api's openmrsFetch function must be a url string");if("object"!=typeof t)throw Error("The second argument to @openmrs/api's openmrsFetch function must be a plain object.");if(!window.openmrsBase)throw Error("@openmrs/api is running in a browser that doesn't have window.openmrsBase, which is provided by openmrs-module-spa's HTML file.");let o=tj(e);t.headers||(t.headers={}),(0,L.A)(t.body)&&(t.body=JSON.stringify(t.body)),void 0===t.headers.Accept&&(t.headers.Accept="application/json"),null===t.headers.Accept&&delete t.headers.Accept;let n=!1;try{let e=new URL(o,window.location.href),t=new URL(tj(tx),window.location.href),r=e.pathname.replace(/\/{2,}/g,"/"),i=t.pathname.replace(/\/{2,}/g,"/");n=e.origin===t.origin&&(r===i||r.startsWith(`${i}/`))}catch{}if(n){let e=!1;for(let[o,n]of Object.entries(t.headers))"disable-www-authenticate"===o.toLowerCase()&&(void 0===n?delete t.headers[o]:e=!0);e||(t.headers["Disable-WWW-Authenticate"]="true")}if(e.startsWith(tk)){let e=new URL(o,window.location.toString());e.searchParams.has("_summary")||(e.searchParams.set("_summary","data"),o=e.toString())}let r=Error();return window.fetch(o,t).then(async e=>{let{redirectAuthFailure:t,followRedirects:n}=await eO("@openmrs/esm-api");if(e.ok){let t=e.headers.get("location");return(n&&t&&(o===tj(tS)||204===e.status)&&tm({to:t}),204===e.status)?(e.data=null,e):e.clone().text().then(t=>{try{t&&(e.data=JSON.parse(t))}catch(e){}return e})}return o===tj(tS)&&403===e.status||t.enabled&&t.errors.includes(e.status)?(tw(),tm({to:t.url||e.headers.get("location")||tv}),t.resolvePromise?Promise.resolve():new Promise(()=>{})):e.clone().text().then(t=>{let n=t;try{n=JSON.parse(t)}catch(e){}throw new tC(o,e,n,r)},t=>{throw new tC(o,e,null,r)})})}class tC extends Error{constructor(e,t,o,n){super(),tb(this,"response",void 0),tb(this,"responseBody",void 0),this.message=`Server responded with ${t.status} (${t.statusText}) for url ${e}. Check err.responseBody or network tab in dev tools for more info`,n.message=this.message,this.responseBody=o,this.response=t,this.stack=`Stacktrace for outgoing request:
|
|
13
13
|
${n.stack}
|
|
14
14
|
Stacktrace for incoming response:
|
|
15
|
-
${this.stack}`}}let tE=O("session",{loaded:!1,session:null}),tI=0,tA=null;function tP(){return tA||(tE.getState().loaded&&tI>=Date.now()-6e4?null:tT())}function tO(e){let t=e?.includeAuthStatus??!0,o=e=>t?e:e.user;return tP()?new Promise(e=>{let t=tE.subscribe(n=>{n.loaded&&(t(),e(o(n.session)))})}):Promise.resolve(o(tE.getState().session))}function t$(){return tP(),tE}function tR(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 tT(e,t){tI=Date.now();let o={};e&&t&&(o.Authorization=`Basic ${window.btoa(`${e}:${t}`)}`);let n=tF(tN(tS,{headers:o})),r=()=>{tA===n&&(tA=null)};return n.then(r,r),tA=n,n}function tM(){tE.setState({loaded:!0,session:{authenticated:!1,sessionId:""}})}function tW(e,t){var o,n;if(void 0===t)return!e;if(!e)return!0;return o=e,n=t,("string"==typeof o?!(0,W.A)(n.privileges.find(e=>o===e.display)):Array.isArray(o)?o.every(e=>!(0,W.A)(n.privileges.find(t=>e===t.display))):((0,W.A)(o)||console.error(`Could not understand privileges "${o}"`),!0))||!(0,W.A)(t.roles.find(e=>"System Developer"===e.display))}function tL(){let e,t;return new Promise(o=>{let n=n=>{n.loaded&&n.session.user&&(e=n.session.user,o(n.session.user),t&&t())};n(tE.getState()),e||(t=tE.subscribe(n))})}async function tD(){return(await tO()).sessionLocation}async function tB(e,t){return tF(tN(tS,{method:"POST",body:{sessionLocation:e},headers:{"Content-Type":"application/json"},signal:t.signal}))}async function tU(e,t,o){return o||(o=new AbortController),await tN(`${tx}/user/${e}`,{method:"POST",body:{userProperties:t},headers:{"Content-Type":"application/json"},signal:o.signal}),tT()}function tF(e){return new Promise((t,o)=>{e.then(e=>{let n;"object"==typeof e?.data?(n={loaded:!0,session:e.data},tE.setState(n),t(n)):(n={loaded:!1,session:null},tE.setState(n),o(n))}).catch(e=>{w(`Failed to fetch new session information: ${e}`);let t={loaded:!1,session:null};tE.setState(t),o(t)})})}function tH(){return"development"===window.spaEnv||"true"===localStorage.getItem("openmrs:devtools")}tE.subscribe(e=>{e.loaded&&e.session&&tR(e.session)});let tG={"webservices.rest":"2.24.0",fhir2:"1.0.0-SNAPSHOT"};function tz(){ej("@openmrs/esm-api",ty),tT()}let tV="import-map-override:",tJ="import-map-overrides-disabled",tq="import-map-overrides:change",tK=!1,tX=null,tY=null;async function tZ(){return tY??(tY=tQ().then(({map:e,complete:t})=>(t||(tY=null),e))),tY}async function tQ(){let e=document.querySelectorAll('script[type="systemjs-importmap"]'),t=[],o=!0;for(let n=0;n<e.length;n++){let r=e[n];try{if(r.src){let e=await fetch(r.src);if(!e.ok)throw Error(`Request for ${r.src} returned ${e.status} ${e.statusText}`);t.push(await e.json())}else r.textContent&&t.push(JSON.parse(r.textContent))}catch(e){o=!1,console.warn(`[import-maps] Failed to parse import map from script tag at index ${n}`,e)}}return{map:t0(t),complete:o}}function t0(e){let t={imports:{}};for(let o of e)o?.imports&&Object.assign(t.imports,o.imports);return t}function t1(){let e={};try{let t=t3();for(let o=0;o<localStorage.length;o++){let n=localStorage.key(o);if(n?.startsWith(tV)){let o=n.slice(tV.length);if(!t.includes(o)){let t=localStorage.getItem(n);t&&(e[o]=t)}}}}catch(e){console.warn("[import-maps] Failed to read import-map overrides from localStorage",e)}return{imports:e}}async function t2(){let e=await tZ();return tK?t0([e,tX??t1()]):e}async function t6(){return tZ()}async function t5(){return tK?t0([await tZ(),t1()]):tZ()}function t8(e){if(!tK)return{imports:{}};if(e){let e={};for(let t=0;t<localStorage.length;t++){let o=localStorage.key(t);if(o?.startsWith(tV)){let t=localStorage.getItem(o);t&&(e[o.slice(tV.length)]=t)}}return{imports:e}}return t1()}function t3(){if(!tK)return[];try{let e=localStorage.getItem(tJ);if(e){let t=JSON.parse(e);if(Array.isArray(t))return t}}catch{}return[]}function t4(e){return!!tK&&t3().includes(e)}function t7(e,t){if(!tK)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.setItem(tV+e,t),window.dispatchEvent(new CustomEvent(tq))}catch(e){console.warn("[import-maps] Failed to write import-map override to localStorage",e)}}function t9(e){if(!tK)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.removeItem(tV+e);let t=t3().filter(t=>t!==e);t.length>0?localStorage.setItem(tJ,JSON.stringify(t)):localStorage.removeItem(tJ),window.dispatchEvent(new CustomEvent(tq))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}function oe(){if(!tK)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let o=localStorage.key(t);o?.startsWith(tV)&&e.push(o)}e.forEach(e=>localStorage.removeItem(e)),localStorage.removeItem(tJ),window.dispatchEvent(new CustomEvent(tq))}catch(e){console.warn("[import-maps] Failed to clear import-map overrides from localStorage",e)}}function ot(e){if(!tK)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let t=t3().filter(t=>t!==e);t.length>0?localStorage.setItem(tJ,JSON.stringify(t)):localStorage.removeItem(tJ),window.dispatchEvent(new CustomEvent(tq))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}let oo=!1;function on(){!oo&&(oo=!0,(tK="development"===window.spaEnv)&&(tX=t1()))}function or(e){return e.replace(/[\/\-@]/g,"_")}async function oi(e,t="./start",n){var r;let i,s=!n?.maxLoadingTime||n.maxLoadingTime<=0?6e5:n.maxLoadingTime;await Promise.race([os(e,n?.importMap),new Promise((t,o)=>{i=setTimeout(()=>{var t;o(Error(`Could not resolve requested script, ${e}, within ${(t=s)<1e3?`${t} milliseconds`:t<6e4?`${Math.floor(t/1e3)} seconds`:t<36e5?`${Math.floor(t/6e4)} minutes`:t<864e5?`${Math.floor(t/36e5)} hours`:`${Math.floor(t/864e5)} days`}.`))},s)})]),i&&clearTimeout(i);let a=or(e),l=window[a];if(!("object"==typeof(r=l)&&null!==r&&"init"in r&&"function"==typeof r.init&&"get"in r&&"function"==typeof r.get)){let e=`The global variable ${a} does not refer to a federated module`;throw console.error(e),Error(e)}l.init(o.S.default);let c=(await l.get(t))();if("object"!=typeof c||null===c){let t=`Container for ${e} did not return an ESM module as expected`;throw console.error(t),Error(t)}return c}async function os(e,t){if("string"!=typeof e||0===e.trim().length){let e="Attempted to call importDynamic() without supplying a package to load";throw console.error(e),Error(e)}let o=or(e);if(!window[o]){let o=t??await oa();if(!o.imports.hasOwnProperty(e)){let t=`Could not find the package ${e} defined in the current importmap`;throw console.error(t),Error(t)}let n=o.imports[e];n.startsWith("./")&&(n=window.spaBase+n.substring(1));let r=e in t8().imports;try{return await function(e){var t;let o=(t=window)[ol]??(t[ol]=new Map),n=o.get(e);if(n)return n;if(document.head.querySelector(`script[src="${e}"]`))return console.warn(`Script at ${e} already loaded. Not loading it again.`),Promise.resolve();let r=document.createElement("script");r.src=e,r.type="text/javascript",r.async=!0;let i=new Promise((t,n)=>{let i=setTimeout(()=>{console.error(`The script at ${e} did not load within 5 seconds. This may indicate an issue with the imports in the script's entry-point file or with the script's bundler configuration.`)},5e3);function s(){clearTimeout(i),r.removeEventListener("load",a),r.removeEventListener("error",l)}function a(){s(),t()}function l(t){s(),o.delete(e),r.remove();let i=`Failed to load script from ${e}`;console.error(i,t),n(t.message??i)}r.addEventListener("load",a),r.addEventListener("error",l),document.head.appendChild(r)});return o.set(e,i),i}(n)}catch(e){return r&&m({kind:"error",title:tc("scriptLoadingFailed","Error: Script failed to load"),description:tc("scriptLoadingError","Failed to load overridden script from {{- url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",{url:n}),actionButtonLabel:tc("resetOverrides","Reset overrides"),onActionButtonClick(){oe(),window.location.reload()}}),Promise.reject(e)}}return Promise.resolve()}async function oa(){return t2()}let ol=Symbol.for("__openmrs_script_loading");function oc(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 ou(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&&oc(t))}let od="openmrs-routes:",om="openmrs-routes:change",op=!1,of=null,og=null;async function oh(){return og??(og=o_().then(({map:e,complete:t})=>(t||(og=null),e))),og}async function o_(){let e=document.querySelectorAll("script[type='openmrs-routes']"),t=[],o=!0;for(let n=0;n<e.length;n++){let r=e[n];try{let e;if(r.src){let t=await fetch(r.src);if(!t.ok)throw Error(`Request for ${r.src} returned ${t.status} ${t.statusText}`);e=await t.json()}else r.textContent&&(e=JSON.parse(r.textContent));e&&ou(e)&&t.push(e)}catch(e){o=!1,console.warn(`[route-maps] Failed to parse routes from script tag at index ${n}`,e)}}return{map:ow(t),complete:o}}function ow(e){let t={routes:{}};for(let o of e)o&&"object"==typeof o&&!Array.isArray(o)&&(Object.assign(t.routes,o.routes),void 0===t.version&&void 0!==o.version&&(t.version=o.version));return t}async function ov(){let e={version:void 0,routes:{}};try{let t=[];for(let e=0;e<localStorage.length;e++){let o=localStorage.key(e);if(o?.startsWith(od)){let e=localStorage.getItem(o);e&&t.push({moduleName:o.slice(od.length),raw:e})}}for(let o of(await Promise.allSettled(t.map(async({moduleName:e,raw:t})=>{let o=JSON.parse(t);if(oc(o))return{moduleName:e,routes:o};if("string"==typeof o&&o.startsWith("http")){let t=await fetch(o),n=await t.json();if(oc(n))return{moduleName:e,routes:n};throw Error(`${o} did not resolve to a valid OpenmrsAppRoutes object`)}throw Error(`Override for ${e} is neither a valid routes object nor a URL`)}))))"fulfilled"===o.status?e.routes[o.value.moduleName]=o.value.routes:console.warn("[route-maps] Failed to load route override",o.reason)}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}async function oy(){let e=await oh();return op?ow([e,of??await ov()]):e}async function ob(){return oh()}async function ox(){return op?ow([await oh(),await ov()]):oh()}function ok(){if(!op)return{};let e={};try{for(let t=0;t<localStorage.length;t++){let o=localStorage.key(t);if(o?.startsWith(od)){let t=localStorage.getItem(o);t&&(e[o.slice(od.length)]=t)}}}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}function oS(e,t){if(!op)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{if("string"==typeof t)if(t.startsWith("http"))localStorage.setItem(od+e,JSON.stringify(t));else{let o=JSON.parse(t);if(!oc(o))return void console.error(`The supplied routes for ${e} is not a valid OpenmrsAppRoutes object`,t);localStorage.setItem(od+e,JSON.stringify(o))}else if(t instanceof URL)localStorage.setItem(od+e,JSON.stringify(t.toString()));else{if(!oc(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(od+e,JSON.stringify(t))}window.dispatchEvent(new CustomEvent(om))}catch(e){console.warn("[route-maps] Failed to write route override to localStorage",e)}}function oj(e){if(!op)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{localStorage.removeItem(od+e),window.dispatchEvent(new CustomEvent(om))}catch(e){console.warn("[route-maps] Failed to remove route override from localStorage",e)}}function oN(){if(!op)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let o=localStorage.key(t);o?.startsWith(od)&&e.push(o)}e.forEach(e=>localStorage.removeItem(e)),window.dispatchEvent(new CustomEvent(om))}catch(e){console.warn("[route-maps] Failed to clear route overrides from localStorage",e)}}let oC=null;function oE(){return oC||(oC=(op="development"===window.spaEnv)?ov().then(e=>{of=e}):Promise.resolve())}let oI=`${tx}/attachment`;function oA(e,t){return tN(`${oI}/${e}`,{signal:t.signal})}function oP(e,t,o,n){return tN(oO(e,t,n),{signal:o.signal})}function oO(e,t,o){return o?`${oI}?patient=${e}&encounter=${o}`:`${oI}?patient=${e}&includeEncounterless=${t}`}async function o$(e,t,o){let n=new FormData;return n.append("fileCaption",t.fileDescription),n.append("patient",e),o&&n.append("encounter",o),t.file?n.append("file",t.file,t.fileName):(n.append("file",new File([""],t.fileName),t.fileName),n.append("base64Content",t.base64Content)),tN(`${oI}`,{method:"POST",body:n})}function oR(e,t){return tN(`${oI}/${e}`,{method:"DELETE",signal:t.signal})}async function oT(e,t){return e?(await tN(`${tk}/Patient/${e}`,t)).data:null}function oM(e,t){let o=new CustomEvent(`openmrs:${e}`,{detail:t??void 0,cancelable:!0,bubbles:!0});return window.dispatchEvent(o)}function oW(e,t){let o=e=>{t("detail"in e&&null!==e.detail?e.detail:void 0)};return window.addEventListener(`openmrs:${e}`,o),()=>{window.removeEventListener(`openmrs:${e}`,o)}}function oL(e){return{uuid:e.uuid,display:e.display}}function oD(e=null,t=null){let o=new URLSearchParams;e&&o.set("tag",e),t&&o.set("q",t);let n=o.toString();return tN(`${tx}/location${n?"?"+n:""}`).then(e=>e.data.results.map(oL))}function oB(e){return{uuid:e.uuid,display:e.display,name:e.name}}let oU=`${tx}/visittype`;function oF(e=oU){return tN(e).then(e=>e.data.results.map(oB))}var oH=((k={}).NEWVISIT="startVisit",k.EDITVISIT="editVisit",k.LOADING="loadingVisit",k),oG=((S={}).NOTSTARTED="notStarted",S.ONGOING="ongoing",S);let oz="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))",oV=function(){try{return JSON.parse(sessionStorage.getItem("openmrs:visitStoreState")||"null")}catch(e){return null}}()||{patientUuid:null,manuallySetVisitUuid:null};function oJ(){return R("visit",oV)}function oq(e,t){oJ().setState({patientUuid:e,manuallySetVisitUuid:t})}function oK(e,t){return tN(`${tx}/visit`,{signal:t.signal,method:"POST",headers:{"Content-type":"application/json"},body:e})}function oX(e,t,o){return tN(`${tx}/visit/${e}`,{signal:o.signal,method:"POST",headers:{"Content-type":"application/json"},body:t})}function oY(e,t,o){return tN(`${tx}/visit?patient=${e}&v=${o??oz}`,{signal:t.signal,method:"GET",headers:{"Content-type":"application/json"}})}oJ().subscribe(e=>{var t;t=e,sessionStorage.setItem("openmrs:visitStoreState",JSON.stringify(t))});var oZ=o(9225),oQ=o(6881),o0=o(6828),o1=o(1956),o2=o(3635),o6=o(7839),o5=o(2298);let o8={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)}},o3={...o8,Promise};function o4(e,t={}){return nn(e,t,ns)}async function o7(e,t={}){return nr(e,t,ns)}function o9(e,t={}){return nn(e,t,na)}function ne(e,t={}){return nr(e,t,na)}function nt(e,t={}){return nn(e,t,nl)}function no(e,t={}){return nr(e,t,nl)}function nn(e,t={},o){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let n=np(t,o8),r=nc("string"==typeof e?(0,oZ.A)(e):e,n);if(o(r))return r;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}}async function nr(e,t={},o){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))return Promise.reject(`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`);if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let n=np(t,o3);return Promise.resolve(nc("string"==typeof e?(0,oZ.A)(e):e,n)).then(t=>{if(o(t))return t;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}})}function ni(e){return(0,oZ.A)(e)}function ns(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||null==e||e instanceof Date}function na(e){return"boolean"==typeof e}function nl(e){return"number"==typeof e}function nc(e,t){switch(e.type){case"UnaryExpression":var o,n,r,i,s,a,l,c,u,d,m,p,f,g=e,h=t;let _=nc(g.argument,h);switch(g.operator){case"+":return+_;case"-":return-_;case"~":return~_;case"!":return!_;default:throw`Expression evaluator does not support operator '${g.operator}''`}case"BinaryExpression":var w=e,v=t;switch(w.operator){case"&&":return nc(w.left,v)&&nc(w.right,v);case"||":return nc(w.left,v)||nc(w.right,v);case"??":return nc(w.left,v)??nc(w.right,v)}let y=nc(w.left,v),b=nc(w.right,v);switch(w.operator){case"+":return y+b;case"-":return y-b;case"*":return y*b;case"/":return y/b;case"%":return y%b;case"**":return y**b;case"==":return y==b;case"===":return y===b;case"!=":return y!=b;case"!==":return y!==b;case">":return y>b;case">=":return y>=b;case"<":return y<b;case"<=":return y<=b;case"in":return y in b;default:throw`Expression evaluator does not support operator '${w.operator}' operator`}case"ConditionalExpression":return o=e,n=t,nc(o.test,n)?nc(o.consequent,n):nc(o.alternate,n);case"CallExpression":return nh(nd(e,t));case"ArrowFunctionExpression":let x;return r=e,i=t,x=r.params?.map(e=>{if("Identifier"===e.type)return e.name;throw`Cannot handle parameter of type ${e.type}`})??[],(function(...e){if(e.length<x.length)throw`Required argument(s) ${x.slice(e.length,-1).join(", ")} were not provided`;let t=Object.fromEntries(x.reduce((t,o,n)=>{let r=e[n];return function e(t){if("string"==typeof t||"number"==typeof t||"boolean"==typeof t||"function"==typeof t||null===t||t instanceof RegExp)return!0;if("object"==typeof t){for(let o of Object.keys(t))if(!e(t[o]))return!1;return!0}if(Array.isArray(t)){for(let o of t)if(!e(o))break}return!1}(r)&&t.push([o,r]),t},[]));return nc(r.body,i.addVariables(t))}).bind(null);case"MemberExpression":return nh(nm(e,t));case"ArrayExpression":return s=e,a=t,s.elements?.map(n_(a));case"SequenceExpression":let k;return l=e,c=t,(k=l.expressions.map(n_(c)))[k.length-1];case"NewExpression":var S=e,j=t;if(S.callee&&"Identifier"===S.callee.type){let e=S.arguments?.map(n_(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,(nw(u.name),d.variables&&Object.hasOwn(d.variables,u.name))?d.variables[u.name]:Object.hasOwn(d.globals,u.name)?d.globals[u.name]:void 0;case"TemplateLiteral":let N,C;return m=e,p=t,N=m.expressions?.map(n_(p))??[],(C=m.quasis?.map(n_(p))??[]).filter(e=>!e.tail).map(e=>e.value).join("")+N.join("")+C.filter(e=>e.tail).map(e=>e.value).join("");case"TemplateElement":return{value:(f=e).cooked,tail:f.tail};default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function nu(e,t){switch(e.type){case"Literal":return e.value;case"Identifier":return e.name;case"MemberExpression":return nu(e.property,t);default:throw`VisitExpressionName does not support expression of type '${e.type}'`}}function nd(e,t){let o=ng(e.callee,t);if(o===nf||e.optional&&null==o)return nf;let n=e.arguments?.map(n_(t));if(o){if("function"!=typeof o)throw`${nb(e.callee)} is not a function`}else throw`No function named ${nb(e.callee)} is defined in this context`;return o(...n)}function nm(e,t){let o=ng(e.object,t);if(o===nf||e.optional&&null==o)return nf;if(null===o)throw TypeError(`TypeError: cannot read properties of null (reading '${ny(e.property,t)}')`);if(void 0===o)switch(e.object.type){case"Identifier":{let o=nu(e.object,t);throw ReferenceError(`ReferenceError: ${o} is not defined`)}case"MemberExpression":throw TypeError(`TypeError: cannot read properties of undefined (reading '${ny(e.property,t)}')`);default:throw`VisitMemberExpression does not support operator '${e.object.type}' type`}if("object"!=typeof o&&"function"!=typeof o&&"string"!=typeof o&&"number"!=typeof o)throw`VisitMemberExpression does not support member access on type ${typeof o}`;let n=e.computed?function(e){if(void 0===e)throw{type:"Illegal property access",message:"No property was supplied to the property access"};if("string"!=typeof e&&"number"!=typeof e)throw{type:"Illegal property access",message:`Cannot use a value of type ${null===e?"null":typeof e} as a property name`};return e}(nc(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);nw(n),function(e,t){if(nv.has(String(t)))return;let o=Object(e);for(;null!==o;){if(Object.hasOwn(o,t)){if(o===Object.prototype||o===Function.prototype)throw{type:"Illegal property access",message:`Cannot access the ${t} property of objects`};return}o=Object.getPrototypeOf(o)}}(o,n);let r=o[n];return"function"==typeof r?r.bind(o):r}function np(e,t){let o={variables:{...e},globals:{...t},addVariables(e){return this.variables={...this.variables,...e},this}};return o.addVariables.bind(o),o}oZ.A.plugins.register(oQ.A),oZ.A.plugins.register(o0.A),oZ.A.plugins.register(o1.A),oZ.A.plugins.register(o2.A),oZ.A.plugins.register(o6.A),oZ.A.plugins.register(o5.A),oZ.A.addBinaryOp("in",7),oZ.A.addBinaryOp("??",1);let nf=Symbol("optional chain short-circuited");function ng(e,t){switch(e.type){case"MemberExpression":return nm(e,t);case"CallExpression":return nd(e,t);default:return nc(e,t)}}function nh(e){return e===nf?void 0:e}function n_(e){return function(t){return null===t?null:nc(t,e)}}function nw(e){if("__proto__"===e||"prototype"===e||"constructor"===e)throw{type:"Illegal property access",message:`Cannot access the ${e} property of objects`}}let nv=new Set(["toString","valueOf","hasOwnProperty"]);function ny(e,t){try{return nu(e,t)}catch{return"<computed>"}}function nb(e){return e?"MemberExpression"===e.type?e.property?.name:e.name:null}function nx(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:{...o3},isLocalExpression:!1,variables:new Set};return nk("string"==typeof e?(0,oZ.A)(e):e,t),[...t.variables]}function nk(e,t){switch(e.type){case"UnaryExpression":return n=e,r=t,nk(n.argument,r);case"BinaryExpression":return i=e,s=t,[nk(i.left,s),nk(i.right,s)].filter(Boolean);case"ConditionalExpression":return a=e,l=t,[nk(a.consequent,l),nk(a.test,l),nk(a.alternate,l)].filter(Boolean);case"CallExpression":let o;return c=e,u=t,o=nk(c.callee,u),c.arguments?.map(nS(u)),o;case"ArrowFunctionExpression":var n,r,i,s,a,l,c,u,d,m,p,f,g,h,_,w,v=e,y=t;let b={...y};b.isLocalExpression=!0;let x=v.params?.map(nS(b))??[],k=nk(v.body,b)??[];if(k&&Array.isArray(k))for(let e of k)x.includes(e)||y.variables.add(e);return;case"MemberExpression":var S=e,j=t;if(nk(S.object,j),S.computed)return void nk(S.property,j);let N={...j};N.isLocalExpression=!0,nk(S.property,N);return;case"ArrayExpression":return d=e,m=t,void d.elements?.map(nS(m));case"SequenceExpression":return p=e,f=t,void p.expressions?.map(nS(f));case"NewExpression":return g=e,h=t,void g.arguments?.map(nS(h));case"Literal":case"TemplateElement":return;case"Identifier":var C=e,E=t;if(!(C.name in E.globals))if(E.isLocalExpression)return C.name;else E.variables.add(C.name);return;case"TemplateLiteral":return _=e,w=t,void(_.expressions?.map(nS(w)),_.quasis?.map(nS(w)));default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function nS(e){return function(t){return null===t?null:nk(t,e)}}let nj=R("feature-flags",{flags:function(){let e={};for(let t of Object.keys(localStorage))if(t.startsWith("openmrs:feature-flag:")){let o=t.replace("openmrs:feature-flag:",""),n=JSON.parse(localStorage.getItem(`openmrs:feature-flag-meta:${o}`)||"{}");e[o]={enabled:"true"===localStorage.getItem(t),...n}}return e}()});function nN(e,t,o){nj.setState(n=>({flags:{...n.flags,[e]:{enabled:n.flags[e]?.enabled??!1,label:t,description:o}}}))}function nC(){let e=nj.getState().flags;Object.keys(localStorage).filter(e=>e.startsWith("openmrs:feature-flag:")).forEach(t=>{let o=t.replace("openmrs:feature-flag:","");e[o]||(localStorage.removeItem(t),localStorage.removeItem(`openmrs:feature-flag-meta:${o}`))})}function nE(e){return nj.getState().flags[e].enabled}function nI(e,t){nj.subscribe(o=>{t(o.flags[e].enabled)})}function nA(e,t){nj.setState(o=>({flags:{...o.flags,[e]:{...o.flags[e],enabled:t}}}))}nj.subscribe(e=>{for(let[t,o]of Object.entries(e.flags))localStorage.setItem(`openmrs:feature-flag:${t}`,o.enabled.toString()),localStorage.setItem(`openmrs:feature-flag-meta:${t}`,JSON.stringify({label:o.label,description:o.description}))});var nP=o(1216);let nO=O("extensionsInternal",{slots:{},extensions:{}}),n$=O("extensionRenderings",{renderings:new Map}),nR=()=>R("extensionsInternal",{slots:{},extensions:{}}),nT=()=>R("extensionRenderings",{renderings:new Map});function nM(e){let t=nO.getState(),o=e(t);o!==t&&nO.setState(o)}let nW=null,nL=null;function nD(){let e=n$.getState();return nW&&e===nL||(nW=new Map(e.renderings),nL=e,function(e){for(let t of(nK.clear(),e.values()))nY(t,1);nX=!0}(nW)),nW}function nB(e){nL={renderings:e},n$.setState(nL,!0)}function nU(e){let t=nD();t.has(e.renderingId)||(t.set(e.renderingId,e),nY(e,1),nB(t))}function nF(e){let t=nD(),o=t.get(e);o&&(t.delete(e),nY(o,-1),nB(t))}let nH=()=>R("extensions",{slots:{}}),nG=0,nz=new Set;function nV(e){nG++;try{return e()}finally{if(0==--nG&&nz.size>0){let e=Array.from(nz);for(let t of(nz.clear(),e))nJ(t)}}}function nJ(e){try{e()}catch(t){console.error(`The extension system's '${e.name}' recomputation failed`,t)}}function nq(e){nG>0?nz.add(e):nJ(e)}let nK=new Map,nX=!1;function nY(e,t){let o=JSON.stringify([e.slotName,e.extensionId,e.slotModuleName,e.extensionModuleName]),n=nK.get(o);if(!n){if(t<0)return;nK.set(o,{count:1,record:{slotModuleName:e.slotModuleName,extensionModuleName:e.extensionModuleName,slotName:e.slotName,extensionId:e.extensionId}}),nX=!0;return}n.count+=t,n.count<1&&(nK.delete(o),nX=!0)}function nZ(){var e,t;if(nD(),!nX)return;nX=!1;let o=Array.from(nK.values(),({record:e})=>e);o.sort(nQ),e=Q.getState().mountedExtensions,t=o,e.length===t.length&&e.every((e,o)=>0===nQ(e,t[o]))||Q.setState({mountedExtensions:o})}function nQ(e,t){return n0(e.slotName,t.slotName)||n0(e.extensionId,t.extensionId)||n0(e.slotModuleName,t.slotModuleName)||n0(e.extensionModuleName,t.extensionModuleName)}function n0(e,t){return e===t?0:e<t?-1:1}nZ(),n$.subscribe(()=>nq(nZ));let n1=nR(),n2=nH(),n6=et(),n5=er(),n8=new Set,n3=!1;function n4(e){if(null===e)n8=null;else if(null!==n8)for(let t of e)n8.add(t);nq(n7)}function n7(){if(!n3){n3=!0;try{for(let e=1;;e++){let t=n8;if(null!==t&&0===t.size)return;n8=new Set;try{!function(e,t,o,n,r,i=null){let s=n2.getState().slots,a={},l=!1,c=Object.entries(n.flags).filter(([,{enabled:e}])=>e).map(([e])=>e);for(let[n,u]of Object.entries(e.slots)){let d=s[n];if(d&&i&&!i.has(n)){a[n]=d;continue}let{config:m}=en(t,u.name),p=function(e,t,o,n,r,i){let s=function(e,t){let o=e.add||[],n=e.remove||[],r=e.order||[],{extensions:i}=n1.getState();return[...t,...o].filter(e=>!n.includes(e)).sort((e,o)=>rl(e,r,i[rt(e)]?.order,t)-rl(o,r,i[rt(o)]?.order,t))}(o,t.slots[e].attachedIds),a=[];for(let l of s){let{config:s}=es(n,e,l),c=ea(o,e,l),u=c?(0,nP.A)({},s,c):s,d=rt(l),m=t.extensions[d];if(m){let e=u?.["Display conditions"]?.privileges??m.privileges??[];if(e&&("string"==typeof e||Array.isArray(e)&&e.length>0)&&(!i?.user||!tW(e,i.user))||m.featureFlag&&!r.includes(m.featureFlag))continue;a.push({id:l,name:d,moduleName:m.moduleName,config:u,featureFlag:m.featureFlag,meta:m.meta,displayConditionExpression:u?.["Display conditions"]?.expression||m.displayExpression})}}return a}(n,e,m,o,c,r.session);d&&d.moduleName===u.moduleName&&(0,B.A)(d.candidateExtensions,p)?a[n]=d:(a[n]={moduleName:u.moduleName,candidateExtensions:p},l=!0)}(l||Object.keys(s).length!==Object.keys(a).length)&&n2.setState({slots:a})}(n1.getState(),n6.getState(),n5.getState(),nj.getState(),tE.getState(),t)}catch(e){throw n8=null===t||null===n8?null:new Set([...t,...n8]),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{n3=!1}}}function n9(e,t){let o=new Set;for(let n of Object.keys(e))e[n]!==t[n]&&o.add(n);for(let n of Object.keys(t))n in e||o.add(n);return o}function re(e,t){return{moduleName:t,name:e,attachedIds:[]}}function rt(e){let[t]=e.split("#");return t}function ro(e,t){let o=rt(t);return e.extensions[o]}function rn(e){return ro(n1.getState(),e)}n1.subscribe((e,t)=>{n4(e.extensions!==t.extensions?null:n9(e.slots,t.slots))}),n6.subscribe((e,t)=>{n4(n9(e.slots,t.slots))}),n5.subscribe((e,t)=>{n4(n9(e.configs,t.configs))}),nj.subscribe(()=>n4(null)),tE.subscribe(()=>n4(null)),n4(null);let rr=e=>nM(t=>({...t,extensions:{...t.extensions,[e.name]:{...e}}}));function ri(e,t){nM(o=>{let n=o.slots[e];return n?{...o,slots:{...o.slots,[e]:{...n,attachedIds:[...n.attachedIds,t]}}}:{...o,slots:{...o.slots,[e]:{...re(e),attachedIds:[t]}}}})}function rs(e,t){nM(o=>{let n=o.slots[e];return n&&n.attachedIds.includes(t)?{...o,slots:{...o.slots,[e]:{...n,attachedIds:n.attachedIds.filter(e=>e!==t)}}}:o})}function ra(e){nM(t=>{let o=t.slots[e];return o?{...t,slots:{...t.slots,[e]:{...o,attachedIds:[]}}}:t})}function rl(e,t,o,n){let r=t.indexOf(e);if(-1!==r)return r;{if(void 0!==o)return 1e3+o;let t=n.indexOf(e);return -1!==t?2e3+t:3e3}}function rc(e,t){return function(e,t,o=null,n){let r;return e.filter(e=>{let i=e.displayConditionExpression;if("string"!=typeof i||0===i.trim().length)return!0;r??(r=t&&"object"==typeof t?{session:o,...t}:{session:o});try{return!!o9(i,r)}catch(t){return console.error(`Error while evaluating expression '${i}' for ${e.id}`+(n?` in ${n}`:""),t),!1}})}(ru(e),t,tE.getState().session,e)}function ru(e){return n2.getState().slots[e]?.candidateExtensions??[]}let rd=(e,t)=>n1.setState(o=>{let n=o.slots[t]?.moduleName;if(n&&n!=e)return console.warn(`An extension slot with the name '${t}' already exists. Refusing to register the same slot name twice (in "registerExtensionSlot"). The existing one is from module ${n}.`),o;if(n&&n==e)return o;if(o.slots[t])return{...o,slots:{...o.slots,[t]:{...o.slots[t],moduleName:e}}};let r=re(t,e);return{...o,slots:{...o.slots,[t]:{...r}}}}),rm=()=>{n8=null,nM(()=>({slots:{},extensions:{}})),nT().setState({renderings:new Map}),n2.setState({slots:{}})},rp=O("left-nav",{slotName:null,basePath:window.spaBase,mode:"normal"});function rf({name:e,basePath:t,mode:o,componentContext:n,state:r}){rp.setState({slotName:e,basePath:t,mode:o??"normal",componentContext:n,state:r})}function rg(e){rp.getState().slotName===e&&rp.setState(rp.getInitialState(),!0)}let rh=O("modalRegistry",{modals:{}});function r_(e){rh.setState(t=>(t.modals[e.name]=e,t))}function rw(e){let t=rh.getState().modals[e];if(!t){let o=rn(e);o&&(t={name:e,load:o.load,moduleName:o.moduleName},console.warn(`Modal ${e} was registered as an extension. This is deprecated and will be removed in the future. Please register it in the "modals" section of routes.json instead of the "extensions" section.`),r_(t))}return t}let rv=O("workspaceRegistrations",{workspaces:{}}),ry=O("workspaceGroups",{workspaceGroups:{}});function rb(e){rv.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 rx(e){ry.setState(t=>{let o=t.workspaceGroups[e.name];return o?{workspaceGroups:{...t.workspaceGroups,[e.name]:{...o,members:Array.from(new Set([...o.members,...e.members]))}}}:{workspaceGroups:{...t.workspaceGroups,[e.name]:{name:e.name,members:e.members}}}})}let rk=new Set;function rS(e){let t=rv.getState().workspaces;if(t[e])return t[e];{let t=rn(e);if(t){var o;let n;return rk.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.`),rk.add(e)),{name:t.name,title:(o=t,"string"==typeof(n=o?.meta?.title)?n:n&&"object"==typeof n?tl(o.moduleName,n.key,n.default):o.name),moduleName:t.moduleName,preferredWindowSize:t.meta?.screenSize??"normal",load:t.load,type:t.meta?.type??"form",canHide:t.meta?.canHide??!1,canMaximize:t.meta?.canMaximize??!1,width:t.meta?.width??"narrow",groups:t.meta?.groups??[]}}throw Error(`No workspace named '${e}' has been registered.`)}}function rj(e){let t=ry.getState().workspaceGroups;if(t[e])return t[e];throw Error(`No workspace group named '${e}' has been registered.`)}let rN=O("workspace2",{registeredGroupsByName:{},registeredWindowsByName:{},registeredWorkspacesByName:{},openedGroup:null,openedWindows:[],workspaceTitleByWorkspaceName:{},isMostRecentlyOpenedWindowHidden:!1});function rC(e){let{registeredWorkspacesByName:t,registeredWindowsByName:o}=rN.getState(),n=t[e];if(n){let t=o[n.window];if(t)return t;throw Error(`No workspace window found with name: ${n.window} for workspace: ${e}`)}throw Error(`No workspace found with name: ${e}`)}function rE(e){let{registeredGroupsByName:t,registeredWindowsByName:o}=rN.getState(),n=o[e];if(n){let o=t[n.group];if(o)return o;throw Error(`No workspace group found with name: ${n.group} for window: ${e}`)}throw Error(`No workspace window found with name: ${e}`)}function rI(e){let{openedWindows:t}=rN.getState();return t.findIndex(t=>t.openedWorkspaces.find(t=>t.workspaceName===e))}function rA(e,t){if(0==t.length)return;let{registeredGroupsByName:o}=rN.getState(),n={...o};for(let o of t){if(n[o.name])throw Error(`Cannot register workspace group ${o.name} more than once`);n[o.name]={...o,moduleName:e}}rN.setState({registeredGroupsByName:n})}function rP(e,t){if(0==t.length)return;let{registeredWindowsByName:o}=rN.getState(),n={...o};for(let o of t){if(n[o.name])throw Error(`Cannot register workspace window ${o.name} more than once`);let t={...o,moduleName:e};n[o.name]=t}rN.setState({registeredWindowsByName:n})}function rO(e,t){if(0==t.length)return;let{registeredWorkspacesByName:o}=rN.getState(),n={...o};for(let o of t){if(n[o.name])throw Error(`Cannot register workspace ${o.name} more than once`);let t={...o,moduleName:e};n[o.name]=t}rN.setState({registeredWorkspacesByName:n})}let r$=0,rR=null,rT={bootstrap:15e3,mount:15e3,unmount:15e3};function rM(e,t){if(e.timeouts)return e;let o=e.name??"parcel",n=Object.fromEntries(Object.keys(rT).filter(t=>e[t]).map(n=>{var r,i;let s,a;return[n,(r=e[n],i=rT[n],s=Array.isArray(r)?r:[r],a=e=>s.reduce((t,r,i)=>t.then(()=>{let t=r(e);return"function"==typeof t?.then&&"function"==typeof t?.catch?t:Promise.reject(Error(`Lifecycle function ${n} at array index ${i} for parcel ${o} did not return a promise`))}),Promise.resolve(void 0)),e=>{let r,s=new Promise((e,t)=>{r=setTimeout(()=>t(Error(`Lifecycle function ${n} for parcel ${o} did not settle within ${i}ms`)),i)});return Promise.race([a(e),s]).finally(()=>clearTimeout(r)).then(e=>(t(n,!1),e),e=>{throw t(n,!0),e})})]}));return{...e,...n}}async function rW(e,t){var o,n;let r,i,s,a,l,c=await (rR??(rR=new Promise((e,t)=>{(0,tr.xL)({name:"openmrs-extension-host",bootstrap:()=>Promise.resolve(),mount:t=>(e(t.mountParcel),Promise.resolve()),unmount:()=>Promise.resolve()},{domElement:document.createElement("div")}).mountPromise.catch(t)}).catch(e=>(console.error("The host parcel used to mount extensions could not be mounted. Falling back to mounting extensions as root parcels, which leaks their DOM elements.",e),tr.xL))),rR),u={...t},d=(r=u,i=!1,{retarget:e=>r={...e},release:s=()=>(function(e){for(let t of Object.keys(e))delete e[t]})(r),onSettled(e,t){switch(e){case"bootstrap":t&&s();return;case"mount":i||(i=t);return;case"unmount":(t||i)&&s();return}}});return n=c((o=d.onSettled,"function"==typeof e?()=>e().then(e=>rM(e,o)):rM(e,o)),u),a=e=>t=>e.call(n,d.retarget(t)).catch(e=>{throw"SKIP_BECAUSE_BROKEN"===n.getStatus()&&d.release(),e}),l=n.update&&a(n.update),Object.defineProperty(n,"update",{configurable:!0,enumerable:!0,get:()=>l,set:e=>{l=e&&a(e)}})}function rL(){return rD}function rD(e,t){let o,n=rW(e,t).then(e=>o=e);return{mount:()=>n.then(e=>e.mount()),unmount:()=>n.then(e=>e.unmount()),update:e=>n.then(t=>t.update?.(e)),getStatus:()=>o?.getStatus()??"LOADING_SOURCE_CODE",get loadPromise(){return n.then(e=>e.loadPromise)},get bootstrapPromise(){return n.then(e=>e.bootstrapPromise)},get mountPromise(){return n.then(e=>e.mountPromise)},get unmountPromise(){return n.then(e=>e.unmountPromise)}}}async function rB(e,t,o,n,r=e=>e,i={}){let s=rt(n),a=rn(n),l=null;if(e){let c;if(!a)throw Error(`Couldn't find extension '${s}' to attach to '${t}'`);let{meta:u,moduleName:d,load:m}=a,p=r$++,f=`${t}/${n}-${p}`;e.dataset.extensionRenderingId=f;let g=e=>{try{nF(f)}catch(t){console.error(e,t)}};try{nU({renderingId:f,extensionName:s,extensionModuleName:d,extensionId:n,slotName:t,slotModuleName:o})}catch(e){throw g(`Recomputing configuration after registering '${n}' failed also failed`),e}try{c=await m()}catch(e){throw g(`Recomputing configuration after '${n}' failed to load also failed`),e}try{l=await rW(r({...c,name:`${t}/${s}-${p}`}),{...i,_meta:u,_extensionContext:{extensionId:n,extensionSlotName:t,extensionSlotModuleName:o,extensionModuleName:d,extensionMeta:u},domElement:e})}catch(e){throw g(`Recomputing configuration after '${n}' failed to mount also failed`),e}l.mountPromise.then(void 0,e=>{console.error(`Extension '${n}' in slot '${t}' failed to mount`,e),g(`Recomputing configuration after '${n}' failed to mount also failed`)}),l.unmountPromise.then(()=>g(`Recomputing configuration after unmounting '${n}' failed`),e=>{console.error(`Extension '${n}' in slot '${t}' failed to unmount`,e),g(`Recomputing configuration after '${n}' failed to unmount also failed`)})}else console.warn(`Tried to render ${n} into ${t} but no DOM element was available.`);return l}var rU=o(6925),rF=o.n(rU);let rH=(0,rU.createContext)({moduleName:"",featureName:""});function rG({to:e,templateParams:t,onBeforeNavigate:o,children:n,...r}){return(0,rU.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}`)},[]),rF().createElement("a",{onClick:n=>{0===n.button&&!n.ctrlKey&&!n.shiftKey&&!n.altKey&&!n.metaKey&&(n.preventDefault(),o?.(n),tm({to:e,templateParams:t})),0===n.button&&(n.ctrlKey||n.metaKey)&&o?.(n),0===n.button&&n.shiftKey&&o?.(n),1===n.button&&o?.(n)},href:tu(e,t),...r},n)}let rz=({state:e,children:t,...o})=>{let{extension:n}=(0,rU.useContext)(rH),r=(0,rU.useRef)(null),i=(0,rU.useRef)(Promise.resolve()),s=(0,rU.useRef)(!1),a=(0,rU.useRef)(!1),l=(0,rU.useRef)(e),c=(0,rU.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,rU.useCallback)((e,t)=>{e.update&&"UNMOUNTING"!==e.getStatus()&&(i.current=Promise.all([e.mountPromise,i.current]).then(()=>{if(r.current?.getStatus()==="MOUNTED"&&r.current.update)return r.current.update({...t})}).catch(e=>{let t=r.current?.getStatus();"UNMOUNTING"!==t&&"NOT_MOUNTED"!==t&&"UNLOADING"!==t&&console.error(`The extension '${n?.extensionId}' failed to update`,e)}))},[]),d=(0,rU.useCallback)(t=>{t&&!r.current&&!a.current&&n?.extensionSlotName&&n.extensionSlotModuleName&&(a.current=!0,rB(t,n.extensionSlotName,n.extensionSlotModuleName,n.extensionId,void 0,e).then(t=>{(a.current=!1,r.current=t,s.current)?c(t):t&&l.current!==e&&u(t,l.current)},()=>{a.current=!1}))},[]);return(0,rU.useEffect)(()=>(s.current=!1,()=>{s.current=!0,c(r.current)}),[]),(0,rU.useEffect)(()=>{l.current=e,r.current&&u(r.current,e)},[e]),n?rF().createElement("div",{ref:d,"data-extension-id":n?.extensionId,style:{position:"relative"},...o}):null};function rV(e){let t=(0,rU.useRef)(e);return b(t.current,e)||(t.current=e),t.current}function rJ(e,t){"function"==typeof t&&(t=t(e));let o={};for(let[n,r]of Object.entries(t)){let t=function(...t){e.setState(e=>r(e,...t))};o[n]=t}return o}let rq=e=>e;function rK(e,t=rq,o){let n=(0,rU.useCallback)(t=>e.subscribe(t),[e]),r=(0,rU.useCallback)(()=>t(e.getState()),[e,t]),i=(0,rU.useSyncExternalStore)(n,r,r),s=(0,rU.useMemo)(()=>o?rJ(e,o):null,[e,o]);return(0,rU.useMemo)(()=>s?{...i,...s}:i,[i,s])}function rX(e,t){return rK(e,rq,t)}function rY(e){return function(t){let o=(0,rU.useCallback)(t=>e.subscribe(t),[]),n=(0,rU.useCallback)(()=>e.getState(),[]),r=(0,rU.useSyncExternalStore)(o,n,n),i=(0,rU.useMemo)(()=>t?rJ(e,t):null,[t]);return(0,rU.useMemo)(()=>i?{...r,...i}:r,[r,i])}}let rZ=[];Object.freeze(rZ);let rQ={candidateExtensions:rZ};Object.freeze(rQ);let r0=e=>{let t=(0,rU.useCallback)(t=>t.slots?.[e]??rQ,[e]);return rK(nH(),t)},r1=e=>e.session;function r2(e,t){let{candidateExtensions:o}=r0(e),n=rK(tE,r1),r=rV(t);return(0,rU.useMemo)(()=>rc(e,r),[e,r,n,o])}function r6(e,t){let{moduleName:o}=(0,rU.useContext)(rH);if(!o)throw Error("ComponentContext has not been provided. This should come from @openmrs/esm-react-utils.");return(0,rU.useEffect)(()=>{rd(o,e)},[o,e]),{extensions:r2(e,t),extensionSlotName:e,extensionSlotModuleName:o}}function r5(e){return e}function r8({name:e,extensionSlotName:t,select:o=r5,children:n,state:r,style:i,...s}){if(n&&r)throw Error("Both children and state have been provided. If children are provided, the state must be passed as a prop to the `Extension` component.");let a=e??t,l=(0,rU.useRef)(null),{extensions:c,extensionSlotModuleName:u}=r6(a,r),d=(0,rU.useMemo)(()=>o(c),[o,c]),m=(0,rU.useMemo)(()=>{if("function"==typeof n&&!rF().isValidElement(n))return d.map(e=>n(e,r))},[n,d]);return rF().createElement("div",{ref:l,"data-extension-slot-name":a,"data-extension-slot-module-name":u,style:{...i,position:"relative"},...s},a&&d?.map((e,t)=>rF().createElement(rH.Provider,{key:e.id,value:{moduleName:u,featureName:"",extension:{extensionId:e.id,extensionSlotName:a,extensionSlotModuleName:u,extensionMeta:e.meta}}},m?.[t]??("function"!=typeof n?n:null)??rF().createElement(rz,{state:r}))))}var r3=o(3776),r4=o(9568),r7=o(9737),r9=o(2324),ie=o(242);let it={strictMode:!0,throwErrorsToConsole:!0,disableTranslations:!1},io=new Map;(0,ie.y)(io);let ir={errorRetryCount:3,fetcher:tN,focusThrottleInterval:18e5,revalidateIfStale:!0,revalidateOnFocus:!1,revalidateOnReconnect:!1,refreshInterval:0,shouldRetryOnError:e=>{if(e instanceof tC){let t=e.response.status;return!!(t>=500)||401===t||403===t||429===t}return!0},provider:()=>io};function ii(e){if("object"!=typeof e||"string"!=typeof e.featureName||"string"!=typeof e.moduleName)throw Error("Invalid options");let t=Object.assign({},it,e),o={...ir,...t.swrConfig};return function(e){var n,r,i,s,a;return i=r=class extends(n=rF().Component){componentDidCatch(e,o){o&&o.componentStack&&(e.extra=Object.assign(e.extra||{},{componentStack:o.componentStack})),t.throwErrorsToConsole&&setTimeout(()=>{throw e}),this.setState({caughtError:e,caughtErrorInfo:o})}render(){if(this.state.caughtError)return rF().createElement("div",null,"An error has occurred. Please try reloading the page.");{let n=rF().createElement(rU.Suspense,{fallback:null},rF().createElement(r9.S,{value:o},rF().createElement(rH.Provider,{value:this.state.config},t.disableTranslations?rF().createElement(e,this.props):rF().createElement(r7.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},rF().createElement(e,this.props)))));return t.strictMode&&rF().StrictMode?rF().createElement(rF().StrictMode,null,n):n}}constructor(e){super(e),this.state={caughtError:null,caughtErrorInfo:null,config:{moduleName:t.moduleName,featureName:t.featureName,extension:e._extensionContext}}}},s="displayName",a=`OpenmrsReactComponent(${t.featureName})`,s in i?Object.defineProperty(i,s,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[s]=a,r}}function is(e,t){return(0,r4.A)({React:rF(),ReactDOMClient:r3,rootComponent:ii(t)(e)})}function ia(e,t){return()=>e().then(({default:e})=>is(e,t))}function il(e,t){return()=>Promise.resolve(is(e,t))}let ic=ia,iu=(0,N.y)()(()=>({}));$("openmrs-app-context",iu);let id={};function im(e,t=e=>e){let o=iu.getState();return e in o?Object.freeze(Object.assign({},t?t(o[e]):o[e])):null}function ip(e,t){iu.setState(o=>(e in o||(o[e]={}),o[e]=t(o[e]),Object.assign({},o)))}function ig(e){return null===e?null:Object.freeze(Object.assign({},e))}let ih=new Map;function i_(e,t){let o=(0,rU.useRef)(t??{}),n=(0,rU.useRef)(t=>ip(e,t)),r=(0,rU.useRef)(Symbol());return(0,rU.useEffect)(()=>{let o=t??{},n=r.current;return null===im(e)?!function(e,t=id){iu.setState(o=>{if(e in o)throw Error(`Attempted to re-register namespace ${e} in the app context. Each namespace must be unregistered before the name can be registered again.`);return Object.assign({},o,{[e]:t===id?{}:t})})}(e,o):(console.warn(`Namespace ${e} is already registered in the app context. This is likely a race condition during navigation, but may indicate two components are trying to own the same namespace. Updating the existing context.`),ip(e,()=>o)),ih.set(e,n),()=>{ih.get(e)===n&&(iu.setState(t=>(e in t&&delete t[e],t)),ih.delete(e))}},[e]),(0,rU.useEffect)(()=>{let n=t??{};b(o.current,n)||(ip(e,()=>n),o.current=n)},[t]),n.current}function iw({namespace:e,value:t}){return i_(e,t),null}let iv=({children:e,value:t,fallback:o})=>t?rF().createElement(rF().Fragment,null,e):o?rF().createElement(rF().Fragment,null,o):null;function iy(){let e=(0,rU.useRef)();return(!e.current||e.current.signal.aborted)&&(e.current=new AbortController),(0,rU.useEffect)(()=>{let t=e.current;return()=>t?.abort()},[]),e.current}function ib(e,t=e=>e??{}){let[o,n]=(0,rU.useState)(()=>{if(ix(e))return;let o=im(e);if(null!==o)return t?t(o):o});return(0,rU.useEffect)(()=>{if(ix(e))throw Error(`The namespace supplied to useAppContext must be a non-empty string, but was "${e}".`)},[e]),(0,rU.useEffect)(()=>{var o;let r;return(o=e=>{if(null==e)return void n(void 0);let o=t?t(e):e;n(e=>b(e,o)?e:o)})(ig(r=im(e))),iu.subscribe(t=>{let n=e in t?t[e]:null;n!==r&&(r=n,o(ig(n)))})},[e,t]),o}function ix(e){return"string"!=typeof e||0===e.trim().length}function ik(e){let t=r2(e);return(0,rU.useMemo)(()=>t.map(e=>e.id),[t])}function iS(e){return r0(e).candidateExtensions}function ij(e,t,o){let{data:n,error:r,mutate:i,isLoading:s,isValidating:a}=(0,r9.u)(e?oO(e,t,o):null,tN);return(0,rU.useMemo)(()=>({isLoading:s,data:n?.data.results??[],error:r,mutate:i,isValidating:a}),[n,r,s,a,i])}function iN(e){(0,rU.useEffect)(()=>{if(e){let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}},[e])}let iC={},iE=`No ComponentContext has been provided. This should come from "openmrsComponentDecorator".
|
|
16
|
-
Usually this is already applied when using "getAsyncLifecycle" or "getSyncLifecycle".`;function iI(e){let{moduleName:t,extension:o}=(0,rU.useContext)(rH),n=e?.externalModuleName??t;if(!n&&!o)throw Error(iE);let r=function(e){let t=(0,rU.useMemo)(()=>ee(e),[e]),o=function(e){let[t,o]=(0,rU.useState)(()=>{let t=e.getState();return t.loaded&&t.config?t.config:null});return(0,rU.useEffect)(()=>e?.subscribe(e=>{e.loaded&&e.config&&o(e.config)}),[e]),t}(t);if(!o)throw iC[e]||(iC[e]=new Promise(e=>{let o=t.subscribe(t=>{t.loaded&&t.config&&(e(t.config),o())})})),iC[e];return o}(n),i=function(e){let t=(0,rU.useMemo)(er,[]),o=function(e,t){let[o,n]=(0,rU.useState)(t?()=>{let o=es(e.getState(),t.extensionSlotName,t.extensionId);if(o.loaded&&o.config)return o.config}:null);return(0,rU.useEffect)(()=>{if(t)return e.subscribe(e=>{let r=es(e,t.extensionSlotName,t.extensionId);r.loaded&&r.config&&!(0,B.A)(r.config,o)&&n(r.config)})},[e,t,o]),o}(t,e);if(!o&&e){let o=`${e.extensionSlotName}-${e.extensionId}`;throw!iC[o]&&t&&(iC[o]=new Promise(o=>{let n=t.subscribe(t=>{let r=es(t,e.extensionSlotName,e.extensionId);r.loaded&&r.config&&(o(r.config),n())})})),iC[o]}return o||{}}(o);return(0,rU.useMemo)(()=>e?.externalModuleName&&n===e.externalModuleName?{...r}:{...r,...i},[n,e?.externalModuleName,r,i])}let iA=r2;function iP(e,t=300){let[o,n]=(0,rU.useState)(e);return(0,rU.useEffect)(()=>{let o=setTimeout(()=>{n(e)},t);return()=>{clearTimeout(o)}},[e,t]),o}var iO=o(6269);let i$=`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 iR(){let e=`${tx}/emrapi/configuration?v=${i$}`,t=(0,iO.A)(e,tN);return(0,rU.useMemo)(()=>({emrConfiguration:t.data?.data,isLoadingEmrConfiguration:t.isLoading,mutateEmrConfiguration:t.mutate,errorFetchingEmrConfiguration:t.error}),[t])}function iT(){return(0,rU.useContext)(rH).extension}let iM=rY(nR());function iW(e){let t=r2(e);return(0,rU.useMemo)(()=>Object.fromEntries(t.map(e=>[e.name,e.meta])),[t])}let iL=rY(nH());function iD(e){let{flags:t}=rK(nj);return t[e]?.enabled??!1}function iB(){let[,e]=(0,rU.useState)(0);return(0,rU.useCallback)(()=>{e(e=>e+1)},[])}function iU(e,t,o={}){return iH(e,t,iF,o)}let iF={getPaginatedUrl:(e,t,o)=>{if(!e)return null;{let n=new URL(tj(e.toString()),window.location.toString());return n.searchParams.set("limit",""+t),n.searchParams.set("startIndex",""+o),n.searchParams.set("totalCount","true"),n.toString()}},getNextUrl:e=>{let t=e?.links?.find(e=>"next"==e.rel)?.uri;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.totalCount??NaN,getCurrentPageSize:e=>e?.results?.length??NaN,getData:e=>e?.results};function iH(e,t,o,n={}){let{getPaginatedUrl:r,getTotalCount:i,getCurrentPageSize:s,getData:a}=o,{immutable:l,swrConfig:c}=n,u=n.fetcher??tN,[d,m]=(0,rU.useState)(1),p=(0,rU.useRef)(NaN),f=(0,rU.useRef)(NaN),g=(0,rU.useRef)(d),h=(0,rU.useRef)(!1),_=(0,rU.useRef)(!1),w=e?.toString()??"",[v,y]=(0,rU.useState)(w);w!==v&&(y(w),m(1),g.current=1,p.current=NaN,f.current=NaN,h.current=!1,_.current=!1);let b=(d-1)*t,x=(0,rU.useMemo)(()=>r(e,t,b),[e,t,b]),{data:k,...S}=(l?iO.A:r9.u)(x,u,c);k?.data&&(p.current=i(k?.data),f.current=s(k?.data),h.current=!0);let j=Math.ceil(p.current/t),N=(0,rU.useCallback)(e=>{if(!Number.isInteger(e)||e<1)return void console.warn(`useServerPagination: ignoring goTo(${e}); page must be a positive integer.`);let o=Math.ceil(p.current/t);!h.current||Number.isNaN(o)||e<=o?(g.current=e,m(e)):console.warn("Invalid attempt to go to out of bounds page: "+e)},[t]);(0,rU.useEffect)(()=>{if(!h.current)return;if(Number.isNaN(p.current)){_.current||(_.current=!0,console.warn(`useServerPagination: ${w} returned no total count, so out-of-range pages cannot be detected.`));return}let e=Math.max(1,Math.ceil(p.current/t));d>e&&(console.warn(`Invalid attempt to go to out of bounds page: ${d}; returning to page ${e}.`),g.current=e,m(e))},[d,t,w,k]);let C=(0,rU.useCallback)(()=>{N(g.current+1)},[N]),E=(0,rU.useCallback)(()=>{N(g.current-1)},[N]);return{data:a(k?.data),totalPages:j,totalCount:p.current,currentPage:d,currentPageSize:f.current,paginated:j>1,showNextButton:d<j,showPreviousButton:d>1,goTo:N,goToNext:C,goToPrevious:E,...S}}function iG(e,t,o={}){return iH(e,t,iz(),o)}function iz(){return{getPaginatedUrl:(e,t,o)=>{if(!e)return null;{let n=new URL(tj(e.toString()),window.location.toString());return n.searchParams.set("_count",""+t),n.searchParams.set("_getpagesoffset",""+o),n.toString()}},getNextUrl:e=>{let t=e?.link?.find(e=>"next"==e.relation)?.url;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.total??NaN,getCurrentPageSize:e=>e?.entry?.length??NaN,getData:e=>e?.entry?.map(e=>e.resource)}}var iV=o(3709);function iJ(e,t={}){return iq(e,iF,t)}function iq(e,t,o={}){let{swrInfiniteConfig:n,immutable:r}=o,{getNextUrl:i,getTotalCount:s,getData:a}=t,l=o.fetcher??tN,c=(0,rU.useCallback)((o,n)=>0==o?e?.toString()??null:t.getNextUrl(n.data),[e]),{data:u,size:d,setSize:m,...p}=(0,iV.Ay)(c,l,{...n,...r?{revalidateIfStale:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1}:{}}),f=i(u?.[u.length-1].data),g=s(u?.[0]?.data);return{data:u?.flatMap(e=>a(e.data)),totalCount:g,hasMore:null!=f,loadMore:()=>{m((u?.length??0)+1)},nextUri:f,...p}}function iK(e,t={}){return iX(e,iF,t)}function iX(e,t,o={}){let n=iq(e,t,o),{hasMore:r,error:i,data:s,loadMore:a,isLoading:l,nextUri:c}=n;return((0,rU.useEffect)(()=>{r&&!i&&a()},[r,c]),o.partialData)?n:{...n,data:r||i?void 0:s,isLoading:l||r}}function iY(e,t={}){return iX(e,iz(),t)}function iZ(e,t={}){return iq(e,iz(),t)}function iQ(){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 i0(){let[e,t]=(0,rU.useState)(iQ);return(0,rU.useEffect)(()=>{let e=()=>{t(iQ())};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}let i1=e=>"small-desktop"===e||"large-desktop"===e;function i2(e){let t=(0,rU.useContext)(rH);(0,rU.useEffect)(()=>(t&&t.moduleName&&(e.componentContext=t),rf(e),()=>{rg(e.name)}),[t,e])}function i6(){return rK(rp)}let i5=[];function i8(e=null,t=null){let o=new URLSearchParams;e&&o.set("tag",e),t&&o.set("q",t);let n=o.toString(),{data:r}=iK(`${tx}/location${n?"?"+n:""}`,{immutable:!0});return r??i5}function i3(e,t=!0){let o=(0,rU.useRef)(null);return(0,rU.useEffect)(()=>{let n=n=>{t&&o.current&&n.target&&n.target instanceof Node&&(o.current.contains(n.target)||e(n))};return window.addEventListener("mousedown",n),window.addEventListener("touchstart",n),()=>{window.removeEventListener("mousedown",n),window.removeEventListener("touchstart",n)}},[e,t]),o}function i4(e){let t=(0,rU.useRef)();return(0,rU.useEffect)(()=>{let o=new IntersectionObserver(t=>{for(let o of t)if(o.isIntersecting)return void e()},{threshold:1});return t.current&&o.observe(t.current),()=>{t.current&&o.unobserve(t.current)}},[t.current,e]),t}function i7(e,t={}){let{abortController:o,fetchInit:n,url:r,swrConfig:i}=t,s=iy(),a=(0,rU.useMemo)(()=>n?.signal??o?.signal??s.signal,[o?.signal,n?.signal,s.signal]),l=(0,rU.useCallback)(e=>tN(function(e,t){if(t)return"function"==typeof t?t(e):t;if("string"==typeof e)return e;throw Error(`When using useOpenmrsSWR with a key that is not a string, you must provide a url() function that converts the key to a valid url. The key for this hook is ${e}.`)}(e,r),{...n,signal:a}),[a,n,r]);return(0,r9.u)(e,l,i)}function i9(e=[],t=10){let[o,n]=(0,rU.useState)(1),r=(0,rU.useMemo)(()=>"number"==typeof t&&t>0?Math.max(1,Math.ceil(e.length/t)):1,[e.length,t]);o>r&&n(r);let i=Math.min(Math.max(1,o),r),s=(0,rU.useMemo)(()=>{let o=(i-1)*t,n=(i+0)*t;return e.slice(o,n)},[e,i,t]),a=(0,rU.useCallback)(e=>{!Number.isInteger(e)||e<1?console.warn(`usePagination: ignoring goTo(${e}); page must be a positive integer.`):n(e)},[]),l=(0,rU.useCallback)(()=>{n(e=>e+1)},[]),c=(0,rU.useCallback)(()=>{n(e=>Math.max(1,e-1))},[]);return(0,rU.useMemo)(()=>({results:s,totalPages:r,currentPage:i,paginated:e.length>t,showNextButton:i<r,showPreviousButton:i>1,goTo:a,goToNext:l,goToPrevious:c}),[s,r,e.length,t,i,a,l,c])}function se(e,t,o,n){return{pageSizes:(0,rU.useMemo)(()=>{let o=Math.ceil(t/e);return isNaN(o)&&(o=0),[...Array(o).keys()].map(t=>(t+1)*e)},[e,t]),pageItemsCount:(0,rU.useMemo)(()=>e>t?t:e*o>t?e*(o-1)+n:e*o,[e,t,o,n])}}function st(){let e=/\/patient\/([a-zA-Z0-9\-]+)\/?/.exec(location.pathname);return e&&e[1]}function so(e){let[t,o]=(0,rU.useState)(e??st()),{data:n,error:r,isValidating:i}=(0,r9.u)(t?["patient",t]:null,()=>oT(t,{}));return(0,rU.useEffect)(()=>{let e=()=>{let e=st();e!==t&&o(e)};return window.addEventListener("single-spa:routing-event",e),()=>window.removeEventListener("single-spa:routing-event",e)},[t]),(0,rU.useMemo)(()=>({isLoading:i&&!r&&!n,patient:n,patientUuid:t,error:r}),[i,r,n,t])}function sn(){let e=`${tx}/metadatamapping/termmapping?v=custom:(metadataUuid)&code=emr.primaryIdentifierType`,{data:t,error:o,isLoading:n}=(0,r9.u)(e,tN);return(0,rU.useMemo)(()=>({primaryIdentifierCode:t?.data?.results[0]?.metadataUuid,isLoading:n,error:o}),[t,o,n])}function sr(e){let{extensions:t,extensionSlotModuleName:o}=r6(e);return e?t.map(t=>({state:n})=>rF().createElement(rH.Provider,{value:{moduleName:o,featureName:"",extension:{extensionId:t.id,extensionSlotName:e,extensionSlotModuleName:o,extensionMeta:t.meta}}},rF().createElement(rz,{state:n}))):[]}function si(){let e=(0,rU.useRef)(),[t,o]=(0,rU.useState)(null),n=null;if(!t){if(r){let e=t$().getState();e.loaded&&(n=e.session)}else r=new Promise(t=>{let o=({loaded:o,session:r})=>{o&&(t(r),n=r,e.current&&(e.current(),e.current=void 0))};o(t$().getState()),n||(e.current=t$().subscribe(o))});if(n)o(n);else throw r}(0,rU.useEffect)(()=>(e.current||(e.current=t$().subscribe(({loaded:e,session:t})=>{e&&(n=t,o(t))})),()=>{e.current&&(e.current(),e.current=void 0)}),[]);let i=t||n;if(!i)if(r)throw console.warn("useSession is in an unexpected state. Attempting to recover."),r;else throw Error("useSession is in an invalid state.");return i}let ss=({privilege:e,fallback:t,children:o})=>{let[n,r]=(0,rU.useState)(null);return((0,rU.useEffect)(()=>{let e=t$(),t=e.subscribe(({loaded:e,session:t})=>{r(e?t?.user??null:null)}),{loaded:o,session:n}=e.getState();return o&&r(n?.user??null),t},[]),n&&tW(e,n))?rF().createElement(rF().Fragment,null,o):t?rF().createElement(rF().Fragment,null,t):null};var sa=o(4343),sl=o.n(sa),sc=o(3355);let su=new Map;function sd(){for(let e of Array.from(su.values()))e()}let sm={setVisitContext:(e,t)=>null==t?{manuallySetVisitUuid:null}:{manuallySetVisitUuid:t.uuid,patientUuid:t.patient?.uuid}};function sp(e){let t=(0,rU.useId)();return(0,rU.useEffect)(()=>{if(e)return su.set(t,e),()=>{su.delete(t)}},[t,e]),{...rX(oJ(),sm),mutateVisit:sd}}function sf(e,t=oz){let o=(0,rU.useRef)(void 0),{patientUuid:n,manuallySetVisitUuid:r,setVisitContext:i}=sp((0,rU.useCallback)(()=>o.current?.(),[])),s=e&&n==e?r:null,a=`?patient=${e}&v=${t}&includeInactive=false`,l=`/${s}?v=${t}`,{data:c,error:u,mutate:d,isValidating:m}=(0,r9.u)(e?`${tx}/visit${a}`:null,tN),{data:p,error:f,mutate:g,isValidating:h}=(0,r9.u)(e&&s?`${tx}/visit${l}`:null,tN),_=(0,rU.useMemo)(()=>c?.data.results.find(e=>null===e.stopDatetime)??null,[c]),w=(0,rU.useMemo)(()=>s&&p?p.data:null,[p,s]),v=(0,rU.useRef)(null);(0,rU.useEffect)(()=>{!m&&_&&n===e&&null===r&&i(_),h||(v.current&&w&&v.current.uuid===w.uuid&&!v.current.stopDatetime&&w.stopDatetime&&i(null),v.current=w)},[w,r,_,m,h,n]);let y=(0,rU.useCallback)(()=>{d(),g()},[d,g]);(0,rU.useEffect)(()=>{o.current=y},[y]);let b=!!(!c||s&&!p),x=!!(s?f:u);return{error:u||f,mutate:y,isValidating:m||h,activeVisit:_,currentVisit:w,currentVisitIsRetrospective:!!s,isLoading:b&&!x}}sa.extend(sc);let sg=[];function sh(){let{data:e}=(0,iO.A)(oU,oF);return e??sg}let s_=new Map;async function sw(e,t){let o=t.indexOf("#"),n=o>=0,r=n?t.substring(0,o):e,i=n?t.substring(o+1):t,s=await oi(r);return s&&Object.hasOwn(s,i)&&"function"==typeof s[i]?sy(r,s).then(()=>s[i]()):(s?s&&Object.hasOwn(s,i)?console.warn(`The export ${t}, defined in ${e}'s routes.json, is not a function`):console.warn(`${r} does not define a component called "${i}", referenced in ${e}'s routes.json. This cannot be loaded.`):console.warn(`Unknown app ${r} for ${t} defined in ${e}'s routes.json`),sv)}let sv={bootstrap:()=>Promise.resolve(),mount:()=>Promise.resolve(),unmount:()=>Promise.resolve()};async function sy(e,t){if(e in s_)await s_[e];else{let o=t??await oi(e);await (s_[e]=new Promise((t,n)=>{if(Object.hasOwn(o,"startupApp")){let r=o.startupApp;if("function"==typeof r)return Promise.resolve(r()).then(()=>{eC(e),t(null)}).catch(n)}eC(e),t(null)}))}}function sb(e,t){let o=t.name;if(!o)return void console.error(`An extension definition in ${e} is missing an name and thus cannot be
|
|
15
|
+
${this.stack}`}}let tE=O("session",{loaded:!1,session:null}),tI=0,tP=null;function tA(){return tP||(tE.getState().loaded&&tI>=Date.now()-6e4?null:tT())}function tO(e){let t=e?.includeAuthStatus??!0,o=e=>t?e:e.user;return tA()?new Promise(e=>{let t=tE.subscribe(n=>{n.loaded&&(t(),e(o(n.session)))})}):Promise.resolve(o(tE.getState().session))}function t$(){return tA(),tE}function tR(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 tT(e,t){tI=Date.now();let o={};e&&t&&(o.Authorization=`Basic ${window.btoa(`${e}:${t}`)}`);let n=tF(tN(tS,{headers:o})),r=()=>{tP===n&&(tP=null)};return n.then(r,r),tP=n,n}function tM(){tE.setState({loaded:!0,session:{authenticated:!1,sessionId:""}})}function tW(e,t){var o,n;if(void 0===t)return!e;if(!e)return!0;return o=e,n=t,("string"==typeof o?!(0,W.A)(n.privileges.find(e=>o===e.display)):Array.isArray(o)?o.every(e=>!(0,W.A)(n.privileges.find(t=>e===t.display))):((0,W.A)(o)||console.error(`Could not understand privileges "${o}"`),!0))||!(0,W.A)(t.roles.find(e=>"System Developer"===e.display))}function tL(){let e,t;return new Promise(o=>{let n=n=>{n.loaded&&n.session.user&&(e=n.session.user,o(n.session.user),t&&t())};n(tE.getState()),e||(t=tE.subscribe(n))})}async function tD(){return(await tO()).sessionLocation}async function tB(e,t){return tF(tN(tS,{method:"POST",body:{sessionLocation:e},headers:{"Content-Type":"application/json"},signal:t.signal}))}async function tU(e,t,o){return o||(o=new AbortController),await tN(`${tx}/user/${e}`,{method:"POST",body:{userProperties:t},headers:{"Content-Type":"application/json"},signal:o.signal}),tT()}function tF(e){return new Promise((t,o)=>{e.then(e=>{let n;"object"==typeof e?.data?(n={loaded:!0,session:e.data},tE.setState(n),t(n)):(n={loaded:!1,session:null},tE.setState(n),o(n))}).catch(e=>{w(`Failed to fetch new session information: ${e}`);let t={loaded:!1,session:null};tE.setState(t),o(t)})})}function tH(){return"development"===window.spaEnv||"true"===localStorage.getItem("openmrs:devtools")}tE.subscribe(e=>{e.loaded&&e.session&&tR(e.session)});let tG={"webservices.rest":"2.24.0",fhir2:"1.0.0-SNAPSHOT"};function tz(){ej("@openmrs/esm-api",ty),tT()}let tV="import-map-override:",tJ="import-map-overrides-disabled",tq="import-map-overrides:change",tK=!1,tX=null,tY=null;async function tZ(){return tY??(tY=tQ().then(({map:e,complete:t})=>(t||(tY=null),e))),tY}async function tQ(){let e=document.querySelectorAll('script[type="systemjs-importmap"]'),t=[],o=!0;for(let n=0;n<e.length;n++){let r=e[n];try{if(r.src){let e=await fetch(r.src);if(!e.ok)throw Error(`Request for ${r.src} returned ${e.status} ${e.statusText}`);t.push(await e.json())}else r.textContent&&t.push(JSON.parse(r.textContent))}catch(e){o=!1,console.warn(`[import-maps] Failed to parse import map from script tag at index ${n}`,e)}}return{map:t0(t),complete:o}}function t0(e){let t={imports:{}};for(let o of e)o?.imports&&Object.assign(t.imports,o.imports);return t}function t1(){let e={};try{let t=t3();for(let o=0;o<localStorage.length;o++){let n=localStorage.key(o);if(n?.startsWith(tV)){let o=n.slice(tV.length);if(!t.includes(o)){let t=localStorage.getItem(n);t&&(e[o]=t)}}}}catch(e){console.warn("[import-maps] Failed to read import-map overrides from localStorage",e)}return{imports:e}}async function t2(){let e=await tZ();return tK?t0([e,tX??t1()]):e}async function t6(){return tZ()}async function t5(){return tK?t0([await tZ(),t1()]):tZ()}function t8(e){if(!tK)return{imports:{}};if(e){let e={};for(let t=0;t<localStorage.length;t++){let o=localStorage.key(t);if(o?.startsWith(tV)){let t=localStorage.getItem(o);t&&(e[o.slice(tV.length)]=t)}}return{imports:e}}return t1()}function t3(){if(!tK)return[];try{let e=localStorage.getItem(tJ);if(e){let t=JSON.parse(e);if(Array.isArray(t))return t}}catch{}return[]}function t4(e){return!!tK&&t3().includes(e)}function t7(e,t){if(!tK)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.setItem(tV+e,t),window.dispatchEvent(new CustomEvent(tq))}catch(e){console.warn("[import-maps] Failed to write import-map override to localStorage",e)}}function t9(e){if(!tK)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.removeItem(tV+e);let t=t3().filter(t=>t!==e);t.length>0?localStorage.setItem(tJ,JSON.stringify(t)):localStorage.removeItem(tJ),window.dispatchEvent(new CustomEvent(tq))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}function oe(){if(!tK)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let o=localStorage.key(t);o?.startsWith(tV)&&e.push(o)}e.forEach(e=>localStorage.removeItem(e)),localStorage.removeItem(tJ),window.dispatchEvent(new CustomEvent(tq))}catch(e){console.warn("[import-maps] Failed to clear import-map overrides from localStorage",e)}}function ot(e){if(!tK)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let t=t3().filter(t=>t!==e);t.length>0?localStorage.setItem(tJ,JSON.stringify(t)):localStorage.removeItem(tJ),window.dispatchEvent(new CustomEvent(tq))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}let oo=!1;function on(){!oo&&(oo=!0,(tK="development"===window.spaEnv)&&(tX=t1()))}function or(e){return e.replace(/[\/\-@]/g,"_")}async function oi(e,t="./start",n){var r;let i,s=!n?.maxLoadingTime||n.maxLoadingTime<=0?6e5:n.maxLoadingTime;await Promise.race([os(e,n?.importMap),new Promise((t,o)=>{i=setTimeout(()=>{var t;o(Error(`Could not resolve requested script, ${e}, within ${(t=s)<1e3?`${t} milliseconds`:t<6e4?`${Math.floor(t/1e3)} seconds`:t<36e5?`${Math.floor(t/6e4)} minutes`:t<864e5?`${Math.floor(t/36e5)} hours`:`${Math.floor(t/864e5)} days`}.`))},s)})]),i&&clearTimeout(i);let a=or(e),l=window[a];if(!("object"==typeof(r=l)&&null!==r&&"init"in r&&"function"==typeof r.init&&"get"in r&&"function"==typeof r.get)){let e=`The global variable ${a} does not refer to a federated module`;throw console.error(e),Error(e)}l.init(o.S.default);let c=(await l.get(t))();if("object"!=typeof c||null===c){let t=`Container for ${e} did not return an ESM module as expected`;throw console.error(t),Error(t)}return c}async function os(e,t){if("string"!=typeof e||0===e.trim().length){let e="Attempted to call importDynamic() without supplying a package to load";throw console.error(e),Error(e)}let o=or(e);if(!window[o]){let o=t??await oa();if(!o.imports.hasOwnProperty(e)){let t=`Could not find the package ${e} defined in the current importmap`;throw console.error(t),Error(t)}let n=o.imports[e];n.startsWith("./")&&(n=window.spaBase+n.substring(1));let r=e in t8().imports;try{return await function(e){var t;let o=(t=window)[ol]??(t[ol]=new Map),n=o.get(e);if(n)return n;if(document.head.querySelector(`script[src="${e}"]`))return console.warn(`Script at ${e} already loaded. Not loading it again.`),Promise.resolve();let r=document.createElement("script");r.src=e,r.type="text/javascript",r.async=!0;let i=new Promise((t,n)=>{let i=setTimeout(()=>{console.error(`The script at ${e} did not load within 5 seconds. This may indicate an issue with the imports in the script's entry-point file or with the script's bundler configuration.`)},5e3);function s(){clearTimeout(i),r.removeEventListener("load",a),r.removeEventListener("error",l)}function a(){s(),t()}function l(t){s(),o.delete(e),r.remove();let i=`Failed to load script from ${e}`;console.error(i,t),n(t.message??i)}r.addEventListener("load",a),r.addEventListener("error",l),document.head.appendChild(r)});return o.set(e,i),i}(n)}catch(e){return r&&m({kind:"error",title:tc("scriptLoadingFailed","Error: Script failed to load"),description:tc("scriptLoadingError","Failed to load overridden script from {{- url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",{url:n}),actionButtonLabel:tc("resetOverrides","Reset overrides"),onActionButtonClick(){oe(),window.location.reload()}}),Promise.reject(e)}}return Promise.resolve()}async function oa(){return t2()}let ol=Symbol.for("__openmrs_script_loading");function oc(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 ou(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&&oc(t))}let od="openmrs-routes:",om="openmrs-routes:change",op=!1,of=null,og=null;async function oh(){return og??(og=o_().then(({map:e,complete:t})=>(t||(og=null),e))),og}async function o_(){let e=document.querySelectorAll("script[type='openmrs-routes']"),t=[],o=!0;for(let n=0;n<e.length;n++){let r=e[n];try{let e;if(r.src){let t=await fetch(r.src);if(!t.ok)throw Error(`Request for ${r.src} returned ${t.status} ${t.statusText}`);e=await t.json()}else r.textContent&&(e=JSON.parse(r.textContent));e&&ou(e)&&t.push(e)}catch(e){o=!1,console.warn(`[route-maps] Failed to parse routes from script tag at index ${n}`,e)}}return{map:ow(t),complete:o}}function ow(e){let t={routes:{}};for(let o of e)o&&"object"==typeof o&&!Array.isArray(o)&&(Object.assign(t.routes,o.routes),void 0===t.version&&void 0!==o.version&&(t.version=o.version));return t}async function ov(){let e={version:void 0,routes:{}};try{let t=[];for(let e=0;e<localStorage.length;e++){let o=localStorage.key(e);if(o?.startsWith(od)){let e=localStorage.getItem(o);e&&t.push({moduleName:o.slice(od.length),raw:e})}}for(let o of(await Promise.allSettled(t.map(async({moduleName:e,raw:t})=>{let o=JSON.parse(t);if(oc(o))return{moduleName:e,routes:o};if("string"==typeof o&&o.startsWith("http")){let t=await fetch(o),n=await t.json();if(oc(n))return{moduleName:e,routes:n};throw Error(`${o} did not resolve to a valid OpenmrsAppRoutes object`)}throw Error(`Override for ${e} is neither a valid routes object nor a URL`)}))))"fulfilled"===o.status?e.routes[o.value.moduleName]=o.value.routes:console.warn("[route-maps] Failed to load route override",o.reason)}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}async function oy(){let e=await oh();return op?ow([e,of??await ov()]):e}async function ob(){return oh()}async function ox(){return op?ow([await oh(),await ov()]):oh()}function ok(){if(!op)return{};let e={};try{for(let t=0;t<localStorage.length;t++){let o=localStorage.key(t);if(o?.startsWith(od)){let t=localStorage.getItem(o);t&&(e[o.slice(od.length)]=t)}}}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}function oS(e,t){if(!op)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{if("string"==typeof t)if(t.startsWith("http"))localStorage.setItem(od+e,JSON.stringify(t));else{let o=JSON.parse(t);if(!oc(o))return void console.error(`The supplied routes for ${e} is not a valid OpenmrsAppRoutes object`,t);localStorage.setItem(od+e,JSON.stringify(o))}else if(t instanceof URL)localStorage.setItem(od+e,JSON.stringify(t.toString()));else{if(!oc(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(od+e,JSON.stringify(t))}window.dispatchEvent(new CustomEvent(om))}catch(e){console.warn("[route-maps] Failed to write route override to localStorage",e)}}function oj(e){if(!op)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{localStorage.removeItem(od+e),window.dispatchEvent(new CustomEvent(om))}catch(e){console.warn("[route-maps] Failed to remove route override from localStorage",e)}}function oN(){if(!op)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let o=localStorage.key(t);o?.startsWith(od)&&e.push(o)}e.forEach(e=>localStorage.removeItem(e)),window.dispatchEvent(new CustomEvent(om))}catch(e){console.warn("[route-maps] Failed to clear route overrides from localStorage",e)}}let oC=null;function oE(){return oC||(oC=(op="development"===window.spaEnv)?ov().then(e=>{of=e}):Promise.resolve())}let oI=`${tx}/attachment`;function oP(e,t){return tN(`${oI}/${e}`,{signal:t.signal})}function oA(e,t,o,n){return tN(oO(e,t,n),{signal:o.signal})}function oO(e,t,o){return o?`${oI}?patient=${e}&encounter=${o}`:`${oI}?patient=${e}&includeEncounterless=${t}`}async function o$(e,t,o){let n=new FormData;return n.append("fileCaption",t.fileDescription),n.append("patient",e),o&&n.append("encounter",o),t.file?n.append("file",t.file,t.fileName):(n.append("file",new File([""],t.fileName),t.fileName),n.append("base64Content",t.base64Content)),tN(`${oI}`,{method:"POST",body:n})}function oR(e,t){return tN(`${oI}/${e}`,{method:"DELETE",signal:t.signal})}async function oT(e,t){return e?(await tN(`${tk}/Patient/${e}`,t)).data:null}function oM(e,t){let o=new CustomEvent(`openmrs:${e}`,{detail:t??void 0,cancelable:!0,bubbles:!0});return window.dispatchEvent(o)}function oW(e,t){let o=e=>{t("detail"in e&&null!==e.detail?e.detail:void 0)};return window.addEventListener(`openmrs:${e}`,o),()=>{window.removeEventListener(`openmrs:${e}`,o)}}function oL(e){return{uuid:e.uuid,display:e.display}}function oD(e=null,t=null){let o=new URLSearchParams;e&&o.set("tag",e),t&&o.set("q",t);let n=o.toString();return tN(`${tx}/location${n?"?"+n:""}`).then(e=>e.data.results.map(oL))}function oB(e){return{uuid:e.uuid,display:e.display,name:e.name}}let oU=`${tx}/visittype`;function oF(e=oU){return tN(e).then(e=>e.data.results.map(oB))}var oH=((k={}).NEWVISIT="startVisit",k.EDITVISIT="editVisit",k.LOADING="loadingVisit",k),oG=((S={}).NOTSTARTED="notStarted",S.ONGOING="ongoing",S);let oz="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))",oV=function(){try{return JSON.parse(sessionStorage.getItem("openmrs:visitStoreState")||"null")}catch(e){return null}}()||{patientUuid:null,manuallySetVisitUuid:null};function oJ(){return R("visit",oV)}function oq(e,t){oJ().setState({patientUuid:e,manuallySetVisitUuid:t})}function oK(e,t){return tN(`${tx}/visit`,{signal:t.signal,method:"POST",headers:{"Content-type":"application/json"},body:e})}function oX(e,t,o){return tN(`${tx}/visit/${e}`,{signal:o.signal,method:"POST",headers:{"Content-type":"application/json"},body:t})}function oY(e,t,o){return tN(`${tx}/visit?patient=${e}&v=${o??oz}`,{signal:t.signal,method:"GET",headers:{"Content-type":"application/json"}})}oJ().subscribe(e=>{var t;t=e,sessionStorage.setItem("openmrs:visitStoreState",JSON.stringify(t))});var oZ=o(9225),oQ=o(6881),o0=o(6828),o1=o(1956),o2=o(3635),o6=o(7839),o5=o(2298);let o8={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)}},o3={...o8,Promise};function o4(e,t={}){return nn(e,t,ns)}async function o7(e,t={}){return nr(e,t,ns)}function o9(e,t={}){return nn(e,t,na)}function ne(e,t={}){return nr(e,t,na)}function nt(e,t={}){return nn(e,t,nl)}function no(e,t={}){return nr(e,t,nl)}function nn(e,t={},o){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let n=np(t,o8),r=nc("string"==typeof e?(0,oZ.A)(e):e,n);if(o(r))return r;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}}async function nr(e,t={},o){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))return Promise.reject(`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`);if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let n=np(t,o3);return Promise.resolve(nc("string"==typeof e?(0,oZ.A)(e):e,n)).then(t=>{if(o(t))return t;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}})}function ni(e){return(0,oZ.A)(e)}function ns(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||null==e||e instanceof Date}function na(e){return"boolean"==typeof e}function nl(e){return"number"==typeof e}function nc(e,t){switch(e.type){case"UnaryExpression":var o,n,r,i,s,a,l,c,u,d,m,p,f,g=e,h=t;let _=nc(g.argument,h);switch(g.operator){case"+":return+_;case"-":return-_;case"~":return~_;case"!":return!_;default:throw`Expression evaluator does not support operator '${g.operator}''`}case"BinaryExpression":var w=e,v=t;switch(w.operator){case"&&":return nc(w.left,v)&&nc(w.right,v);case"||":return nc(w.left,v)||nc(w.right,v);case"??":return nc(w.left,v)??nc(w.right,v)}let y=nc(w.left,v),b=nc(w.right,v);switch(w.operator){case"+":return y+b;case"-":return y-b;case"*":return y*b;case"/":return y/b;case"%":return y%b;case"**":return y**b;case"==":return y==b;case"===":return y===b;case"!=":return y!=b;case"!==":return y!==b;case">":return y>b;case">=":return y>=b;case"<":return y<b;case"<=":return y<=b;case"in":return y in b;default:throw`Expression evaluator does not support operator '${w.operator}' operator`}case"ConditionalExpression":return o=e,n=t,nc(o.test,n)?nc(o.consequent,n):nc(o.alternate,n);case"CallExpression":return nh(nd(e,t));case"ArrowFunctionExpression":let x;return r=e,i=t,x=r.params?.map(e=>{if("Identifier"===e.type)return e.name;throw`Cannot handle parameter of type ${e.type}`})??[],(function(...e){if(e.length<x.length)throw`Required argument(s) ${x.slice(e.length,-1).join(", ")} were not provided`;let t=Object.fromEntries(x.reduce((t,o,n)=>{let r=e[n];return function e(t){if("string"==typeof t||"number"==typeof t||"boolean"==typeof t||"function"==typeof t||null===t||t instanceof RegExp)return!0;if("object"==typeof t){for(let o of Object.keys(t))if(!e(t[o]))return!1;return!0}if(Array.isArray(t)){for(let o of t)if(!e(o))break}return!1}(r)&&t.push([o,r]),t},[]));return nc(r.body,i.addVariables(t))}).bind(null);case"MemberExpression":return nh(nm(e,t));case"ArrayExpression":return s=e,a=t,s.elements?.map(n_(a));case"SequenceExpression":let k;return l=e,c=t,(k=l.expressions.map(n_(c)))[k.length-1];case"NewExpression":var S=e,j=t;if(S.callee&&"Identifier"===S.callee.type){let e=S.arguments?.map(n_(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,(nw(u.name),d.variables&&Object.hasOwn(d.variables,u.name))?d.variables[u.name]:Object.hasOwn(d.globals,u.name)?d.globals[u.name]:void 0;case"TemplateLiteral":let N,C;return m=e,p=t,N=m.expressions?.map(n_(p))??[],(C=m.quasis?.map(n_(p))??[]).filter(e=>!e.tail).map(e=>e.value).join("")+N.join("")+C.filter(e=>e.tail).map(e=>e.value).join("");case"TemplateElement":return{value:(f=e).cooked,tail:f.tail};default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function nu(e,t){switch(e.type){case"Literal":return e.value;case"Identifier":return e.name;case"MemberExpression":return nu(e.property,t);default:throw`VisitExpressionName does not support expression of type '${e.type}'`}}function nd(e,t){let o=ng(e.callee,t);if(o===nf||e.optional&&null==o)return nf;let n=e.arguments?.map(n_(t));if(o){if("function"!=typeof o)throw`${nb(e.callee)} is not a function`}else throw`No function named ${nb(e.callee)} is defined in this context`;return o(...n)}function nm(e,t){let o=ng(e.object,t);if(o===nf||e.optional&&null==o)return nf;if(null===o)throw TypeError(`TypeError: cannot read properties of null (reading '${ny(e.property,t)}')`);if(void 0===o)switch(e.object.type){case"Identifier":{let o=nu(e.object,t);throw ReferenceError(`ReferenceError: ${o} is not defined`)}case"MemberExpression":throw TypeError(`TypeError: cannot read properties of undefined (reading '${ny(e.property,t)}')`);default:throw`VisitMemberExpression does not support operator '${e.object.type}' type`}if("object"!=typeof o&&"function"!=typeof o&&"string"!=typeof o&&"number"!=typeof o)throw`VisitMemberExpression does not support member access on type ${typeof o}`;let n=e.computed?function(e){if(void 0===e)throw{type:"Illegal property access",message:"No property was supplied to the property access"};if("string"!=typeof e&&"number"!=typeof e)throw{type:"Illegal property access",message:`Cannot use a value of type ${null===e?"null":typeof e} as a property name`};return e}(nc(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);nw(n),function(e,t){if(nv.has(String(t)))return;let o=Object(e);for(;null!==o;){if(Object.hasOwn(o,t)){if(o===Object.prototype||o===Function.prototype)throw{type:"Illegal property access",message:`Cannot access the ${t} property of objects`};return}o=Object.getPrototypeOf(o)}}(o,n);let r=o[n];return"function"==typeof r?r.bind(o):r}function np(e,t){let o={variables:{...e},globals:{...t},addVariables(e){return this.variables={...this.variables,...e},this}};return o.addVariables.bind(o),o}oZ.A.plugins.register(oQ.A),oZ.A.plugins.register(o0.A),oZ.A.plugins.register(o1.A),oZ.A.plugins.register(o2.A),oZ.A.plugins.register(o6.A),oZ.A.plugins.register(o5.A),oZ.A.addBinaryOp("in",7),oZ.A.addBinaryOp("??",1);let nf=Symbol("optional chain short-circuited");function ng(e,t){switch(e.type){case"MemberExpression":return nm(e,t);case"CallExpression":return nd(e,t);default:return nc(e,t)}}function nh(e){return e===nf?void 0:e}function n_(e){return function(t){return null===t?null:nc(t,e)}}function nw(e){if("__proto__"===e||"prototype"===e||"constructor"===e)throw{type:"Illegal property access",message:`Cannot access the ${e} property of objects`}}let nv=new Set(["toString","valueOf","hasOwnProperty"]);function ny(e,t){try{return nu(e,t)}catch{return"<computed>"}}function nb(e){return e?"MemberExpression"===e.type?e.property?.name:e.name:null}function nx(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:{...o3},isLocalExpression:!1,variables:new Set};return nk("string"==typeof e?(0,oZ.A)(e):e,t),[...t.variables]}function nk(e,t){switch(e.type){case"UnaryExpression":return n=e,r=t,nk(n.argument,r);case"BinaryExpression":return i=e,s=t,[nk(i.left,s),nk(i.right,s)].filter(Boolean);case"ConditionalExpression":return a=e,l=t,[nk(a.consequent,l),nk(a.test,l),nk(a.alternate,l)].filter(Boolean);case"CallExpression":let o;return c=e,u=t,o=nk(c.callee,u),c.arguments?.map(nS(u)),o;case"ArrowFunctionExpression":var n,r,i,s,a,l,c,u,d,m,p,f,g,h,_,w,v=e,y=t;let b={...y};b.isLocalExpression=!0;let x=v.params?.map(nS(b))??[],k=nk(v.body,b)??[];if(k&&Array.isArray(k))for(let e of k)x.includes(e)||y.variables.add(e);return;case"MemberExpression":var S=e,j=t;if(nk(S.object,j),S.computed)return void nk(S.property,j);let N={...j};N.isLocalExpression=!0,nk(S.property,N);return;case"ArrayExpression":return d=e,m=t,void d.elements?.map(nS(m));case"SequenceExpression":return p=e,f=t,void p.expressions?.map(nS(f));case"NewExpression":return g=e,h=t,void g.arguments?.map(nS(h));case"Literal":case"TemplateElement":return;case"Identifier":var C=e,E=t;if(!(C.name in E.globals))if(E.isLocalExpression)return C.name;else E.variables.add(C.name);return;case"TemplateLiteral":return _=e,w=t,void(_.expressions?.map(nS(w)),_.quasis?.map(nS(w)));default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function nS(e){return function(t){return null===t?null:nk(t,e)}}let nj=R("feature-flags",{flags:function(){let e={};for(let t of Object.keys(localStorage))if(t.startsWith("openmrs:feature-flag:")){let o=t.replace("openmrs:feature-flag:",""),n=JSON.parse(localStorage.getItem(`openmrs:feature-flag-meta:${o}`)||"{}");e[o]={enabled:"true"===localStorage.getItem(t),...n}}return e}()});function nN(e,t,o){nj.setState(n=>({flags:{...n.flags,[e]:{enabled:n.flags[e]?.enabled??!1,label:t,description:o}}}))}function nC(){let e=nj.getState().flags;Object.keys(localStorage).filter(e=>e.startsWith("openmrs:feature-flag:")).forEach(t=>{let o=t.replace("openmrs:feature-flag:","");e[o]||(localStorage.removeItem(t),localStorage.removeItem(`openmrs:feature-flag-meta:${o}`))})}function nE(e){return nj.getState().flags[e].enabled}function nI(e,t){nj.subscribe(o=>{t(o.flags[e].enabled)})}function nP(e,t){nj.setState(o=>({flags:{...o.flags,[e]:{...o.flags[e],enabled:t}}}))}nj.subscribe(e=>{for(let[t,o]of Object.entries(e.flags))localStorage.setItem(`openmrs:feature-flag:${t}`,o.enabled.toString()),localStorage.setItem(`openmrs:feature-flag-meta:${t}`,JSON.stringify({label:o.label,description:o.description}))});var nA=o(1216);let nO=O("extensionsInternal",{slots:{},extensions:{}}),n$=O("extensionRenderings",{renderings:new Map}),nR=()=>R("extensionsInternal",{slots:{},extensions:{}}),nT=()=>R("extensionRenderings",{renderings:new Map});function nM(e){let t=nO.getState(),o=e(t);o!==t&&nO.setState(o)}let nW=null,nL=null;function nD(){let e=n$.getState();return nW&&e===nL||(nW=new Map(e.renderings),nL=e,function(e){for(let t of(nK.clear(),e.values()))nY(t,1);nX=!0}(nW)),nW}function nB(e){nL={renderings:e},n$.setState(nL,!0)}function nU(e){let t=nD();t.has(e.renderingId)||(t.set(e.renderingId,e),nY(e,1),nB(t))}function nF(e){let t=nD(),o=t.get(e);o&&(t.delete(e),nY(o,-1),nB(t))}let nH=()=>R("extensions",{slots:{}}),nG=0,nz=new Set;function nV(e){nG++;try{return e()}finally{if(0==--nG&&nz.size>0){let e=Array.from(nz);for(let t of(nz.clear(),e))nJ(t)}}}function nJ(e){try{e()}catch(t){console.error(`The extension system's '${e.name}' recomputation failed`,t)}}function nq(e){nG>0?nz.add(e):nJ(e)}let nK=new Map,nX=!1;function nY(e,t){let o=JSON.stringify([e.slotName,e.extensionId,e.slotModuleName,e.extensionModuleName]),n=nK.get(o);if(!n){if(t<0)return;nK.set(o,{count:1,record:{slotModuleName:e.slotModuleName,extensionModuleName:e.extensionModuleName,slotName:e.slotName,extensionId:e.extensionId}}),nX=!0;return}n.count+=t,n.count<1&&(nK.delete(o),nX=!0)}function nZ(){var e,t;if(nD(),!nX)return;nX=!1;let o=Array.from(nK.values(),({record:e})=>e);o.sort(nQ),e=Q.getState().mountedExtensions,t=o,e.length===t.length&&e.every((e,o)=>0===nQ(e,t[o]))||Q.setState({mountedExtensions:o})}function nQ(e,t){return n0(e.slotName,t.slotName)||n0(e.extensionId,t.extensionId)||n0(e.slotModuleName,t.slotModuleName)||n0(e.extensionModuleName,t.extensionModuleName)}function n0(e,t){return e===t?0:e<t?-1:1}nZ(),n$.subscribe(()=>nq(nZ));let n1=nR(),n2=nH(),n6=et(),n5=er(),n8=new Set,n3=!1;function n4(e){if(null===e)n8=null;else if(null!==n8)for(let t of e)n8.add(t);nq(n7)}function n7(){if(!n3){n3=!0;try{for(let e=1;;e++){let t=n8;if(null!==t&&0===t.size)return;n8=new Set;try{!function(e,t,o,n,r,i=null){let s=n2.getState().slots,a={},l=!1,c=Object.entries(n.flags).filter(([,{enabled:e}])=>e).map(([e])=>e);for(let[n,u]of Object.entries(e.slots)){let d=s[n];if(d&&i&&!i.has(n)){a[n]=d;continue}let{config:m}=en(t,u.name),p=function(e,t,o,n,r,i){let s=function(e,t){let o=e.add||[],n=e.remove||[],r=e.order||[],{extensions:i}=n1.getState();return[...t,...o].filter(e=>!n.includes(e)).sort((e,o)=>rl(e,r,i[rt(e)]?.order,t)-rl(o,r,i[rt(o)]?.order,t))}(o,t.slots[e].attachedIds),a=[];for(let l of s){let{config:s}=es(n,e,l),c=ea(o,e,l),u=c?(0,nA.A)({},s,c):s,d=rt(l),m=t.extensions[d];if(m){let e=u?.["Display conditions"]?.privileges??m.privileges??[];if(e&&("string"==typeof e||Array.isArray(e)&&e.length>0)&&(!i?.user||!tW(e,i.user))||m.featureFlag&&!r.includes(m.featureFlag))continue;a.push({id:l,name:d,moduleName:m.moduleName,config:u,featureFlag:m.featureFlag,meta:m.meta,displayConditionExpression:u?.["Display conditions"]?.expression||m.displayExpression})}}return a}(n,e,m,o,c,r.session);d&&d.moduleName===u.moduleName&&(0,B.A)(d.candidateExtensions,p)?a[n]=d:(a[n]={moduleName:u.moduleName,candidateExtensions:p},l=!0)}(l||Object.keys(s).length!==Object.keys(a).length)&&n2.setState({slots:a})}(n1.getState(),n6.getState(),n5.getState(),nj.getState(),tE.getState(),t)}catch(e){throw n8=null===t||null===n8?null:new Set([...t,...n8]),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{n3=!1}}}function n9(e,t){let o=new Set;for(let n of Object.keys(e))e[n]!==t[n]&&o.add(n);for(let n of Object.keys(t))n in e||o.add(n);return o}function re(e,t){return{moduleName:t,name:e,attachedIds:[]}}function rt(e){let[t]=e.split("#");return t}function ro(e,t){let o=rt(t);return e.extensions[o]}function rn(e){return ro(n1.getState(),e)}n1.subscribe((e,t)=>{n4(e.extensions!==t.extensions?null:n9(e.slots,t.slots))}),n6.subscribe((e,t)=>{n4(n9(e.slots,t.slots))}),n5.subscribe((e,t)=>{n4(n9(e.configs,t.configs))}),nj.subscribe(()=>n4(null)),tE.subscribe(()=>n4(null)),n4(null);let rr=e=>nM(t=>({...t,extensions:{...t.extensions,[e.name]:{...e}}}));function ri(e,t){nM(o=>{let n=o.slots[e];return n?{...o,slots:{...o.slots,[e]:{...n,attachedIds:[...n.attachedIds,t]}}}:{...o,slots:{...o.slots,[e]:{...re(e),attachedIds:[t]}}}})}function rs(e,t){nM(o=>{let n=o.slots[e];return n&&n.attachedIds.includes(t)?{...o,slots:{...o.slots,[e]:{...n,attachedIds:n.attachedIds.filter(e=>e!==t)}}}:o})}function ra(e){nM(t=>{let o=t.slots[e];return o?{...t,slots:{...t.slots,[e]:{...o,attachedIds:[]}}}:t})}function rl(e,t,o,n){let r=t.indexOf(e);if(-1!==r)return r;{if(void 0!==o)return 1e3+o;let t=n.indexOf(e);return -1!==t?2e3+t:3e3}}function rc(e,t){return function(e,t,o=null,n){let r;return e.filter(e=>{let i=e.displayConditionExpression;if("string"!=typeof i||0===i.trim().length)return!0;r??(r=t&&"object"==typeof t?{session:o,...t}:{session:o});try{return!!o9(i,r)}catch(t){return console.error(`Error while evaluating expression '${i}' for ${e.id}`+(n?` in ${n}`:""),t),!1}})}(ru(e),t,tE.getState().session,e)}function ru(e){return n2.getState().slots[e]?.candidateExtensions??[]}let rd=(e,t)=>n1.setState(o=>{let n=o.slots[t]?.moduleName;if(n&&n!=e)return console.warn(`An extension slot with the name '${t}' already exists. Refusing to register the same slot name twice (in "registerExtensionSlot"). The existing one is from module ${n}.`),o;if(n&&n==e)return o;if(o.slots[t])return{...o,slots:{...o.slots,[t]:{...o.slots[t],moduleName:e}}};let r=re(t,e);return{...o,slots:{...o.slots,[t]:{...r}}}}),rm=()=>{n8=null,nM(()=>({slots:{},extensions:{}})),nT().setState({renderings:new Map}),n2.setState({slots:{}})},rp=O("left-nav",{slotName:null,basePath:window.spaBase,mode:"normal"});function rf({name:e,basePath:t,mode:o,componentContext:n,state:r}){rp.setState({slotName:e,basePath:t,mode:o??"normal",componentContext:n,state:r})}function rg(e){rp.getState().slotName===e&&rp.setState(rp.getInitialState(),!0)}let rh=O("modalRegistry",{modals:{}});function r_(e){rh.setState(t=>(t.modals[e.name]=e,t))}function rw(e){let t=rh.getState().modals[e];if(!t){let o=rn(e);o&&(t={name:e,load:o.load,moduleName:o.moduleName},console.warn(`Modal ${e} was registered as an extension. This is deprecated and will be removed in the future. Please register it in the "modals" section of routes.json instead of the "extensions" section.`),r_(t))}return t}let rv=O("workspaceRegistrations",{workspaces:{}}),ry=O("workspaceGroups",{workspaceGroups:{}});function rb(e){rv.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 rx(e){ry.setState(t=>{let o=t.workspaceGroups[e.name];return o?{workspaceGroups:{...t.workspaceGroups,[e.name]:{...o,members:Array.from(new Set([...o.members,...e.members]))}}}:{workspaceGroups:{...t.workspaceGroups,[e.name]:{name:e.name,members:e.members}}}})}let rk=new Set;function rS(e){let t=rv.getState().workspaces;if(t[e])return t[e];{let t=rn(e);if(t){var o;let n;return rk.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.`),rk.add(e)),{name:t.name,title:(o=t,"string"==typeof(n=o?.meta?.title)?n:n&&"object"==typeof n?tl(o.moduleName,n.key,n.default):o.name),moduleName:t.moduleName,preferredWindowSize:t.meta?.screenSize??"normal",load:t.load,type:t.meta?.type??"form",canHide:t.meta?.canHide??!1,canMaximize:t.meta?.canMaximize??!1,width:t.meta?.width??"narrow",groups:t.meta?.groups??[]}}throw Error(`No workspace named '${e}' has been registered.`)}}function rj(e){let t=ry.getState().workspaceGroups;if(t[e])return t[e];throw Error(`No workspace group named '${e}' has been registered.`)}let rN=O("workspace2",{registeredGroupsByName:{},registeredWindowsByName:{},registeredWorkspacesByName:{},openedGroup:null,openedWindows:[],workspaceTitleByWorkspaceName:{},isMostRecentlyOpenedWindowHidden:!1});function rC(e){let{registeredWorkspacesByName:t,registeredWindowsByName:o}=rN.getState(),n=t[e];if(n){let t=o[n.window];if(t)return t;throw Error(`No workspace window found with name: ${n.window} for workspace: ${e}`)}throw Error(`No workspace found with name: ${e}`)}function rE(e){let{registeredGroupsByName:t,registeredWindowsByName:o}=rN.getState(),n=o[e];if(n){let o=t[n.group];if(o)return o;throw Error(`No workspace group found with name: ${n.group} for window: ${e}`)}throw Error(`No workspace window found with name: ${e}`)}function rI(e){let{openedWindows:t}=rN.getState();return t.findIndex(t=>t.openedWorkspaces.find(t=>t.workspaceName===e))}function rP(e,t){if(0==t.length)return;let{registeredGroupsByName:o}=rN.getState(),n={...o};for(let o of t){if(n[o.name])throw Error(`Cannot register workspace group ${o.name} more than once`);n[o.name]={...o,moduleName:e}}rN.setState({registeredGroupsByName:n})}function rA(e,t){if(0==t.length)return;let{registeredWindowsByName:o}=rN.getState(),n={...o};for(let o of t){if(n[o.name])throw Error(`Cannot register workspace window ${o.name} more than once`);let t={...o,moduleName:e};n[o.name]=t}rN.setState({registeredWindowsByName:n})}function rO(e,t){if(0==t.length)return;let{registeredWorkspacesByName:o}=rN.getState(),n={...o};for(let o of t){if(n[o.name])throw Error(`Cannot register workspace ${o.name} more than once`);let t={...o,moduleName:e};n[o.name]=t}rN.setState({registeredWorkspacesByName:n})}let r$=0,rR=null,rT={bootstrap:15e3,mount:15e3,unmount:15e3};function rM(e,t){if(e.timeouts)return e;let o=e.name??"parcel",n=Object.fromEntries(Object.keys(rT).filter(t=>e[t]).map(n=>{var r,i;let s,a;return[n,(r=e[n],i=rT[n],s=Array.isArray(r)?r:[r],a=e=>s.reduce((t,r,i)=>t.then(()=>{let t=r(e);return"function"==typeof t?.then&&"function"==typeof t?.catch?t:Promise.reject(Error(`Lifecycle function ${n} at array index ${i} for parcel ${o} did not return a promise`))}),Promise.resolve(void 0)),e=>{let r,s=new Promise((e,t)=>{r=setTimeout(()=>t(Error(`Lifecycle function ${n} for parcel ${o} did not settle within ${i}ms`)),i)});return Promise.race([a(e),s]).finally(()=>clearTimeout(r)).then(e=>(t(n,!1),e),e=>{throw t(n,!0),e})})]}));return{...e,...n}}async function rW(e,t){var o,n;let r,i,s,a,l,c=await (rR??(rR=new Promise((e,t)=>{(0,tr.xL)({name:"openmrs-extension-host",bootstrap:()=>Promise.resolve(),mount:t=>(e(t.mountParcel),Promise.resolve()),unmount:()=>Promise.resolve()},{domElement:document.createElement("div")}).mountPromise.catch(t)}).catch(e=>(console.error("The host parcel used to mount extensions could not be mounted. Falling back to mounting extensions as root parcels, which leaks their DOM elements.",e),tr.xL))),rR),u={...t},d=(r=u,i=!1,{retarget:e=>r={...e},release:s=()=>(function(e){for(let t of Object.keys(e))delete e[t]})(r),onSettled(e,t){switch(e){case"bootstrap":t&&s();return;case"mount":i||(i=t);return;case"unmount":(t||i)&&s();return}}});return n=c((o=d.onSettled,"function"==typeof e?()=>e().then(e=>rM(e,o)):rM(e,o)),u),a=e=>t=>e.call(n,d.retarget(t)).catch(e=>{throw"SKIP_BECAUSE_BROKEN"===n.getStatus()&&d.release(),e}),l=n.update&&a(n.update),Object.defineProperty(n,"update",{configurable:!0,enumerable:!0,get:()=>l,set:e=>{l=e&&a(e)}})}function rL(){return rD}function rD(e,t){let o,n=rW(e,t).then(e=>o=e);return{mount:()=>n.then(e=>e.mount()),unmount:()=>n.then(e=>e.unmount()),update:e=>n.then(t=>t.update?.(e)),getStatus:()=>o?.getStatus()??"LOADING_SOURCE_CODE",get loadPromise(){return n.then(e=>e.loadPromise)},get bootstrapPromise(){return n.then(e=>e.bootstrapPromise)},get mountPromise(){return n.then(e=>e.mountPromise)},get unmountPromise(){return n.then(e=>e.unmountPromise)}}}async function rB(e,t,o,n,r=e=>e,i={}){let s=rt(n),a=rn(n),l=null;if(e){let c;if(!a)throw Error(`Couldn't find extension '${s}' to attach to '${t}'`);let{meta:u,moduleName:d,load:m}=a,p=r$++,f=`${t}/${n}-${p}`;e.dataset.extensionRenderingId=f;let g=e=>{try{nF(f)}catch(t){console.error(e,t)}};try{nU({renderingId:f,extensionName:s,extensionModuleName:d,extensionId:n,slotName:t,slotModuleName:o})}catch(e){throw g(`Recomputing configuration after registering '${n}' failed also failed`),e}try{c=await m()}catch(e){throw g(`Recomputing configuration after '${n}' failed to load also failed`),e}try{l=await rW(r({...c,name:`${t}/${s}-${p}`}),{...i,_meta:u,_extensionContext:{extensionId:n,extensionSlotName:t,extensionSlotModuleName:o,extensionModuleName:d,extensionMeta:u},domElement:e})}catch(e){throw g(`Recomputing configuration after '${n}' failed to mount also failed`),e}l.mountPromise.then(void 0,e=>{console.error(`Extension '${n}' in slot '${t}' failed to mount`,e),g(`Recomputing configuration after '${n}' failed to mount also failed`)}),l.unmountPromise.then(()=>g(`Recomputing configuration after unmounting '${n}' failed`),e=>{console.error(`Extension '${n}' in slot '${t}' failed to unmount`,e),g(`Recomputing configuration after '${n}' failed to unmount also failed`)})}else console.warn(`Tried to render ${n} into ${t} but no DOM element was available.`);return l}var rU=o(6925),rF=o.n(rU);let rH=(0,rU.createContext)({moduleName:"",featureName:""});function rG({to:e,templateParams:t,onBeforeNavigate:o,children:n,...r}){return(0,rU.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}`)},[]),rF().createElement("a",{onClick:n=>{0===n.button&&!n.ctrlKey&&!n.shiftKey&&!n.altKey&&!n.metaKey&&(n.preventDefault(),o?.(n),tm({to:e,templateParams:t})),0===n.button&&(n.ctrlKey||n.metaKey)&&o?.(n),0===n.button&&n.shiftKey&&o?.(n),1===n.button&&o?.(n)},href:tu(e,t),...r},n)}let rz=({state:e,children:t,...o})=>{let{extension:n}=(0,rU.useContext)(rH),r=(0,rU.useRef)(null),i=(0,rU.useRef)(Promise.resolve()),s=(0,rU.useRef)(!1),a=(0,rU.useRef)(!1),l=(0,rU.useRef)(e),c=(0,rU.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,rU.useCallback)((e,t)=>{e.update&&"UNMOUNTING"!==e.getStatus()&&(i.current=Promise.all([e.mountPromise,i.current]).then(()=>{if(r.current?.getStatus()==="MOUNTED"&&r.current.update)return r.current.update({...t})}).catch(e=>{let t=r.current?.getStatus();"UNMOUNTING"!==t&&"NOT_MOUNTED"!==t&&"UNLOADING"!==t&&console.error(`The extension '${n?.extensionId}' failed to update`,e)}))},[]),d=(0,rU.useCallback)(t=>{t&&!r.current&&!a.current&&n?.extensionSlotName&&n.extensionSlotModuleName&&(a.current=!0,rB(t,n.extensionSlotName,n.extensionSlotModuleName,n.extensionId,void 0,e).then(t=>{(a.current=!1,r.current=t,s.current)?c(t):t&&l.current!==e&&u(t,l.current)},()=>{a.current=!1}))},[]);return(0,rU.useEffect)(()=>(s.current=!1,()=>{s.current=!0,c(r.current)}),[]),(0,rU.useEffect)(()=>{l.current=e,r.current&&u(r.current,e)},[e]),n?rF().createElement("div",{ref:d,"data-extension-id":n?.extensionId,style:{position:"relative"},...o}):null};function rV(e){let t=(0,rU.useRef)(e);return b(t.current,e)||(t.current=e),t.current}function rJ(e,t){"function"==typeof t&&(t=t(e));let o={};for(let[n,r]of Object.entries(t)){let t=function(...t){e.setState(e=>r(e,...t))};o[n]=t}return o}let rq=e=>e;function rK(e,t=rq,o){let n=(0,rU.useCallback)(t=>e.subscribe(t),[e]),r=(0,rU.useCallback)(()=>t(e.getState()),[e,t]),i=(0,rU.useSyncExternalStore)(n,r,r),s=(0,rU.useMemo)(()=>o?rJ(e,o):null,[e,o]);return(0,rU.useMemo)(()=>s?{...i,...s}:i,[i,s])}function rX(e,t){return rK(e,rq,t)}function rY(e){return function(t){let o=(0,rU.useCallback)(t=>e.subscribe(t),[]),n=(0,rU.useCallback)(()=>e.getState(),[]),r=(0,rU.useSyncExternalStore)(o,n,n),i=(0,rU.useMemo)(()=>t?rJ(e,t):null,[t]);return(0,rU.useMemo)(()=>i?{...r,...i}:r,[r,i])}}let rZ=[];Object.freeze(rZ);let rQ={candidateExtensions:rZ};Object.freeze(rQ);let r0=e=>{let t=(0,rU.useCallback)(t=>t.slots?.[e]??rQ,[e]);return rK(nH(),t)},r1=e=>e.session;function r2(e,t){let{candidateExtensions:o}=r0(e),n=rK(tE,r1),r=rV(t);return(0,rU.useMemo)(()=>rc(e,r),[e,r,n,o])}function r6(e,t){let{moduleName:o}=(0,rU.useContext)(rH);if(!o)throw Error("ComponentContext has not been provided. This should come from @openmrs/esm-react-utils.");return(0,rU.useEffect)(()=>{rd(o,e)},[o,e]),{extensions:r2(e,t),extensionSlotName:e,extensionSlotModuleName:o}}function r5(e){return e}function r8({name:e,extensionSlotName:t,select:o=r5,children:n,state:r,style:i,...s}){if(n&&r)throw Error("Both children and state have been provided. If children are provided, the state must be passed as a prop to the `Extension` component.");let a=e??t,l=(0,rU.useRef)(null),{extensions:c,extensionSlotModuleName:u}=r6(a,r),d=(0,rU.useMemo)(()=>o(c),[o,c]),m=(0,rU.useMemo)(()=>{if("function"==typeof n&&!rF().isValidElement(n))return d.map(e=>n(e,r))},[n,d]);return rF().createElement("div",{ref:l,"data-extension-slot-name":a,"data-extension-slot-module-name":u,style:{...i,position:"relative"},...s},a&&d?.map((e,t)=>rF().createElement(rH.Provider,{key:e.id,value:{moduleName:u,featureName:"",extension:{extensionId:e.id,extensionSlotName:a,extensionSlotModuleName:u,extensionMeta:e.meta}}},m?.[t]??("function"!=typeof n?n:null)??rF().createElement(rz,{state:r}))))}var r3=o(3776),r4=o(9568),r7=o(9737),r9=o(2324),ie=o(242);let it={strictMode:!0,throwErrorsToConsole:!0,disableTranslations:!1},io=new Map;(0,ie.y)(io);let ir={errorRetryCount:3,fetcher:tN,focusThrottleInterval:18e5,revalidateIfStale:!0,revalidateOnFocus:!1,revalidateOnReconnect:!1,refreshInterval:0,shouldRetryOnError:e=>{if(e instanceof tC){let t=e.response.status;return!!(t>=500)||401===t||403===t||429===t}return!0},provider:()=>io};function ii(e){if("object"!=typeof e||"string"!=typeof e.featureName||"string"!=typeof e.moduleName)throw Error("Invalid options");let t=Object.assign({},it,e),o={...ir,...t.swrConfig};return function(e){var n,r,i,s,a;return i=r=class extends(n=rF().Component){componentDidCatch(e,o){o&&o.componentStack&&(e.extra=Object.assign(e.extra||{},{componentStack:o.componentStack})),t.throwErrorsToConsole&&setTimeout(()=>{throw e}),this.setState({caughtError:e,caughtErrorInfo:o})}render(){if(this.state.caughtError)return rF().createElement("div",null,"An error has occurred. Please try reloading the page.");{let n=rF().createElement(rU.Suspense,{fallback:null},rF().createElement(r9.S,{value:o},rF().createElement(rH.Provider,{value:this.state.config},t.disableTranslations?rF().createElement(e,this.props):rF().createElement(r7.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},rF().createElement(e,this.props)))));return t.strictMode&&rF().StrictMode?rF().createElement(rF().StrictMode,null,n):n}}constructor(e){super(e),this.state={caughtError:null,caughtErrorInfo:null,config:{moduleName:t.moduleName,featureName:t.featureName,extension:e._extensionContext}}}},s="displayName",a=`OpenmrsReactComponent(${t.featureName})`,s in i?Object.defineProperty(i,s,{value:a,enumerable:!0,configurable:!0,writable:!0}):i[s]=a,r}}function is(e,t){return(0,r4.A)({React:rF(),ReactDOMClient:r3,rootComponent:ii(t)(e)})}function ia(e,t){return()=>e().then(({default:e})=>is(e,t))}function il(e,t){return()=>Promise.resolve(is(e,t))}let ic=ia,iu=(0,N.y)()(()=>({}));$("openmrs-app-context",iu);let id={};function im(e,t=e=>e){let o=iu.getState();return e in o?Object.freeze(Object.assign({},t?t(o[e]):o[e])):null}function ip(e,t){iu.setState(o=>(e in o||(o[e]={}),o[e]=t(o[e]),Object.assign({},o)))}function ig(e){return null===e?null:Object.freeze(Object.assign({},e))}let ih=new Map;function i_(e,t){let o=(0,rU.useRef)(t??{}),n=(0,rU.useRef)(t=>ip(e,t)),r=(0,rU.useRef)(Symbol());return(0,rU.useEffect)(()=>{let o=t??{},n=r.current;return null===im(e)?!function(e,t=id){iu.setState(o=>{if(e in o)throw Error(`Attempted to re-register namespace ${e} in the app context. Each namespace must be unregistered before the name can be registered again.`);return Object.assign({},o,{[e]:t===id?{}:t})})}(e,o):(console.warn(`Namespace ${e} is already registered in the app context. This is likely a race condition during navigation, but may indicate two components are trying to own the same namespace. Updating the existing context.`),ip(e,()=>o)),ih.set(e,n),()=>{ih.get(e)===n&&(iu.setState(t=>(e in t&&delete t[e],t)),ih.delete(e))}},[e]),(0,rU.useEffect)(()=>{let n=t??{};b(o.current,n)||(ip(e,()=>n),o.current=n)},[t]),n.current}function iw({namespace:e,value:t}){return i_(e,t),null}let iv=({children:e,value:t,fallback:o})=>t?rF().createElement(rF().Fragment,null,e):o?rF().createElement(rF().Fragment,null,o):null;function iy(){let e=(0,rU.useRef)();return(!e.current||e.current.signal.aborted)&&(e.current=new AbortController),(0,rU.useEffect)(()=>{let t=e.current;return()=>t?.abort()},[]),e.current}function ib(e,t=e=>e??{}){let[o,n]=(0,rU.useState)(()=>{if(ix(e))return;let o=im(e);if(null!==o)return t?t(o):o});return(0,rU.useEffect)(()=>{if(ix(e))throw Error(`The namespace supplied to useAppContext must be a non-empty string, but was "${e}".`)},[e]),(0,rU.useEffect)(()=>{var o;let r;return(o=e=>{if(null==e)return void n(void 0);let o=t?t(e):e;n(e=>b(e,o)?e:o)})(ig(r=im(e))),iu.subscribe(t=>{let n=e in t?t[e]:null;n!==r&&(r=n,o(ig(n)))})},[e,t]),o}function ix(e){return"string"!=typeof e||0===e.trim().length}function ik(e){let t=r2(e);return(0,rU.useMemo)(()=>t.map(e=>e.id),[t])}function iS(e){return r0(e).candidateExtensions}function ij(e,t,o){let{data:n,error:r,mutate:i,isLoading:s,isValidating:a}=(0,r9.u)(e?oO(e,t,o):null,tN);return(0,rU.useMemo)(()=>({isLoading:s,data:n?.data.results??[],error:r,mutate:i,isValidating:a}),[n,r,s,a,i])}function iN(e){(0,rU.useEffect)(()=>{if(e){let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}},[e])}let iC={},iE=`No ComponentContext has been provided. This should come from "openmrsComponentDecorator".
|
|
16
|
+
Usually this is already applied when using "getAsyncLifecycle" or "getSyncLifecycle".`;function iI(e){let{moduleName:t,extension:o}=(0,rU.useContext)(rH),n=e?.externalModuleName??t;if(!n&&!o)throw Error(iE);let r=function(e){let t=(0,rU.useMemo)(()=>ee(e),[e]),o=function(e){let[t,o]=(0,rU.useState)(()=>{let t=e.getState();return t.loaded&&t.config?t.config:null});return(0,rU.useEffect)(()=>e?.subscribe(e=>{e.loaded&&e.config&&o(e.config)}),[e]),t}(t);if(!o)throw iC[e]||(iC[e]=new Promise(e=>{let o=t.subscribe(t=>{t.loaded&&t.config&&(e(t.config),o())})})),iC[e];return o}(n),i=function(e){let t=(0,rU.useMemo)(er,[]),o=function(e,t){let[o,n]=(0,rU.useState)(t?()=>{let o=es(e.getState(),t.extensionSlotName,t.extensionId);if(o.loaded&&o.config)return o.config}:null);return(0,rU.useEffect)(()=>{if(t)return e.subscribe(e=>{let r=es(e,t.extensionSlotName,t.extensionId);r.loaded&&r.config&&!(0,B.A)(r.config,o)&&n(r.config)})},[e,t,o]),o}(t,e);if(!o&&e){let o=`${e.extensionSlotName}-${e.extensionId}`;throw!iC[o]&&t&&(iC[o]=new Promise(o=>{let n=t.subscribe(t=>{let r=es(t,e.extensionSlotName,e.extensionId);r.loaded&&r.config&&(o(r.config),n())})})),iC[o]}return o||{}}(o);return(0,rU.useMemo)(()=>e?.externalModuleName&&n===e.externalModuleName?{...r}:{...r,...i},[n,e?.externalModuleName,r,i])}let iP=r2;function iA(e,t=300){let[o,n]=(0,rU.useState)(e);return(0,rU.useEffect)(()=>{let o=setTimeout(()=>{n(e)},t);return()=>{clearTimeout(o)}},[e,t]),o}var iO=o(6269);let i$=`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 iR(){let e=`${tx}/emrapi/configuration?v=${i$}`,t=(0,iO.A)(e,tN);return(0,rU.useMemo)(()=>({emrConfiguration:t.data?.data,isLoadingEmrConfiguration:t.isLoading,mutateEmrConfiguration:t.mutate,errorFetchingEmrConfiguration:t.error}),[t])}function iT(){return(0,rU.useContext)(rH).extension}let iM=rY(nR());function iW(e){let t=r2(e);return(0,rU.useMemo)(()=>Object.fromEntries(t.map(e=>[e.name,e.meta])),[t])}let iL=rY(nH());function iD(e){let{flags:t}=rK(nj);return t[e]?.enabled??!1}function iB(){let[,e]=(0,rU.useState)(0);return(0,rU.useCallback)(()=>{e(e=>e+1)},[])}function iU(e,t,o={}){return iH(e,t,iF,o)}let iF={getPaginatedUrl:(e,t,o)=>{if(!e)return null;{let n=new URL(tj(e.toString()),window.location.toString());return n.searchParams.set("limit",""+t),n.searchParams.set("startIndex",""+o),n.searchParams.set("totalCount","true"),n.toString()}},getNextUrl:e=>{let t=e?.links?.find(e=>"next"==e.rel)?.uri;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.totalCount??NaN,getCurrentPageSize:e=>e?.results?.length??NaN,getData:e=>e?.results};function iH(e,t,o,n={}){let{getPaginatedUrl:r,getTotalCount:i,getCurrentPageSize:s,getData:a}=o,{immutable:l,swrConfig:c}=n,u=n.fetcher??tN,[d,m]=(0,rU.useState)(1),p=(0,rU.useRef)(NaN),f=(0,rU.useRef)(NaN),g=(0,rU.useRef)(d),h=(0,rU.useRef)(!1),_=(0,rU.useRef)(!1),w=e?.toString()??"",[v,y]=(0,rU.useState)(w);w!==v&&(y(w),m(1),g.current=1,p.current=NaN,f.current=NaN,h.current=!1,_.current=!1);let b=(d-1)*t,x=(0,rU.useMemo)(()=>r(e,t,b),[e,t,b]),{data:k,...S}=(l?iO.A:r9.u)(x,u,c);k?.data&&(p.current=i(k?.data),f.current=s(k?.data),h.current=!0);let j=Math.ceil(p.current/t),N=(0,rU.useCallback)(e=>{if(!Number.isInteger(e)||e<1)return void console.warn(`useServerPagination: ignoring goTo(${e}); page must be a positive integer.`);let o=Math.ceil(p.current/t);!h.current||Number.isNaN(o)||e<=o?(g.current=e,m(e)):console.warn("Invalid attempt to go to out of bounds page: "+e)},[t]);(0,rU.useEffect)(()=>{if(!h.current)return;if(Number.isNaN(p.current)){_.current||(_.current=!0,console.warn(`useServerPagination: ${w} returned no total count, so out-of-range pages cannot be detected.`));return}let e=Math.max(1,Math.ceil(p.current/t));d>e&&(console.warn(`Invalid attempt to go to out of bounds page: ${d}; returning to page ${e}.`),g.current=e,m(e))},[d,t,w,k]);let C=(0,rU.useCallback)(()=>{N(g.current+1)},[N]),E=(0,rU.useCallback)(()=>{N(g.current-1)},[N]);return{data:a(k?.data),totalPages:j,totalCount:p.current,currentPage:d,currentPageSize:f.current,paginated:j>1,showNextButton:d<j,showPreviousButton:d>1,goTo:N,goToNext:C,goToPrevious:E,...S}}function iG(e,t,o={}){return iH(e,t,iz(),o)}function iz(){return{getPaginatedUrl:(e,t,o)=>{if(!e)return null;{let n=new URL(tj(e.toString()),window.location.toString());return n.searchParams.set("_count",""+t),n.searchParams.set("_getpagesoffset",""+o),n.toString()}},getNextUrl:e=>{let t=e?.link?.find(e=>"next"==e.relation)?.url;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.total??NaN,getCurrentPageSize:e=>e?.entry?.length??NaN,getData:e=>e?.entry?.map(e=>e.resource)}}var iV=o(3709);function iJ(e,t={}){return iq(e,iF,t)}function iq(e,t,o={}){let{swrInfiniteConfig:n,immutable:r}=o,{getNextUrl:i,getTotalCount:s,getData:a}=t,l=o.fetcher??tN,c=(0,rU.useCallback)((o,n)=>0==o?e?.toString()??null:t.getNextUrl(n.data),[e]),{data:u,size:d,setSize:m,...p}=(0,iV.Ay)(c,l,{...n,...r?{revalidateIfStale:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1}:{}}),f=i(u?.[u.length-1].data),g=s(u?.[0]?.data);return{data:u?.flatMap(e=>a(e.data)),totalCount:g,hasMore:null!=f,loadMore:()=>{m((u?.length??0)+1)},nextUri:f,...p}}function iK(e,t={}){return iX(e,iF,t)}function iX(e,t,o={}){let n=iq(e,t,o),{hasMore:r,error:i,data:s,loadMore:a,isLoading:l,nextUri:c}=n;return((0,rU.useEffect)(()=>{r&&!i&&a()},[r,c]),o.partialData)?n:{...n,data:r||i?void 0:s,isLoading:l||r}}function iY(e,t={}){return iX(e,iz(),t)}function iZ(e,t={}){return iq(e,iz(),t)}function iQ(){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 i0(){let[e,t]=(0,rU.useState)(iQ);return(0,rU.useEffect)(()=>{let e=()=>{t(iQ())};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}let i1=e=>"small-desktop"===e||"large-desktop"===e;function i2(e){let t=(0,rU.useContext)(rH);(0,rU.useEffect)(()=>(t&&t.moduleName&&(e.componentContext=t),rf(e),()=>{rg(e.name)}),[t,e])}function i6(){return rK(rp)}let i5=[];function i8(e=null,t=null){let o=new URLSearchParams;e&&o.set("tag",e),t&&o.set("q",t);let n=o.toString(),{data:r}=iK(`${tx}/location${n?"?"+n:""}`,{immutable:!0});return r??i5}function i3(e,t=!0){let o=(0,rU.useRef)(null);return(0,rU.useEffect)(()=>{let n=n=>{t&&o.current&&n.target&&n.target instanceof Node&&(o.current.contains(n.target)||e(n))};return window.addEventListener("mousedown",n),window.addEventListener("touchstart",n),()=>{window.removeEventListener("mousedown",n),window.removeEventListener("touchstart",n)}},[e,t]),o}function i4(e){let t=(0,rU.useRef)();return(0,rU.useEffect)(()=>{let o=new IntersectionObserver(t=>{for(let o of t)if(o.isIntersecting)return void e()},{threshold:1});return t.current&&o.observe(t.current),()=>{t.current&&o.unobserve(t.current)}},[t.current,e]),t}function i7(e,t={}){let{abortController:o,fetchInit:n,url:r,swrConfig:i}=t,s=iy(),a=(0,rU.useMemo)(()=>n?.signal??o?.signal??s.signal,[o?.signal,n?.signal,s.signal]),l=(0,rU.useCallback)(e=>tN(function(e,t){if(t)return"function"==typeof t?t(e):t;if("string"==typeof e)return e;throw Error(`When using useOpenmrsSWR with a key that is not a string, you must provide a url() function that converts the key to a valid url. The key for this hook is ${e}.`)}(e,r),{...n,signal:a}),[a,n,r]);return(0,r9.u)(e,l,i)}function i9(e=[],t=10){let[o,n]=(0,rU.useState)(1),r=(0,rU.useMemo)(()=>"number"==typeof t&&t>0?Math.max(1,Math.ceil(e.length/t)):1,[e.length,t]);o>r&&n(r);let i=Math.min(Math.max(1,o),r),s=(0,rU.useMemo)(()=>{let o=(i-1)*t,n=(i+0)*t;return e.slice(o,n)},[e,i,t]),a=(0,rU.useCallback)(e=>{!Number.isInteger(e)||e<1?console.warn(`usePagination: ignoring goTo(${e}); page must be a positive integer.`):n(e)},[]),l=(0,rU.useCallback)(()=>{n(e=>e+1)},[]),c=(0,rU.useCallback)(()=>{n(e=>Math.max(1,e-1))},[]);return(0,rU.useMemo)(()=>({results:s,totalPages:r,currentPage:i,paginated:e.length>t,showNextButton:i<r,showPreviousButton:i>1,goTo:a,goToNext:l,goToPrevious:c}),[s,r,e.length,t,i,a,l,c])}function se(e,t,o,n){return{pageSizes:(0,rU.useMemo)(()=>{let o=Math.ceil(t/e);return isNaN(o)&&(o=0),[...Array(o).keys()].map(t=>(t+1)*e)},[e,t]),pageItemsCount:(0,rU.useMemo)(()=>e>t?t:e*o>t?e*(o-1)+n:e*o,[e,t,o,n])}}function st(){let e=/\/patient\/([a-zA-Z0-9\-]+)\/?/.exec(location.pathname);return e&&e[1]}function so(e){let[t,o]=(0,rU.useState)(e??st()),{data:n,error:r,isValidating:i}=(0,r9.u)(t?["patient",t]:null,()=>oT(t,{}));return(0,rU.useEffect)(()=>{let e=()=>{let e=st();e!==t&&o(e)};return window.addEventListener("single-spa:routing-event",e),()=>window.removeEventListener("single-spa:routing-event",e)},[t]),(0,rU.useMemo)(()=>({isLoading:i&&!r&&!n,patient:n,patientUuid:t,error:r}),[i,r,n,t])}function sn(){let e=`${tx}/metadatamapping/termmapping?v=custom:(metadataUuid)&code=emr.primaryIdentifierType`,{data:t,error:o,isLoading:n}=(0,r9.u)(e,tN);return(0,rU.useMemo)(()=>({primaryIdentifierCode:t?.data?.results[0]?.metadataUuid,isLoading:n,error:o}),[t,o,n])}function sr(e){let{extensions:t,extensionSlotModuleName:o}=r6(e);return e?t.map(t=>({state:n})=>rF().createElement(rH.Provider,{value:{moduleName:o,featureName:"",extension:{extensionId:t.id,extensionSlotName:e,extensionSlotModuleName:o,extensionMeta:t.meta}}},rF().createElement(rz,{state:n}))):[]}function si(){let e=(0,rU.useRef)(),[t,o]=(0,rU.useState)(null),n=null;if(!t){if(r){let e=t$().getState();e.loaded&&(n=e.session)}else r=new Promise(t=>{let o=({loaded:o,session:r})=>{o&&(t(r),n=r,e.current&&(e.current(),e.current=void 0))};o(t$().getState()),n||(e.current=t$().subscribe(o))});if(n)o(n);else throw r}(0,rU.useEffect)(()=>(e.current||(e.current=t$().subscribe(({loaded:e,session:t})=>{e&&(n=t,o(t))})),()=>{e.current&&(e.current(),e.current=void 0)}),[]);let i=t||n;if(!i)if(r)throw console.warn("useSession is in an unexpected state. Attempting to recover."),r;else throw Error("useSession is in an invalid state.");return i}let ss=({privilege:e,fallback:t,children:o})=>{let[n,r]=(0,rU.useState)(null);return((0,rU.useEffect)(()=>{let e=t$(),t=e.subscribe(({loaded:e,session:t})=>{r(e?t?.user??null:null)}),{loaded:o,session:n}=e.getState();return o&&r(n?.user??null),t},[]),n&&tW(e,n))?rF().createElement(rF().Fragment,null,o):t?rF().createElement(rF().Fragment,null,t):null};var sa=o(4343),sl=o.n(sa),sc=o(3355);let su=new Map;function sd(){for(let e of Array.from(su.values()))e()}let sm={setVisitContext:(e,t)=>null==t?{manuallySetVisitUuid:null}:{manuallySetVisitUuid:t.uuid,patientUuid:t.patient?.uuid}};function sp(e){let t=(0,rU.useId)();return(0,rU.useEffect)(()=>{if(e)return su.set(t,e),()=>{su.delete(t)}},[t,e]),{...rX(oJ(),sm),mutateVisit:sd}}function sf(e,t=oz){let o=(0,rU.useRef)(void 0),{patientUuid:n,manuallySetVisitUuid:r,setVisitContext:i}=sp((0,rU.useCallback)(()=>o.current?.(),[])),s=e&&n==e?r:null,a=`?patient=${e}&v=${t}&includeInactive=false`,l=`/${s}?v=${t}`,{data:c,error:u,mutate:d,isValidating:m}=(0,r9.u)(e?`${tx}/visit${a}`:null,tN),{data:p,error:f,mutate:g,isValidating:h}=(0,r9.u)(e&&s?`${tx}/visit${l}`:null,tN),_=(0,rU.useMemo)(()=>c?.data.results.find(e=>null===e.stopDatetime)??null,[c]),w=(0,rU.useMemo)(()=>s&&p?p.data:null,[p,s]),v=(0,rU.useRef)(null);(0,rU.useEffect)(()=>{!m&&_&&n===e&&null===r&&i(_),h||(v.current&&w&&v.current.uuid===w.uuid&&!v.current.stopDatetime&&w.stopDatetime&&i(null),v.current=w)},[w,r,_,m,h,n]);let y=(0,rU.useCallback)(()=>{d(),g()},[d,g]);(0,rU.useEffect)(()=>{o.current=y},[y]);let b=!!(!c||s&&!p),x=!!(s?f:u);return{error:u||f,mutate:y,isValidating:m||h,activeVisit:_,currentVisit:w,currentVisitIsRetrospective:!!s,isLoading:b&&!x}}sa.extend(sc);let sg=[];function sh(){let{data:e}=(0,iO.A)(oU,oF);return e??sg}let s_=new Map;async function sw(e,t){let o=t.indexOf("#"),n=o>=0,r=n?t.substring(0,o):e,i=n?t.substring(o+1):t,s=await oi(r);return s&&Object.hasOwn(s,i)&&"function"==typeof s[i]?sy(r,s).then(()=>s[i]()):(s?s&&Object.hasOwn(s,i)?console.warn(`The export ${t}, defined in ${e}'s routes.json, is not a function`):console.warn(`${r} does not define a component called "${i}", referenced in ${e}'s routes.json. This cannot be loaded.`):console.warn(`Unknown app ${r} for ${t} defined in ${e}'s routes.json`),sv)}let sv={bootstrap:()=>Promise.resolve(),mount:()=>Promise.resolve(),unmount:()=>Promise.resolve()};async function sy(e,t){if(e in s_)await s_[e];else{let o=t??await oi(e);await (s_[e]=new Promise((t,n)=>{if(Object.hasOwn(o,"startupApp")){let r=o.startupApp;if("function"==typeof r)return Promise.resolve(r()).then(()=>{eC(e),t(null)}).catch(n)}eC(e),t(null)}))}}function sb(e,t){let o=t.name;if(!o)return void console.error(`An extension definition in ${e} is missing an name and thus cannot be
|
|
17
17
|
registered. To fix this, ensure that you define the "name" field inside the
|
|
18
18
|
extension definition.`,t);t.slots&&t.slot&&console.warn(`The extension ${o} from ${e} declares both a 'slots' property and
|
|
19
19
|
a 'slot' property. Only the 'slots' property will be honored.`);let n=t.slots?t.slots:t.slot?[t.slot]:[];if(!t.component)return void console.error(`The extension ${o} from ${e} is missing a 'component' entry and thus cannot be registered.
|
|
@@ -24,9 +24,9 @@ modal definition.`,t)}else console.warn(`A modal for ${e} could not be registere
|
|
|
24
24
|
To fix this, ensure that you define the "name" field inside the workspace definition.`,t);let n=t.title;if(!n)return console.error(`A workspace definition in ${e} is missing a title and thus cannot be registered.
|
|
25
25
|
To fix this, ensure that you define the "title" field inside the workspace definition.`,t);if(!t.component)return console.error(`The workspace ${o} from ${e} is missing a 'component' entry and thus cannot be registered.
|
|
26
26
|
To fix this, ensure that you define a 'component' field inside the workspace definition.`,t);for(let r of(rb({name:o,title:n,component:t.component,moduleName:e,type:t.type,canHide:t.canHide,canMaximize:t.canMaximize,width:t.width,preferredWindowSize:t.preferredWindowSize,groups:t.groups,load:()=>sw(e,t.component)}),t.groups||[]))rx({name:r,members:[o]})}(e,t):console.warn(`A workspace for ${e} could not be registered as it does not appear to have the required properties`,t)}),i.forEach(t=>{if(t&&"object"==typeof t&&Object.hasOwn(t,"name")){let o;(o=t.name)?rx({name:o,members:t.members??[]}):console.error(`A workspace group definition in ${e} is missing a name and thus cannot be registered.
|
|
27
|
-
To fix this, ensure that you define the "name" field inside the workspace definition.`,t)}else console.warn(`A workspace group for ${e} could not be registered as it does not appear to have the required properties`,t)}),
|
|
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)}),rP(e,a);for(let t of(rA(e,l),l))t.icon&&sb(e,{name:t.name,component:t.icon,slot:t.group,order:t.order});rO(e,c),s.forEach(t=>{if(t&&"object"==typeof t&&Object.hasOwn(t,"flagName"))t.flagName?t.label?t.description?nN(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
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 sS(){sx.sort((e,t)=>e.appName.localeCompare(t.appName,"en"));let e=new Map;for(let t of sx){e.has(t.appName)?e.set(t.appName,e.get(t.appName)+1):e.set(t.appName,0);let o=e.get(t.appName),n=`${t.appName}-page-${o}`,r=t.containerDomId??"omrs-apps-container",i=document.getElementById(r),s=`single-spa-application:${n}`;if(i){let e=document.createElement("div");e.id=s,i?.appendChild(e)}else throw Error(`${t.appName} ${t.component} cannot be mounted to "${r}"; DOM element does not exist.`);!function(e,t){let o=void 0!==t.route?t.route:void 0!==t.routeRegex&&new RegExp(t.routeRegex);if(!1===o)return console.warn(`A registered page definition is missing a route and thus cannot be registered.
|
|
31
31
|
To fix this, ensure that you define the "route" (or alternatively the "routeRegex") field inside the extension definition.`,e);if(!t.component)return console.warn(`A registered page definition is missing a component and thus cannot be registered.
|
|
32
|
-
To fix this, ensure that you define the "component" field inside the page definition.`,e);let n=function(e,{featureFlag:t}){return t?o=>!!nE(t)&&e(o):e}(function e(t){if(Array.isArray(t)){let o=t.map(e);return e=>o.some(t=>t(e))}return"string"==typeof t?(0,tr.fz)(window.getOpenmrsSpaBase()+t):t instanceof RegExp?e=>t.test(e.pathname.replace(window.getOpenmrsSpaBase(),"")):()=>t}(o),t);(0,tr.AG)(e,()=>sw(t.appName,t.component),n)}(n,t)}}let sj={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 sN(){document.body.classList.toggle("omrs-breakpoint-lt-tablet",window.innerWidth<sj.TABLET_MIN),document.body.classList.toggle("omrs-breakpoint-gt-phone",window.innerWidth>sj.PHONE_MAX),document.body.classList.toggle("omrs-breakpoint-gt-tablet",window.innerWidth>sj.TABLET_MAX),document.body.classList.toggle("omrs-breakpoint-lt-desktop",window.innerWidth<sj.SMALL_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-lt-small-desktop",window.innerWidth<sj.SMALL_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-lt-large-desktop",window.innerWidth<sj.LARGE_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-gt-small-desktop",window.innerWidth>sj.SMALL_DESKTOP_MAX)}let sC=!1;function sE(){sC||(window.addEventListener("resize",sN),sN(),sC=!0)}var sI=o(6870),sA=o(5530),sP=o.n(sA);function sO({title:e,children:t}){let o="tablet"===i0();return(0,sI.jsxs)("div",{className:sP()({"-esm-devtools__card-header-module__tabletHeader___Vkmd-":o,"-esm-devtools__card-header-module__desktopHeader___ocWGq":!o}),children:[(0,sI.jsx)("h4",{children:e}),t]})}let s$=["red","magenta","purple","blue","teal","cyan","gray","green","warm-gray","cool-gray","high-contrast","outline"],sR={primaryColor:{_type:H.String,_description:"The color for displaying primary diagnoses tags",_default:"red",_validators:[e8.oneOf(s$)]},secondaryColor:{_type:H.String,_description:"The color for displaying secondary diagnoses tags",_default:"blue",_validators:[e8.oneOf(s$)]}},sT={"Brand color #1":{_default:"#005d5d",_type:H.String},"Brand color #2":{_default:"#004144",_type:H.String},"Brand color #3":{_default:"#007d79",_type:H.String},excludePatientIdentifierCodeTypes:{uuids:{_type:H.Array,_description:"List of UUIDs of patient identifier types to exclude from rendering in the patient banner",_default:[],_elements:{_type:H.UUID}}},implementationName:{_type:H.String,_description:"A name of the place (or authority) where all possible locations a user can choose are located.",_default:"Clinic"},patientPhotoConceptUuid:{_type:H.ConceptUuid,_default:"736e8771-e501-4615-bfa7-570c03f4bef5",_description:"Used to look up the patient photo, which is stored as an attachment obs. Set to `null` in order to disable the feature and use only generated avatars. To remove the avatars entirely, use extension configuration's `remove` feature."},preferredCalendar:{_type:H.Object,_description:"Keys should be locale codes, and values should be the preferred calendar for that locale. For example, {'am': 'ethiopic'}.",_default:{am:"ethiopic"},_elements:{_validators:[e8.oneOf(["buddhist","chinese","coptic","dangi","ethioaa","ethiopic","gregory","hebrew","indian","islamic","islamic-umalqura","islamic-tbla","islamic-civil","islamic-rgsa","iso8601","japanese","persian","roc","islamicc"])]}},preferredDateLocale:{_type:H.Object,_description:"Allows setting the locale used for date formatting for any browser locale. Does not affect time formatting. Keys should be locale codes, and values should be the preferred locale for formatting dates. For example, {'en': 'en-US', 'fr-CA': 'en-CA'}.",_default:{en:"en-GB"},_elements:{_type:H.String}},diagnosisTags:sR};var sM=o(8326);let sW={"carbon.table.batch.cancel":"cancel","carbon.table.batch.items.selected":"batchActionsItemsSelected","carbon.table.batch.item.selected":"batchActionItemSelected","carbon.table.batch.selectAll":"selectAll"},sL=e=>(0,sI.jsx)(sM.TableBatchActions,{translateWithId:(e,t)=>{let o=sW[e];return o?tc(o,e,t):e},...e}),sD="-esm-devtools__custom-overflow-menu-module__container___8PykS",sB="-esm-devtools__custom-overflow-menu-module__menu___qsOLn",sU="-esm-devtools__custom-overflow-menu-module__show___BserJ",sF="-esm-devtools__custom-overflow-menu-module__overflowMenuButton___n86Gz",sH=(0,rU.createContext)(null);function sG(){let e=(0,rU.useContext)(sH);if(!e)throw Error("useCustomOverflowMenu must be used within a CustomOverflowMenu");return e}function sz({menuTitle:e,children:t}){let[o,n]=rF().useState(!1),r=i3(()=>n(!1),o),i="tablet"===i0(),s=(0,rU.useCallback)(()=>n(e=>!e),[]),a=(0,rU.useRef)(null),l=(0,rU.useRef)(null),c=(0,rU.useId)(),u=`custom-overflow-menu-trigger-${c}`,d=`custom-overflow-menu-${c}`,m=(0,rU.useCallback)(()=>{n(!1),a.current?.focus()},[]),p=(0,rU.useMemo)(()=>({closeMenu:m}),[m]),f=(0,rU.useCallback)(e=>{"Escape"===e.key&&o&&(e.stopPropagation(),m())},[m,o]),g=rU.Children.toArray(t);(0,rU.useEffect)(()=>{if(o&&l.current){let e=l.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[o]);let h=(0,rU.useCallback)(({currentIndex:e,direction:t})=>{let o=l.current?.querySelectorAll('[role="menuitem"]:not([disabled])');if(!o?.length)return;let n=document.activeElement?.closest?.('[role="menuitem"]')??document.activeElement,r=Array.from(o).indexOf(n);if(-1===r)return void o[t>0?0:o.length-1]?.focus();let i=r+t,s=i<0?o.length-1:i>=o.length?0:i;o[s]?.focus()},[]),_=g.map((e,t)=>(0,rU.isValidElement)(e)?(0,rU.cloneElement)(e,{closeMenu:m,handleOverflowMenuItemFocus:h,index:t}):e);return(0,sI.jsxs)("div",{"data-overflow-menu":!0,className:sP()("cds--overflow-menu",sD),ref:r,children:[(0,sI.jsx)("button",{className:sP()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":o},sF),"aria-controls":d,"aria-expanded":o,"aria-haspopup":"true",id:u,onClick:s,onKeyDown:f,ref:a,children:e}),(0,sI.jsxs)("div",{className:sP()("cds--overflow-menu-options","cds--overflow-menu--flip",sB,{[sU]:o}),"aria-labelledby":u,"data-floating-menu-direction":"bottom",id:d,onKeyDown:f,ref:l,role:"menu",tabIndex:-1,children:[(0,sI.jsx)("ul",{className:sP()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":i}),children:(0,sI.jsx)(sH.Provider,{value:p,children:_})}),(0,sI.jsx)("span",{})]})]})}function sV(e){let t=(0,rU.useContext)(sH);return(0,sI.jsx)(sM.OverflowMenuItem,{...e,closeMenu:t?.closeMenu})}var sJ=o(2277),sq=o(4194);let sK=["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"],sX=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-activity",iconProps:e})})),sY=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-add",iconProps:e})})),sZ=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-arrow-down",iconProps:e})})),sQ=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-arrow-left",iconProps:e})})),s0=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-arrow-right",iconProps:e})})),s1=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-arrow-up",iconProps:e})})),s2=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-baby",iconProps:e})})),s6=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-calendar-heat-map",iconProps:e})})),s5=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-calendar",iconProps:e})})),s8=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-caret-down",iconProps:e})})),s3=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-caret-left",iconProps:e})})),s4=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-caret-right",iconProps:e})})),s7=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-caret-up",iconProps:e})})),s9=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-chart-average",iconProps:e})})),ae=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-chart-line",iconProps:e})})),at=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-checkmark-filled",iconProps:e})})),ao=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-checkmark-outline",iconProps:e})})),an=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-chemistry",iconProps:e})})),ar=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-chevron-down",iconProps:e})})),ai=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-chevron-left",iconProps:e})})),as=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-chevron-right",iconProps:e})})),aa=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-chevron-up",iconProps:e})})),al=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-close",iconProps:e})})),ac=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-close-filled",iconProps:e})})),au=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-close-outline",iconProps:e})})),ad=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-document",iconProps:e})})),am=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-document-attachment",iconProps:e})})),ap=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-download",iconProps:e})})),af=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-drug-order",iconProps:e})})),ag=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-edit",iconProps:e})})),ah=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-event-schedule",iconProps:e})})),a_=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-events",iconProps:e})})),aw=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-gender-female",iconProps:e})})),av=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-gender-male",iconProps:e})})),ay=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-gender-other",iconProps:e})})),ab=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-gender-unknown",iconProps:e})})),ax=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-generic-order-type",iconProps:e})})),ak=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-group",iconProps:e})})),aS=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-group-access",iconProps:e})})),aj=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-hospital-bed",iconProps:e})})),aN=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-image-medical",iconProps:e})})),aC=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-information",iconProps:e})})),aE=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-information-filled",iconProps:e})})),aI=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-information-square",iconProps:e})})),aA=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-inventory-management",iconProps:e})})),aP=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-lab-order",iconProps:e})})),aO=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-list-checked",iconProps:e})})),a$=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-location",iconProps:e})})),aR=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-material-order",iconProps:e})})),aT=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-maximize",iconProps:e})})),aM=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-medication",iconProps:e})})),aW=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-message-queue",iconProps:e})})),aL=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-microscope",iconProps:e})})),aD=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-mobile-check",iconProps:e})})),aB=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-money",iconProps:e})})),aU=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-mother",iconProps:e})})),aF=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-movement",iconProps:e})})),aH=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),aG=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),az=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-password",iconProps:e})})),aV=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-pedestrian-family",iconProps:e})})),aJ=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-pen",iconProps:e})})),aq=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-printer",iconProps:e})})),aK=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-procedure-order",iconProps:e})})),aX=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-programs",iconProps:e})})),aY=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-referral-order",iconProps:e})})),aZ=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-renew",iconProps:e})})),aQ=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-report",iconProps:e})})),a0=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-reset",iconProps:e})})),a1=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-save",iconProps:e})})),a2=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-search",iconProps:e})})),a6=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-settings",iconProps:e})})),a5=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-switcher",iconProps:e})})),a8=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-shopping-cart",iconProps:e})})),a3=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-shopping-cart--arrow-down",iconProps:e})})),a4=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-sticky-note-add",iconProps:e})})),a7=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-syringe",iconProps:e})})),a9=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-table-of-contents",iconProps:e})})),le=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-table",iconProps:e})})),lt=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-time",iconProps:e})})),lo=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-tools",iconProps:e})})),ln=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-translate",iconProps:e})})),lr=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-trash-can",iconProps:e})})),li=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-tree-view--alt",iconProps:e})})),ls=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-two-factor-authentication",iconProps:e})})),la=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-user-avatar",iconProps:e})})),ll=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-user-follow",iconProps:e})})),lc=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-user-xray",iconProps:e})})),lu=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-user",iconProps:e})})),ld=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-view-off",iconProps:e})})),lm=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-view",iconProps:e})})),lp=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-warning",iconProps:e})})),lf=lp,lg=am,lh=aO,l_=aN,lw=a3,lv=(0,rU.memo)((0,rU.forwardRef)(function({icon:e,fallback:t,...o},n){let r=(0,rU.useRef)(e?document.getElementById(e):void 0);return(0,rU.useEffect)(()=>{let t=document.getElementById("omrs-svgs-container"),o=new MutationObserver(t=>{for(let o of t)"childList"===o.type&&(r.current=e?document.getElementById(e):void 0)});return t&&o.observe(t,{childList:!0}),()=>o.disconnect()},[e]),(0,sI.jsx)(iv,{value:r.current,fallback:t,children:(0,sI.jsx)(ly,{ref:n,icon:e,iconProps:o})})})),ly=(0,rU.memo)((0,rU.forwardRef)(function({icon:e,iconProps:t},o){let{className:n,fill:r,size:i}=Object.assign({},{fill:"currentColor",size:20},t);(i<=0||i>72)&&(console.error(`Invalid size '${i}' specified for ${e}. Defaulting to 20.`),i=20);let s=(0,rU.useRef)(null);return(0,rU.useImperativeHandle)(o,()=>s.current),(0,rU.useEffect)(()=>{s.current&&"currentColor"!==r&&s.current.style.setProperty("--omrs-icon-fill",r)},[]),(0,sI.jsx)("svg",{ref:s,className:sP()("omrs-icon","-esm-devtools__icons-module__icon___BfFhd",n),height:i,width:i,viewBox:"0 0 16 16",children:(0,sI.jsx)("use",{href:`#${e}`})})})),lb=({path:e,title:t,basePath:o,icon:n})=>{let{t:r}=(0,r7.useTranslation)(),i=(0,sJ.zy)(),s=(0,rU.useMemo)(()=>{if(!e)return!1;let t=e.startsWith("/")?e.slice(1):e;if(t.startsWith("http"))return t===window.location.href;let o=t.split("/").map(e=>decodeURIComponent(e)),n=(i.pathname??"").split("/").slice(1).map(e=>decodeURIComponent(e));return n.some((e,t)=>o.every((e,o)=>n[t+o]===e))},[i.pathname,e]);return(0,sI.jsx)("div",{children:(0,sI.jsx)(rG,{className:sP()("cds--side-nav__link",{"active-left-nav-link":s}),to:`${o}/${encodeURIComponent(e)}`,children:(0,sI.jsxs)("span",{className:"-esm-devtools__dashboard-module__menu___ds1tf",children:[(0,sI.jsx)(lv,{icon:n,className:"-esm-devtools__dashboard-module__icon___4Zrrh",size:16}),(0,sI.jsx)("span",{children:r(t)})]})})},e)};function lx(e){return function({basePath:t}){return(0,sI.jsx)(sq.Kd,{children:(0,sI.jsx)(lb,{basePath:t,...e})})}}var lk=o(7715),lS=o(7532),lj=o(3692),lN=o(7615),lC=o(700),lE=o(6816),lI=o(1168);function lA(e){return rF().createElement(lI.C,e)}var lP=o(3010),lO=o(6513),l$=o(6190);function lR(e,t,o=!1){if(null==e)return o?e:void 0;if("string"==typeof e&&!e)return o?null:void 0;if(e instanceof lP.ng||e instanceof lP._l||e instanceof lP.Ip)return t?(0,lO.yP)(e,t):e;{let o=sl()(e).toDate(),n=new lP.ng(o.getFullYear(),o.getMonth()+1,o.getDate());return t?(0,lO.yP)(n,t):n}}function lT(e){if(e)return e.toDate((0,l$.Xj)())}var lM=o(9002);function lW(e){if("string"==typeof e&&0!==e.trim().length)try{return new Intl.Locale(e.replace(/[_@]/g,"-")).toString()}catch{return}}function lL(e){let t=e??"",o=lW(t);if(!o)return t;try{return new Intl.DisplayNames([o],{type:"language"}).of(o)??t}catch{return t}}function lD(){let e=window.i18next.language,t=lW(e)??e;return"ht"===t&&(t="fr-HT"),t}var lB=o(7883),lU=o(424),lF=o(1492),lH=o(8271);function lG(e,t){var o=function(e,t){if(!t.has(e))throw TypeError("attempted to get private field on non-instance");return t.get(e)}(e,t);return o.get?o.get.call(e):o.value}sa.extend(sc),sa.extend(lF),sa.extend(lU);let lz="YYYY-MM-DDTHH:mm:ss.SSSZZ";function lV(e){return null!=e&&28===e.trim().length&&"T"===(e=e.trim())[10]&&":"===e[13]&&":"===e[16]&&"."===e[19]&&("+"===e[23]||"-"===e[23])&&sa(e,lz).isValid()}function lJ(e){return sa(e).isToday()}function lq(e){return lV(e)?sa(e,lz).toDate():null}function lK(e,t=!1){let o=sa(e);return t&&(o=o.utc()),o.format(lz)}function lX(e){return sa(e).toDate()}var lY=new WeakMap;let lZ=new class{register(e,t){lG(this,lY).set(e,t)}getCalendar(e){if(!e)return;if(e.calendar)return e.calendar;if(e.region){let t=`${e.language}-${e.region}`;if(lG(this,lY).has(t))return lG(this,lY).get(t)}if(e.language&&lG(this,lY).has(e.language))return lG(this,lY).get(e.language);let t=new Intl.DateTimeFormat(e.toString()).resolvedOptions().calendar;return lG(this,lY).set(`${e.language}${e.region?`-${e.region}`:""}`,t),t}constructor(){!function(e,t,o){if(t.has(e))throw TypeError("Cannot initialize the same private elements twice on an object");t.set(e,o)}(this,lY,{writable:!0,value:new Map})}};function lQ(e,t){lZ.register(e,t)}function l0(e){let t=e??lD();return lZ.getCalendar(t instanceof Intl.Locale?t:new Intl.Locale(t))}let l1={mode:"standard",time:"for today",day:!0,month:!0,year:!0,noToday:!1};function l2(e,t={}){let o=lD(),n=(0,lB.CD)(e,o);if(n.invalid)return console.warn(`Could not parse invalid date '${e}'`),null;!(0,lH.A)(n.day)&&(0,lH.A)(n.month)&&(n=Object.assign({},(0,U.A)(n,"day"),{month:n.day})),n.month&&(n.month-=1),n.day&&(n=Object.assign({},(0,U.A)(n,"day"),{date:n.day}));let r=sa().set(n).toDate();return(0,lH.A)(n.year)&&(t.year=!1),(0,lH.A)(n.month)&&(t.month=!1),(0,lH.A)(n.date)&&(t.day=!1),l6(r,t)}function l6(e,t){let o,n=t?.locale??lD(),r=new Intl.Locale(n),{calendar:i,mode:s,time:a,day:l,month:c,year:u,noToday:d,numberingSystem:m}={...l1,...{noToday:"am"===r.language},...t},p={calendar:i??l0(r),year:u?"numeric":void 0,month:c?"short":void 0,day:l?"2-digit":void 0,numberingSystem:m},f=sa(e).isToday();if(f&&!d)o=(o=new Intl.RelativeTimeFormat(n,{numeric:"auto"}).format(0,"day"))[0].toLocaleUpperCase(n)+o.slice(1);else{"en"===r.language&&(n="en-GB");let t=new Intl.DateTimeFormat(n,p).formatToParts(e);("en"===r.language||"am"===r.language)&&"standard"==s&&u&&l&&(t=t.map(l5("-"))),"wide"==s&&(t=t.map(l5(" — "))),"ethiopic"===p.calendar&&(t=t.filter((e,t,o)=>"era"!==e.type&&("literal"!==e.type||!(t<o.length-1)||"era"!==o[t+1].type))),o=t.map(e=>e.value).join("")}return(!0===a||f&&"for today"===a)&&(o+=`, ${l8(e)}`),o}let l5=e=>(t,o,n)=>"literal"!==t.type||" "!==t.value||o<n.length-1&&"era"===n[o+1].type?t:{type:"literal",value:e};function l8(e){return e.toLocaleTimeString(lD(),{hour:"2-digit",minute:"2-digit"})}function l3(e,t){return l6(e,{...t,time:!0})}function l4(e,t){let o=l0("string"==typeof t?new Intl.Locale(t):t);return o?(0,lO.yP)(e,(0,lM.d)(o)):e}function l7(e,t){return new Intl.DurationFormat(lD(),t).format(e)}function l9(e,t){if(null==e)return null;if("string"==typeof e){let o=lD(),n=(0,lB.CD)(e,o);return n.invalid?(console.warn(`Could not interpret '${e}' as a date`),null):(n.day&&!n.month&&(n={...(0,U.A)(n,"day"),...{month:n.day}}),n.month&&(n.month-=1),n.day&&(n={...(0,U.A)(n,"day"),...{date:n.day}}),sa(t).set(n))}return sa(e)}let ce=["years","months","days","hours","minutes","seconds"],ct={second:"seconds",minute:"minutes",hour:"hours",day:"days",month:"months",year:"years"},co={seconds:45,minutes:45,hours:22,days:26,months:11,years:1/0};function cn(e,t=sa(),o){let n,r=sa(t),i=l9(e,r);if(null==i)return null;if("string"==typeof o){let e=ct[o]??o;return{[e]:r.diff(i,e)}}let{thresholds:s,largestUnit:a,smallestUnit:l}=o??{};if(void 0!==a||void 0!==l){let e,t=l?ct[l]??l:void 0;return e="auto"===a||void 0===a?function(e,t,o){let n=ce.indexOf(o);for(let r=0;r<ce.length;r++){let i=ce[r];if(t.diff(e,i)>0)return r<=n?i:o}return o}(i,r,t??"seconds"):ct[a]??a,function(e,t,o,n){let r=ce.indexOf(o),i=ce.indexOf(n),s=ce.slice(r,i+1),a={},l=e;for(let e of s){let o=t.diff(l,e);a[e]=o,l=l.add(o,e)}return a}(i,r,e,t??e)}let c=(n=function(e){let t={...co};if(e)for(let[o,n]of Object.entries(e))void 0!==n&&(t[ct[o]??o]=n);return t}(s),r.diff(i,"seconds")<n.seconds?"seconds":r.diff(i,"minutes")<n.minutes?"minutes":r.diff(i,"hours")<n.hours?"hours":r.diff(i,"days")<n.days?"days":r.diff(i,"months")<n.months?"months":"years");return{[c]:r.diff(i,c)}}let cr={style:"short",localeMatcher:"lookup"};function ci(e,t=sa(),o){let n=cn(e,t,o);return null==n?null:l7(n,"object"==typeof o&&o.formatOptions?{...cr,...o.formatOptions}:cr)}let cs=(0,rU.createContext)(null);function ca(){let e=iI({externalModuleName:"@openmrs/esm-styleguide"}).preferredDateLocale,t=(0,rU.useMemo)(()=>{let t=lD();return e[t]&&(t=e[t]),t},[window.i18next.language]),o=(0,rU.useMemo)(()=>{let e=l0(t);return void 0!==e?(0,lM.d)(e):void 0},[t]),n=(0,rU.useMemo)(()=>new Intl.Locale(t,{calendar:o?.identifier}),[t,o]),r=(0,rU.useMemo)(()=>o?(0,lO.yP)((0,l$.Ec)((0,l$.Xj)()),o):(0,l$.Ec)((0,l$.Xj)()),[o]);return{calendar:o,intlLocale:n,today_:r}}let cl=new lP.ng(1793,1,1);var cc=o(5830),cu=o(6156),cd=o(4745),cm=o(1202);function cp(e,t){return Number.parseInt(l6(e,{calendar:t.calendar,locale:t.baseName,day:!1,month:!1,noToday:!0,numberingSystem:"latn"}))}let cf=(0,rU.forwardRef)(function(e,t){let{className:o}=e,n=(0,rU.useContext)(cc.f2),r=(0,rU.useContext)(cc._I),i=n??r,s=(0,rU.useContext)(cs),a=(0,l$.Xj)(),l=l6(i.visibleRange.start.toDate(a),{calendar:s.calendar,locale:s.baseName,day:!1,year:!1,noToday:!0}),c=cp(i.visibleRange.start.toDate(a),s),u=i.maxValue?cp(i.maxValue.toDate(a),s):void 0,d=i.minValue?cp(i.minValue.toDate(a),s):void 0,m=(0,rU.useCallback)(e=>{i.setFocusedDate(i.focusedDate.cycle("year",e-i.focusedDate.year))},[]);return i&&(0,sI.jsxs)("span",{ref:t,className:o,children:[(0,sI.jsx)("span",{children:l}),(0,sI.jsxs)(cd.oz,{formatOptions:{useGrouping:!1},maxValue:u,minValue:d,onChange:m,value:c,children:[(0,sI.jsx)(cm.p,{}),(0,sI.jsxs)(lN.Y,{children:[(0,sI.jsx)(lC.$,{slot:"increment",children:(0,sI.jsx)(s7,{size:8})}),(0,sI.jsx)(lC.$,{slot:"decrement",children:(0,sI.jsx)(s8,{size:8})})]})]})]})});var cg=o(9588);let ch="-esm-devtools__datepicker-module__inputGroup___+4zks",c_="-esm-devtools__datepicker-module__inputSegment___wiExn",cw="-esm-devtools__datepicker-module__dateInputWrapper___uiyAC",cv="-esm-devtools__datepicker-module__invalidText___SxtTL",cy="-esm-devtools__datepicker-module__flatButton___UU1Qp",cb="-esm-devtools__datepicker-module__flatButtonMd___fhR-1",cx="-esm-devtools__datepicker-module__flatButtonSm___5INZ7",ck="-esm-devtools__datepicker-module__flatButtonLg___RFMrl";function cS({children:e}){let t=(0,rU.useContext)(lS.Pg),o=(0,rU.useContext)(lS.a8),n=t??o,r=i3(()=>n?.close());return(0,sI.jsx)(cg.lG,{className:"-esm-devtools__datepicker-module__dialog___qllIf",ref:r,children:e})}let cj=(0,rU.forwardRef)(function({variant:e,today_:t,minDate:o,maxDate:n},r){let i="range"===e,s=i?cc._e:cc.Vv;return(0,sI.jsx)(cu.A,{ref:r,className:"-esm-devtools__datepicker-module__popover___16UMX",placement:"bottom start",offset:1,isNonModal:!0,children:(0,sI.jsx)(cS,{children:(0,sI.jsxs)(s,{...i?{minValue:o,maxValue:n,className:"cds--date-picker__calendar"}:{},children:[(0,sI.jsxs)("header",{className:"-esm-devtools__datepicker-module__header___WAVlD",children:[(0,sI.jsx)(lC.$,{className:sP()(cy,cb),slot:"previous",children:(0,sI.jsx)(ai,{size:16})}),(0,sI.jsx)(cf,{className:"-esm-devtools__datepicker-module__monthYear___A3aKF"}),(0,sI.jsx)(lC.$,{className:sP()(cy,cb),slot:"next",children:(0,sI.jsx)(as,{size:16})})]}),(0,sI.jsx)(cc.r8,{className:"-esm-devtools__datepicker-module__calendarGrid___6qRB2",children:e=>(0,sI.jsx)(cc.Zr,{className:sP()("cds--date-picker__day",{"-esm-devtools__datepicker-module__today___TZl6M":0===t.compare(e)}),date:e},e.toString())})]})})})});var cN=o(8017),cC=o(9774),cE=o(7956);let cI=(0,rU.forwardRef)(function(e,t){let o=(0,rU.useContext)(lS.Pg),[n,r]=(0,lk.JT)({slot:e.slot},t,cC.cQ),{locale:i}=(0,lI.Y)(),s=(0,cE.F)({...n,locale:i,createCalendar:lM.d}),a=(0,rU.useRef)(null),{fieldProps:l,inputProps:c}=(0,cN.cJ)({...n,inputRef:a},s,r),u=(0,rU.useCallback)(()=>{s.isDisabled||o.toggle()},[]);return(0,sI.jsxs)(lk.Kq,{values:[[cC.$,s],[cm.E,{...c,ref:a}],[lN.t,{...l,ref:r,isInvalid:s.isInvalid}]],children:[(0,sI.jsx)(lN.Y,{...e,id:e.id,ref:t,slot:e.slot||void 0,className:e.className,isDisabled:s.isDisabled,isInvalid:s.isInvalid,onClick:u,children:s.segments.map((t,o)=>(0,rU.cloneElement)(e.children(t),{key:o}))}),(0,sI.jsx)(cm.p,{})]})}),cA=(0,rU.forwardRef)(function(e,t){let o=(0,rU.useContext)(lS.Pg),n=(0,rU.useContext)(lS.a8);return(o??n).isInvalid?(0,sI.jsx)(lp,{ref:t,size:16,...e}):(0,sI.jsx)(s5,{ref:t,size:16,...e})});var cP=o(64),cO=o(5503),c$=o(1697),cR=o(7866),cT=o(8035),cM=o(2231);let cW=(0,rU.forwardRef)(function({segment:e,...t},o){let n=(0,rU.useContext)(cC.$),r=(0,cP.U)(o),{segmentProps:i}=(0,cO.V)(e,n,r),{focusProps:s,isFocused:a,isFocusVisible:l}=(0,c$.o)(),{hoverProps:c,isHovered:u}=(0,cR.M)({...t,isDisabled:n.isDisabled||"literal"===e.type}),d=function(e){let{className:t,style:o,children:n,defaultClassName:r,defaultChildren:i,defaultStyle:s,values:a}=e;return(0,rU.useMemo)(()=>{let e,l,c;return e="function"==typeof t?t({...a,defaultClassName:r}):t,l="function"==typeof o?o({...a,defaultStyle:s||{}}):o,c="function"==typeof n?n({...a,defaultChildren:i}):null==n?i:n,{className:e??r,style:l||s?{...s,...l}:void 0,children:c??i,"data-rac":""}},[t,o,n,r,i,s,a])}({...t,values:{...e,isReadOnly:!e.isEditable,isInvalid:n.isInvalid,isDisabled:n.isDisabled,isHovered:u,isFocused:a,isFocusVisible:l},defaultChildren:e.text}),m=(0,rU.useCallback)(e=>{e.stopPropagation()},[]);return(0,sI.jsx)("span",{...(0,cT.v)((0,cM.$)(t),i,s,c),...d,ref:r,style:i.style,"data-placeholder":e.isPlaceholder||void 0,"data-invalid":n.isInvalid||void 0,"data-readonly":!e.isEditable||void 0,"data-disabled":n.isDisabled||void 0,"data-type":e.type,"data-hovered":u||void 0,"data-focused":a||void 0,"data-focus-visible":l||void 0,onClick:m})}),cL={short:!1,size:"md"},cD=(0,rU.forwardRef)(function(e,t){let{className:o,defaultValue:n,isDisabled:r,invalid:i,invalidText:s,isInvalid:a,label:l,labelText:c,light:u,maxDate:d,minDate:m,onChange:p,onChangeRaw:f,short:g,size:h,value:_,...w}={...cL,...e},{calendar:v,intlLocale:y,today_:b}=ca(),x=(0,rU.useId)(),k=!!(c??l),S=(0,rU.useMemo)(()=>lR(n,v),[n,v]),j=(0,rU.useMemo)(()=>lR(_,v,!0),[_,v]),N=(0,rU.useMemo)(()=>lR(d,v),[d,v]),C=(0,rU.useMemo)(()=>lR(m??cl,v),[m,v]),E=(0,rU.useMemo)(()=>i||a,[i,a]),I=(0,rU.useMemo)(()=>(f&&p&&console.error("An OpenmrsDatePicker component was created with both onChange and onChangeRaw handlers defined. Only onChangeRaw will be used."),f??(e=>p?.(lT(e)))),[f,p]);return(0,sI.jsx)(lA,{locale:y.toString(),children:(0,sI.jsx)("div",{className:sP()("cds--form-item",o),children:(0,sI.jsx)(lk.Kq,{values:[[cs,y]],children:(0,sI.jsxs)(lS.lr,{className:sP()("cds--date-picker","cds--date-picker--single",{"cds--date-picker--short":g,"cds--date-picker--light":u}),defaultValue:S,isDisabled:r,isInvalid:E,maxValue:N,minValue:C,value:j,shouldForceLeadingZeros:"en"===y.language||void 0,...w,onChange:I,children:[(0,sI.jsxs)("div",{className:"cds--date-picker-container",children:[k&&(0,sI.jsx)(lj.J,{className:sP()("cds--label",{"cds--label--disabled":r}),htmlFor:x,children:c??l}),(0,sI.jsxs)(lN.Y,{className:ch,children:[(0,sI.jsx)(cI,{id:k?x:void 0,ref:t,className:sP()("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,sI.jsx)(cW,{className:c_,segment:e}):(0,sI.jsx)(rF().Fragment,{})}),(0,sI.jsx)(lC.$,{className:sP()(cy,{[cx]:"sm"===h,[cb]:"md"===h||!h||0===h.length,[ck]:"lg"===h}),children:(0,sI.jsx)(cA,{})})]}),(0,sI.jsx)(lE.b,{className:cv,children:s})]}),(0,sI.jsx)(cj,{variant:"single",today_:b})]})})})})}),cB=(0,rU.forwardRef)(function({className:e,defaultValue:t,invalid:o,invalidText:n,isDisabled:r,isInvalid:i,label:s,labelText:a,light:l,maxDate:c,minDate:u,onChange:d,onChangeRaw:m,size:p="md",value:f,...g},h){let{calendar:_,intlLocale:w,today_:v}=ca(),y=(0,rU.useId)(),b=!!(a??s),x=(0,rU.useMemo)(()=>{if(f)return{start:lR(f[0],_,!1),end:lR(f[1],_,!1)}},[f,_]),k=(0,rU.useMemo)(()=>{if(t)return{start:lR(t[0],_,!1),end:lR(t[1],_,!1)}},[t,_]),S=(0,rU.useMemo)(()=>lR(u??cl,_,!0),[u,_]),j=(0,rU.useMemo)(()=>lR(c,_,!0),[c,_]),N=(0,rU.useMemo)(()=>o||i,[o,i]),C=(0,rU.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?.([lT(e.start),lT(e.end)]))),[m,d]);return(0,sI.jsx)(lA,{locale:w.toString(),children:(0,sI.jsx)("div",{className:sP()("cds--form-item",e),children:(0,sI.jsx)(lk.Kq,{values:[[cs,w]],children:(0,sI.jsx)(lS.Ur,{id:b?y:void 0,className:sP()("cds--date-picker",{"cds--date-picker--light":l,"cds--date-picker--disabled":r}),isInvalid:N,shouldForceLeadingZeros:"en"===w.language||void 0,maxValue:j,minValue:S,value:x,defaultValue:k,ref:h,isDisabled:r,...g,onChange:C,children:(0,sI.jsxs)("div",{className:"cds--date-picker-container",children:[b&&(0,sI.jsx)(lj.J,{className:sP()("cds--label",{"cds--label--disabled":r}),htmlFor:y,children:a??s}),(0,sI.jsxs)(lN.Y,{className:ch,children:[(0,sI.jsxs)("div",{className:sP()("-esm-devtools__datepicker-module__inputsWrapper___YlkGh",{"-esm-devtools__datepicker-module__inputsWrapperSm___fAKhS":"sm"===p,"-esm-devtools__datepicker-module__inputsWrapperMd___XVgGP":"md"===p||!p||0===p.length,"-esm-devtools__datepicker-module__inputsWrapperLg___UgHJ1":"lg"===p}),children:[(0,sI.jsx)(cC.J3,{className:sP()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__startInput___qgbQm",cw),slot:"start",children:e=>(0,sI.jsx)(cW,{className:c_,segment:e})}),(0,sI.jsx)("div",{className:"-esm-devtools__datepicker-module__separator___79vXZ",children:(0,sI.jsx)("span",{"aria-hidden":"true","data-readonly":!0,children:"–"})}),(0,sI.jsx)(cC.J3,{className:sP()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__endInput___huv7x",cw),slot:"end",children:e=>(0,sI.jsx)(cW,{className:c_,segment:e})})]}),(0,sI.jsx)(lC.$,{className:sP()(cy,{[cx]:"sm"===p,[cb]:"md"===p||!p||0===p.length,[ck]:"lg"===p}),children:(0,sI.jsx)(cA,{})})]}),(0,sI.jsx)(lE.b,{className:cv,children:n}),(0,sI.jsx)(cj,{variant:"range",today_:v,minDate:S,maxDate:j})]})})})})})}),cU=({diagnoses:e})=>{let{diagnosisTags:t}=iI({externalModuleName:"@openmrs/esm-styleguide"});return(0,sI.jsx)("div",{className:"-esm-devtools__diagnosis-tags-module__container___8kut8",children:e.map(e=>{let{rank:o,uuid:n,display:r}=e,i=t[1===o?"primaryColor":"secondaryColor"];return(0,sI.jsx)(sM.Tag,{type:i,children:r},n)})})},cF={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"},cH=({width:e="64",height:t="64"})=>(0,sI.jsx)("svg",{width:e,height:t,viewBox:"0 0 64 64",children:(0,sI.jsx)("use",{href:"#omrs-empty-data-illustration"})}),cG=e=>{let t="tablet"===i0(),o=e.launchForm;return(0,sI.jsx)(sM.Layer,{className:cF.layer,children:(0,sI.jsxs)(sM.Tile,{className:cF.tile,children:[(0,sI.jsx)("div",{className:t?cF.tabletHeading:cF.desktopHeading,children:(0,sI.jsx)("h4",{children:e.headerTitle})}),(0,sI.jsx)(cH,{}),(0,sI.jsx)("p",{className:cF.content,children:tc("emptyStateText","There are no {{displayText}} to display",{displayText:e.displayText})}),(0,sI.jsx)("p",{className:cF.action,children:o&&(0,sI.jsx)(sM.Button,{onClick:()=>o(),kind:"ghost",size:t?"lg":"sm",children:tc("recordNewEntry","Record {{ displayText }}",{displayText:e.displayText})})})]})})},cz=({error:e,headerTitle:t})=>{let o="tablet"===i0();return(0,sI.jsx)(sM.Layer,{children:(0,sI.jsxs)(sM.Tile,{className:"-esm-devtools__error-state-module__tile___dd418",children:[(0,sI.jsx)("div",{className:o?"-esm-devtools__error-state-module__tabletHeading___g5rjg":"-esm-devtools__error-state-module__desktopHeading___Nd9u2",children:(0,sI.jsx)("h4",{children:t})}),(0,sI.jsxs)("p",{className:"-esm-devtools__error-state-module__errorMessage___z2RiN",children:[tc("error","Error")," ",`${e?.response?.status}: `,e?.response?.statusText]}),(0,sI.jsx)("p",{className:"-esm-devtools__error-state-module__errorCopy___dq+e2",children:tc("errorCopy")})]})})},cV=cz,cJ=rF().forwardRef((e,t)=>{let{slotName:o,basePath:n,componentContext:r,state:i}=i6(),s=window.location??{pathname:""},a=r2(o??"");return e.isChildOfHeader&&o&&a.length>0?(0,sI.jsxs)(sM.SideNav,{"aria-label":tc("leftNavigation","Left navigation"),className:"-esm-devtools__left-nav-module__leftNav___jzTJK",expanded:!0,isFixedNav:!0,ref:t,...e,children:[(0,sI.jsx)(r8,{name:"global-nav-menu-slot"}),o?(0,sI.jsx)(iv,{value:r,fallback:(0,sI.jsx)(r8,{name:o,state:{basePath:n,currentPath:s,...i}}),children:(0,sI.jsx)(rH.Provider,{value:r,children:(0,sI.jsx)(r8,{name:o,state:{basePath:n,currentPath:s,...i}})})}):null]}):null}),cq=({selectedLocationUuid:e,defaultLocationUuid:t,locationTag:o,locationsPerRequest:n=50,onChange:r})=>{let[i,s]=(0,rU.useState)(""),a=(0,rU.useId)(),{location:l}=function(e){let t=e?`/ws/fhir2/R4/Location?_id=${e}`:null,{data:o,error:n,isLoading:r}=(0,iO.A)(t,tN,{shouldRetryOnError:e=>!!e?.response?.status&&e.response.status>=500});return(0,rU.useMemo)(()=>({location:o?.data?.entry?o.data.entry[0]:null,error:t?n:null,isLoading:!!t&&r}),[o,r,n,t])}(t),{locations:c,isLoading:u,hasMore:d,loadingNewData:m,error:p,setPage:f}=function(e,t=0,o=""){let n=iP(o),{data:r,isLoading:i,isValidating:s,setSize:a,error:l}=(0,iV.Ay)(function(o,r){if(r){let e=r.data?.link?.find(e=>"next"===e.relation);if(!e)return null;let t=new URL(e.url);return t.origin===window.location.origin?e.url:new URL(`${t.pathname}${t.search?`?${t.search}`:""}`,window.location.origin).toString()}let i=`${tk}/Location?`,s=new URLSearchParams;return s.append("_summary","data"),t&&s.append("_count",""+t),o&&s.append("_getpagesoffset",""+o*t),e&&s.append("_tag",e),"string"==typeof n&&""!==n&&s.append("name:contains",n),i+s.toString()},tN);return(0,rU.useMemo)(()=>({locations:r?.length?r?.flatMap(e=>e?.data?.entry??[]):[],isLoading:i,totalResults:r?.[0]?.data?.total,hasMore:!!r?.length&&r?.[r.length-1]?.data?.link?.some(e=>"next"===e.relation),loadingNewData:s,error:l||null,setPage:a}),[i,r,s,a,l])}(o,n,i),g=(0,rU.useMemo)(()=>l&&!i&&t?[l,...c.filter(({resource:e})=>e.id!==t)]:c??[],[l,c,t,i]),h=(0,rU.useCallback)(e=>{r(),s(e.trim())},[r]),_=i4((0,rU.useCallback)(()=>{!m&&d&&f(e=>e+1)},[m,d,f])),w=d?Math.max(0,Math.floor(g.length-n/2)):-1;return(0,sI.jsxs)(sI.Fragment,{children:[(0,sI.jsx)(sM.Search,{"aria-describedby":p?`${a}-error`:void 0,labelText:tc("searchForLocation"),id:a,placeholder:tc("searchForLocation"),onChange:e=>h(e.target.value),size:"lg"}),p&&(0,sI.jsx)("div",{className:"-esm-devtools__location-picker-module__errorNotification___vWBFD",id:`${a}-error`,children:(0,sI.jsx)(sM.InlineNotification,{kind:"error",subtitle:tc("errorLoadingLoginLocations","Unable to load login locations. Please try again or contact support if the problem persists."),title:tc("error","Error")})}),(0,sI.jsx)("div",{className:"-esm-devtools__location-picker-module__searchResults___Gbet+",children:u?(0,sI.jsx)("div",{className:"-esm-devtools__location-picker-module__loadingContainer___QO-zj",children:Array.from({length:5}).map((e,t)=>(0,sI.jsx)(sM.RadioButtonSkeleton,{className:"-esm-devtools__location-picker-module__radioButtonSkeleton___otoCy",role:"progressbar"},t))}):(0,sI.jsxs)(sI.Fragment,{children:[(0,sI.jsx)("div",{className:"-esm-devtools__location-picker-module__locationResultsContainer___6Pasf",children:g.length>0?(0,sI.jsx)(sM.RadioButtonGroup,{name:"loginLocations",onChange:e=>{r(e?.toString())},orientation:"vertical",valueSelected:e,children:g.map((e,t)=>(0,sI.jsx)(sM.RadioButton,{className:"-esm-devtools__location-picker-module__locationRadioButton___rTDPj",id:e.resource.id,labelText:(0,sI.jsx)("span",{ref:t===w?_:null,children:e.resource.name}),name:e.resource.name,value:e.resource.id},e.resource.id))}):(0,sI.jsx)("div",{className:"-esm-devtools__location-picker-module__emptyState___w4-Ca",children:(0,sI.jsx)("p",{className:"-esm-devtools__location-picker-module__locationNotFound___Of2MJ",children:tc("noResultsToDisplay")})})}),m&&(0,sI.jsx)("div",{className:"-esm-devtools__location-picker-module__loadingIcon___NAwSB",children:(0,sI.jsx)(sM.InlineLoading,{description:tc("loading")})})]})})]})},cK=O("modalState",{modalContainer:null,modalStack:[]}),cX=0;async function cY(e,t,o={}){let n=rw(t),r=null;if(e){if(!n)throw Error(`No modal named '${t}' has been registered.`);let{load:i}=n,s=await i(),a=cX++;r=await rW({...s,name:`${t}-${a}`},{...o,domElement:e})}else w(`Failed to launch modal. Please notify your administrator. Modal name: ${t}`);return r}function cZ(e){return"TO_BE_DELETED"===e.state||"DELETED"===e.state}function cQ(e,t){t?.unmount&&(t.unmountPromise?.catch(()=>{}),t.unmount().catch(t=>{console.error(`The modal '${e}' failed to unmount`,t)}))}function c0(e){return e.find(e=>!cZ(e))}function c1(e,t){e.container&&(e.container.style.visibility=t?"unset":"hidden")}let c2=window.getComputedStyle(document.body).overflow;function c6({modalStack:e,modalContainer:t}){if(t)if(e.length){t.style.visibility||(addEventListener("keydown",c8),document.body.style.overflow="hidden",t.style.visibility="unset");let o=c0(e);e.forEach(e=>{switch(e.state){case"NEW":{let o=function({size:e}){let t=document.createElement("div");return t.className=`cds--modal-container cds--modal-container--${e}`,t.setAttribute("role","dialog"),t.setAttribute("tabindex","-1"),t.setAttribute("aria-modal","true"),t}({size:e.props?.size??"md"});e.container=o,e.state="MOUNTING",cY(o,e.modalName,e.props).then(n=>{cZ(e)?cQ(e.modalName,n):n?(e.parcel=n,t.prepend(o),c1(e,c0(cK.getState().modalStack)===e),n.mountPromise.then(()=>{cZ(e)||(e.state="MOUNTED")},t=>{w(t),e.parcel=null,c5(e)})):c5(e)},t=>{w(t),c5(e)});break}case"MOUNTING":case"MOUNTED":c1(e,e===o);break;case"TO_BE_DELETED":e.state="DELETED",e.onClose(),cQ(e.modalName,e.parcel),e.container?.remove(),setTimeout(()=>{let t=cK.getState();cK.setState({...t,modalStack:t.modalStack.filter(t=>t!==e)})},0)}})}else t.style.removeProperty("visibility"),document.body.style.overflow=c2,removeEventListener("keydown",c8)}function c5(e){if(cZ(e))return;e.state="TO_BE_DELETED";let t=cK.getState();cK.setState({...t,modalStack:[...t.modalStack]})}function c8(e){"Escape"===e.key&&function(){let[e]=cK.getState().modalStack;e&&c5(e)}()}function c3(e){cK.subscribe(c6),cK.setState({...cK.getState(),modalContainer:e})}function c4(e,t={},o=()=>{}){let n=()=>{let e=cK.getState().modalStack.find(e=>e.onClose===o);e&&c5(e)};if(rw(e)){var r;let i,s;r={state:"NEW",onClose:o,modalName:e,props:{close:n,...t}},s=[r,...(i=cK.getState()).modalStack],cK.setState({...i,modalStack:s})}else w(`Failed to launch modal. Please notify your administrator. Modal name: "${e}"`);return n}var c7=o(9685);let c9=({notification:e})=>{let{description:t,action:o,kind:n,critical:r,title:i,onAction:s}=e;return(0,sI.jsx)(sM.ActionableNotification,{actionButtonLabel:o,kind:n||"info",lowContrast:r,subtitle:t,title:i||"",inline:!0,onActionButtonClick:s})},ue=({subject:e})=>{let[t,o]=(0,rU.useState)([]);return(0,rU.useEffect)(()=>{let t=e.subscribe(e=>o(t=>[...t.filter(t=>t.description!==e.description||t.action!==e.action||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,sI.jsx)(sI.Fragment,{children:t.map(e=>(0,sI.jsx)(c9,{notification:e},e.id))})},ut=({notification:e})=>{let{actionButtonLabel:t,onActionButtonClick:o=()=>{},subtitle:n,kind:r,title:i,critical:s,progressActionLabel:a,id:l,...c}=e,[u,d]=(0,rU.useState)(t);return(0,sI.jsx)(sM.ActionableNotification,{kind:r||"info",actionButtonLabel:u,ariaLabel:tc("closesActionableNotification","Closes actionable notification"),onActionButtonClick:()=>{o(),a&&d(a)},statusIconDescription:tc("actionableNotification","Actionable notification"),subtitle:n,title:i,lowContrast:s,inline:!0,...c})},uo=({subject:e})=>{let[t,o]=(0,rU.useState)([]);return(0,rU.useEffect)(()=>{let t=e.subscribe(e=>o(t=>[...t.filter(t=>t.subtitle!==e.subtitle||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,sI.jsx)(sI.Fragment,{children:t.map(e=>(0,sI.jsx)(ut,{notification:e},e.id))})};class un{subscribe(e){return this.listeners.add(e),{unsubscribe:()=>{this.listeners.delete(e)}}}next(e){for(let t of[...this.listeners])t(e)}constructor(){!function(e,t,o){t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o}(this,"listeners",new Set)}}let ur=new un,ui=0,us=new un,ua=0;function ul(e){e&&(0,r3.createRoot)(e).render((0,sI.jsx)(ue,{subject:ur}))}function uc(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&(t instanceof Error||!(0,c7.A)(t)))?(e.description instanceof Error&&(e.description=e.description.toLocaleString()),setTimeout(()=>{ur.next({...e,id:ui++})},0)):console.error("showNotification must be called with an object having a 'description' property that is a non-empty string or object")}function uu(e){e&&(0,r3.createRoot)(e).render((0,sI.jsx)(uo,{subject:us}))}function ud(e){var t;e&&("string"==typeof(t=e.actionButtonLabel)?t.trim().length>0:"object"==typeof t&&!(0,c7.A)(t))?setTimeout(()=>{us.next({...e,id:ua++})},0):console.error("showActionableNotification must be called with an actionButtonLabel that is a non-empty string")}let um=["NORMAL","HIGH","CRITICALLY_HIGH","OFF_SCALE_HIGH","LOW","CRITICALLY_LOW","OFF_SCALE_LOW"],up=["critically_low","critically_high","high","low","normal","off_scale_low","off_scale_high"],uf={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"},ug=({value:e,unit:t,label:o,interpretation:n,referenceRange:r,conceptUuid:i,variant:s="card",patientUuid:a})=>{let l=(0,rU.useId)(),{referenceRange:c,isLoading:u}=function(e,t){let o=null;e&&(o=t?`${tx}/conceptreferencerange/?patient=${t}&concept=${e}&v=full`:`${tx}/conceptreferencerange/?concept=${e}&v=full`);let{data:n,error:r,isLoading:i}=(0,iO.A)(o,tN),s=n?.data?.results?.[0];return{referenceRange:s?{hiNormal:s.hiNormal??null,hiAbsolute:s.hiAbsolute??null,hiCritical:s.hiCritical??null,lowNormal:s.lowNormal??null,lowAbsolute:s.lowAbsolute??null,lowCritical:s.lowCritical??null}:void 0,error:r,isLoading:i}}(r||n?void 0:i,a),d=r??c,m=(0,rU.useMemo)(()=>{if(n)return n?"--"===n?"normal":um.includes(n)?n.toLowerCase():up.includes(n)?n:"normal":void 0;if(d&&!u){if(!d||null==e||""===e)return"normal";let t="string"==typeof e?Number.parseFloat(e):e;return Number.isNaN(t)?"normal":null!==d.hiAbsolute&&void 0!==d.hiAbsolute&&t>d.hiAbsolute?"off_scale_high":null!==d.hiCritical&&void 0!==d.hiCritical&&t>=d.hiCritical?"critically_high":null!==d.hiNormal&&void 0!==d.hiNormal&&t>d.hiNormal?"high":null!==d.lowAbsolute&&void 0!==d.lowAbsolute&&t<d.lowAbsolute?"off_scale_low":null!==d.lowCritical&&void 0!==d.lowCritical&&t<=d.lowCritical?"critically_low":null!==d.lowNormal&&void 0!==d.lowNormal&&t<d.lowNormal?"low":"normal"}return"normal"},[n,d,e,u])??"normal",p="critically_low"===m||"critically_high"===m||"off_scale_low"===m||"off_scale_high"===m,f="normal"!==m,g=o?`omrs-numeric-obs-label-${o.replaceAll(/\s+/g,"-").toLowerCase()}-${l}`:void 0,h=`omrs-numeric-obs-value-${l}`,_=`omrs-numeric-obs-unit-${l}`,w=null!=e&&""!==e,v=w?e:tc("notAvailable","Not available"),y=sP()({[uf["critically-low"]]:"critically_low"===m||"off_scale_low"===m,[uf["critically-high"]]:"critically_high"===m||"off_scale_high"===m,[uf.low]:"low"===m,[uf.high]:"high"===m,[uf["off-scale-low"]]:"off_scale_low"===m,[uf["off-scale-high"]]:"off_scale_high"===m}),b=sP()({[uf.container]:!0,[uf.card]:!0,[uf["critical-value"]]:p,[uf["abnormal-value"]]:f&&!p}),x=sP()({[uf.cell]:!0,[y]:!0});return"cell"===s?(0,sI.jsxs)("div",{className:x,children:[v,w&&t?` ${t}`:""]}):(0,sI.jsxs)("section",{className:b,"data-testid":"numeric-observation-card",children:[o&&(0,sI.jsxs)("div",{className:uf["label-container"],children:[(0,sI.jsx)("span",{id:g,className:uf.label,children:o}),f&&(0,sI.jsx)("span",{className:uf[m.replace("_","-")],title:tc("abnormalValue","Abnormal value")})]}),(0,sI.jsxs)("div",{className:uf["value-container"],children:[(0,sI.jsx)("span",{id:h,"aria-labelledby":g&&_?`${g} ${_}`:g||_||void 0,className:uf.value,children:v}),w&&t&&(0,sI.jsx)("span",{id:_,className:uf.units,children:t})]})]})},uh="-esm-devtools__page-header-module__pageHeader___YOpQL",u_=e=>{if("children"in e){let{children:t,className:o,...n}=e;return(0,sI.jsx)("div",{className:sP()(uh,o),...n,children:t})}{let{title:t,illustration:o,className:n,...r}=e;return(0,sI.jsx)("div",{className:sP()(uh,n),...r,children:(0,sI.jsx)(uw,{title:t,illustration:o})})}},uw=({title:e,illustration:t,className:o})=>{let[n,r]=(0,rU.useState)(null);return(0,rU.useEffect)(()=>{eO("@openmrs/esm-styleguide").then(e=>{r(e)})},[]),(0,sI.jsxs)("div",{className:sP()("-esm-devtools__page-header-module__pageHeaderContent___PjsJm",o),children:[t,(0,sI.jsxs)("div",{className:"-esm-devtools__page-header-module__pageLabels___pPcKj",children:[n?.implementationName&&(0,sI.jsx)("p",{children:tc(n.implementationName)}),(0,sI.jsx)("p",{className:"-esm-devtools__page-header-module__pageName___3d4IC",children:e})]})]})},uv=({totalItems:e,pageSize:t,onPageNumberChange:o,pageNumber:n,dashboardLinkUrl:r,currentItems:i,dashboardLinkLabel:s})=>{let{pageSizes:a,pageItemsCount:l}=se(t,e,n,i),c="tablet"===i0(),u=tc("paginationItemsCount","{{pageItemsCount}} / {{totalItems}} items",{totalItems:e,pageItemsCount:l});return(0,sI.jsx)(sI.Fragment,{children:e>0&&(0,sI.jsxs)("div",{className:sP()({"-esm-devtools__pagination-module__tablet___lQ3ak":c,"-esm-devtools__pagination-module__desktop___HfUTY":!c}),children:[(0,sI.jsxs)("div",{children:[u,r&&(0,sI.jsx)(rG,{to:r,className:"-esm-devtools__pagination-module__configurableLink___NM9v7",children:s??tc("seeAll","See all")})]}),(0,sI.jsx)(sM.Pagination,{className:"-esm-devtools__pagination-module__pagination___WzkBs",page:n,pageSize:t,pageSizes:a,totalItems:e,onChange:o,pageRangeText:(e,t)=>tc("paginationOfPages","of {{count}} pages",{count:t}),size:c?"lg":"sm"})]})})};function uy(e){return ux(uS(e,"usual","official"))}function ub(e){return uy(e)}function ux(e){var t;let o;return e?e.text??(o=(t=e).given??[],(t.family?o.concat(t.family):o).join(" ")):""}function uk(e){return ux(e)}function uS(e,...t){for(let o of(0==t.length&&(t=["usual"]),t)){let t=e.name?.find(e=>{var t,n;return t=e,n=o,t.use?t.use===n:"usual"===n});if(t)return t}}function uj(e,t=sa()){let o=sa(t),n=l9(e,o);if(null==n)return null;let r=o.diff(n,"hours"),i=o.diff(n,"days"),s=o.diff(n,"weeks"),a=o.diff(n,"months"),l=o.diff(n,"years"),c={};if(r<2)c.minutes=o.diff(n,"minutes");else if(i<2)c.hours=r;else if(s<4)c.days=i;else if(l<1){let e=o.subtract(s,"weeks").diff(n,"days");c.weeks=s,c.days=e}else if(l<2){let e=o.subtract(a,"months").diff(n,"days");c.months=a,c.days=e}else if(l<18){let e=o.subtract(l,"year").diff(n,"months");c.years=l,c.months=e}else c.years=l;return c}function uN(e,t=sa()){let o=uj(e,t);if(null==o)return null;let n={style:"short",localeMatcher:"lookup"};return"minutes"in o&&0===o.minutes&&(n.minutesDisplay="always"),l7(o,n)}let uC={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 uE({showIdentifierLabel:e,type:t,value:o}){return(0,sI.jsx)("span",{className:uC.primaryIdentifier,children:(0,sI.jsxs)(sM.Tag,{className:uC.tag,type:"gray",children:[e&&t?.text&&(0,sI.jsxs)("span",{className:uC.label,children:[t.text,": "]}),(0,sI.jsx)("span",{className:uC.value,children:o})]})})}function uI({showIdentifierLabel:e,type:t,value:o}){return(0,sI.jsxs)(sM.FormLabel,{className:uC.secondaryIdentifier,id:`patient-banner-identifier-${o}`,children:[e&&(0,sI.jsxs)("span",{className:uC.label,children:[t?.text,": "]}),(0,sI.jsx)("span",{className:uC.value,children:o})]})}function uA({identifiers:e,showIdentifierLabel:t}){let{excludePatientIdentifierCodeTypes:o}=iI(),{primaryIdentifierCode:n}=sn(),r=e?.filter(e=>{let t=e.type?.coding?.[0]?.code;return t&&!o?.uuids.includes(t)})??[];return(0,sI.jsx)(sI.Fragment,{children:r?.length?r.map(({value:e,type:o},i)=>(0,sI.jsxs)(rF().Fragment,{children:[(0,sI.jsx)("span",{className:uC.identifier,children:o?.coding?.[0]?.code===n?(0,sI.jsx)(uE,{showIdentifierLabel:t,type:o,value:e}):(0,sI.jsx)(uI,{showIdentifierLabel:t,type:o,value:e})}),i<r.length-1&&(0,sI.jsx)("span",{className:uC.separator,children:"\xb7"})]},e)):""})}let uP={Female:aw,Male:av,Other:ay,Unknown:ab},uO=({gender:e})=>{let t=uP[e];return t?(0,sI.jsx)(t,{fill:"#525252"}):null},u$={male:"Male",female:"Female",other:"Other",unknown:"Unknown"};function uR({patient:e,renderedFrom:t}){var o;let n,r,i=uy(e),s=e?.gender&&(r=u$[n=(o=e.gender).toLowerCase()]??"Unknown",{displayText:tc(n,o),iconKey:r}),a=(0,rU.useMemo)(()=>({patientUuid:e.id,patient:e,renderedFrom:t}),[e.id,e,t]);return(0,sI.jsxs)("div",{className:uC.patientInfo,children:[(0,sI.jsx)("div",{className:sP()(uC.row,uC.patientNameRow),children:(0,sI.jsxs)("div",{className:uC.flexRow,children:[(0,sI.jsx)("span",{className:uC.patientName,children:i}),s&&(0,sI.jsxs)("div",{className:uC.gender,children:[(0,sI.jsx)(uO,{gender:s.iconKey}),(0,sI.jsx)("span",{children:s.displayText})]}),(0,sI.jsx)(r8,{className:uC.tagsSlot,name:"patient-banner-tags-slot",state:a})]})}),(0,sI.jsxs)("div",{className:uC.demographics,children:[e.birthDate&&(0,sI.jsxs)(sI.Fragment,{children:[(0,sI.jsx)("span",{children:uN(e.birthDate)}),(0,sI.jsx)("span",{className:uC.separator,children:"\xb7"}),(0,sI.jsx)("span",{children:l2(e.birthDate,{time:!1})}),(0,sI.jsx)("span",{className:uC.separator,children:"\xb7"})]}),(0,sI.jsx)(uA,{identifiers:e.identifier,showIdentifierLabel:!0}),(0,sI.jsx)(r8,{className:uC.extensionSlot,name:"patient-banner-bottom-slot",state:a})]})]})}var uT=o(7683);function uM({patient:e,patientUuid:t,actionsSlotName:o,additionalActionsSlotState:n}){let[r,i]=(0,rU.useState)(!1),{extensions:s}=r6(o),a="tablet"===i0(),l=i3(()=>i(!1),r),c=(0,rU.useRef)(null),u=(0,rU.useRef)(null),d=(0,rU.useId)(),m=`patient-actions-menu-trigger-${d}`,p=`patient-actions-menu-${d}`,f=(0,rU.useCallback)(()=>i(e=>!e),[]),g=(0,rU.useCallback)(()=>{i(!1),c.current?.focus()},[]),h=(0,rU.useCallback)(e=>{if("Escape"===e.key&&r){e.stopPropagation(),g();return}if(("ArrowDown"===e.key||"ArrowUp"===e.key)&&r){e.preventDefault();let t=u.current?.querySelectorAll('[role="menuitem"]:not([disabled])');if(!t?.length)return;let o=document.activeElement?.closest?.('[role="menuitem"]')??document.activeElement,n=Array.from(t).indexOf(o);if(-1===n)return void t["ArrowDown"===e.key?0:t.length-1]?.focus();let r=n+("ArrowDown"===e.key?1:-1),i=r<0?t.length-1:r>=t.length?0:r;t[i]?.focus()}},[g,r]);(0,rU.useEffect)(()=>{if(r&&u.current){let e=u.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[r]);let _=(0,rU.useMemo)(()=>({patientUuid:t,patient:e,closeMenu:g,...n}),[t,e,g,n]);return 0===s.length?null:(0,sI.jsx)("div",{className:"-esm-devtools__patient-banner-actions-menu-module__overflowMenuContainer___lXHHD",children:(0,sI.jsxs)("div",{"data-overflow-menu":!0,className:sP()("cds--overflow-menu",sD),ref:l,children:[(0,sI.jsxs)("button",{className:sP()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":r},sF),"aria-controls":p,"aria-expanded":r,"aria-haspopup":"true",id:m,onClick:f,onKeyDown:h,ref:c,children:[(0,sI.jsx)("span",{className:"-esm-devtools__patient-banner-actions-menu-module__actionsButtonText___SdOyM",children:tc("actions","Actions")})," ",(0,sI.jsx)(uT.CH,{size:16,style:{marginLeft:"0.5rem",fill:"#78A9FF"}})]}),(0,sI.jsxs)("div",{className:sP()("cds--overflow-menu-options","cds--overflow-menu--flip",sB,{[sU]:r}),"aria-labelledby":m,"data-floating-menu-direction":"bottom",id:p,onKeyDown:h,ref:u,role:"menu",tabIndex:-1,children:[(0,sI.jsx)("ul",{className:sP()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":a}),children:(0,sI.jsx)(r8,{name:o,state:_},o)}),(0,sI.jsx)("span",{})]})]})})}var uW=o(397),uL=o.n(uW);function uD(e){let{patientPhotoConceptUuid:t}=iI({externalModuleName:"@openmrs/esm-styleguide"}),o=t?`${tx}/obs?patient=${e}&concept=${t}&v=full`:null,{data:n,error:r,isLoading:i}=(0,r9.u)(e?o:null,tN),s=n?.data?.results[0];return{data:s?{dateTime:s?.obsDatetime,imageSrc:s?.value?.links?.uri}:null,error:r,isLoading:i}}let uB=({width:e=56,height:t=56,"aria-label":o})=>{let{t:n}=(0,r7.useTranslation)();return(0,sI.jsxs)("svg",{"aria-label":o??n("patientPhotoPlaceholder","Patient photo placeholder"),width:e,height:t,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,sI.jsx)("path",{fill:"#ffffff",d:"M0 0h56v56H0z"}),(0,sI.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"})]})},uU="-esm-devtools__patient-photo-module__avatar___t5TmZ";function uF({patientUuid:e,patientName:t,alt:o}){let{data:n,isLoading:r}=uD(e),[i,s]=(0,rU.useState)(null),[a,l]=(0,rU.useState)(!1),c=(0,rU.useMemo)(()=>uL().generate(e),[e]);(0,rU.useEffect)(()=>{if(n?.imageSrc){let e=new URL(n.imageSrc,window.location.origin).pathname;l(!0);let t=!1,o=new Image;return o.onload=()=>{t||(s(e),l(!1))},o.onerror=()=>{t||(s(null),l(!1))},o.src=e,()=>{t=!0}}s(null),l(!1)},[n?.imageSrc]);let u=(0,rU.useMemo)(()=>o||(i?tc("patientPhotoAlt","Profile photo of {{patientName}}",{patientName:t}):tc("patientAvatarAlt","Avatar for {{patientName}}",{patientName:t})),[o,i,t]);return r||a?(0,sI.jsx)(sM.SkeletonIcon,{className:"-esm-devtools__patient-photo-module__skeleton___ueN8Q","data-testid":"skeleton-icon"}):n?.imageSrc&&!i?(0,sI.jsx)(uB,{"aria-label":tc("patientPhotoPlaceholder","Photo placeholder for {{patientName}}",{patientName:t})}):i?(0,sI.jsx)("div",{"aria-label":u,children:(0,sI.jsx)("img",{className:uU,src:i,alt:u,title:t})}):(0,sI.jsx)("div",{"aria-label":u,children:(0,sI.jsx)("div",{className:uU,title:t,style:{backgroundImage:c.toDataUrl(),backgroundRepeat:"no-repeat",backgroundSize:"cover"},children:(0,sI.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 uH=["omrs-pict-appointments","omrs-pict-assessment-1","omrs-pict-assessment-2","omrs-pict-blood-bank","omrs-pict-cardiology","omrs-pict-ct-scan","omrs-pict-dentistry","omrs-pict-digital-trust","omrs-pict-emergency-department","omrs-pict-facility","omrs-pict-geriatrics","omrs-pict-gynaecology","omrs-pict-in-patient","omrs-pict-laboratory","omrs-pict-labs-2","omrs-pict-metadata-export","omrs-pict-obstetrics","omrs-pict-patient-search","omrs-pict-patients","omrs-pict-payments-desk","omrs-pict-pharmacy","omrs-pict-pharmacy-2","omrs-pict-registration","omrs-pict-service-queues","omrs-pict-stock-management","omrs-pict-transfer","omrs-pict-triage","omrs-pict-x-ray"],uG=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-appointments",pictogramProps:e})})),uz=uG,uV=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-assessment-1",pictogramProps:e})})),uJ=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-assessment-2",pictogramProps:e})})),uq=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-blood-bank",pictogramProps:e})})),uK=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-cardiology",pictogramProps:e})})),uX=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-ct-scan",pictogramProps:e})})),uY=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-dentistry",pictogramProps:e})})),uZ=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-digital-trust",pictogramProps:e})})),uQ=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-emergency-department",pictogramProps:e})})),u0=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-facility",pictogramProps:e})})),u1=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-geriatrics",pictogramProps:e})})),u2=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-gynaecology",pictogramProps:e})})),u6=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-in-patient",pictogramProps:e})})),u5=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-laboratory",pictogramProps:e})})),u8=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-labs-2",pictogramProps:e})})),u3=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-metadata-export",pictogramProps:e})})),u4=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-obstetrics",pictogramProps:e})})),u7=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-patient-search",pictogramProps:e})})),u9=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-patients",pictogramProps:e})})),de=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-payments-desk",pictogramProps:e})})),dt=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-pharmacy",pictogramProps:e})})),dn=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-pharmacy-2",pictogramProps:e})})),dr=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-registration",pictogramProps:e})})),di=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-service-queues",pictogramProps:e})})),ds=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-stock-management",pictogramProps:e})})),da=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-transfer",pictogramProps:e})})),dl=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-triage",pictogramProps:e})})),dc=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-x-ray",pictogramProps:e})})),du=u0,dd=u9,dm=(0,rU.memo)((0,rU.forwardRef)(function({pictogram:e,fallback:t,...o},n){let r=(0,rU.useRef)(document.getElementById(e));return(0,rU.useEffect)(()=>{let t=document.getElementById("omrs-svgs-container"),o=new MutationObserver(t=>{for(let o of t)"childList"===o.type&&(r.current=document.getElementById(e))});return t&&o.observe(t,{childList:!0}),()=>o.disconnect()},[e]),(0,sI.jsx)(iv,{value:r.current,fallback:t,children:(0,sI.jsx)(dp,{ref:n,pictogram:e,pictogramProps:o})})})),dp=(0,rU.memo)((0,rU.forwardRef)(function({pictogram:e,pictogramProps:t},o){let{className:n,size:r}=Object.assign({},{size:92},t);return(r<=26||r>144)&&(console.error(`Invalid size '${r}' specified for ${e}. Defaulting to 92.`),r=92),(0,sI.jsx)("svg",{ref:o,className:sP()("-esm-devtools__pictograms-module__pictogram___wXX7t",n),height:r,width:r,children:(0,sI.jsx)("use",{href:`#${e}`})})})),df=({children:e})=>"tablet"===i0()?(0,sI.jsx)(sM.Layer,{children:e}):(0,sI.jsx)(sI.Fragment,{children:e}),dg=({snackbar:e,closeSnackbar:t})=>{let{actionButtonLabel:o="",kind:n="success",onActionButtonClick:r=()=>{},isLowContrast:i="error"!==n,progressActionLabel:s,subtitle:a="",timeoutInMs:l=5e3,autoClose:c="error"!==n,title:u,id:d,...m}=e,[p,f]=(0,rU.useState)(o),[g,h]=(0,rU.useState)(!0),[_,w]=(0,rU.useState)(!1),v=(0,rU.useCallback)(()=>{setTimeout(t,250)},[t]),y=(0,rU.useCallback)(()=>{w(!0),v()},[v]);return(0,rU.useEffect)(()=>{if(c){let e=setTimeout(y,l);return()=>clearTimeout(e)}},[l,c,y]),(0,rU.useEffect)(()=>{h(!1),window.setTimeout(()=>{h(!0)},0)},[]),(0,sI.jsx)(sM.ActionableNotification,{actionButtonLabel:p,"aria-label":tc("closeSnackbar","Close snackbar"),className:sP()("-esm-devtools__snackbar-module__slideIn___-oZIt",{"-esm-devtools__snackbar-module__animated___M2YBU":g,"-esm-devtools__snackbar-module__slideOut___yEmGT":_}),kind:n,lowContrast:i,onActionButtonClick:()=>{r(),y(),s&&f(s)},onClose:v,statusIconDescription:tc("snackbarNotification","Snackbar notification"),subtitle:a,title:u,...m})},dh=({subject:e})=>{let[t,o]=(0,rU.useState)([]),n=(0,rU.useCallback)(e=>{o(t=>t.filter(t=>t!==e))},[]);return(0,rU.useEffect)(()=>{let t=e.subscribe(e=>o(t=>[...t.filter(t=>t.subtitle!==e.subtitle||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,sI.jsx)(sI.Fragment,{children:t.map(e=>(0,sI.jsx)(dg,{snackbar:e,closeSnackbar:()=>n(e)},e.id))})},d_=new un,dw=0;function dv(e){e&&(0,r3.createRoot)(e).render((0,sI.jsx)(dh,{subject:d_}))}function dy(e){var t;e&&"string"==typeof(t=e.title)&&t.trim().length>0?setTimeout(()=>{d_.next({...e,id:dw++})},0):console.error("showSnackbar must be called with an object having a 'title' property that is a non-empty string")}let db=({toast:e,closeToast:t})=>{let{description:o,kind:n,critical:r,title:i,actionButtonLabel:s,onActionButtonClick:a=()=>{}}=e,l=(0,rU.useCallback)(()=>{a(),t()},[t,a]);return(0,sI.jsx)("div",{children:(0,sI.jsx)(sM.ActionableNotification,{actionButtonLabel:s,kind:n||"info",lowContrast:r,subtitle:o,title:i||"",onActionButtonClick:l,onClose:t})})},dx=({subject:e})=>{let[t,o]=(0,rU.useState)([]),n=(0,rU.useCallback)(e=>{o(t=>t.filter(t=>t!==e))},[]);return(0,rU.useEffect)(()=>{let t=e.subscribe(e=>o(t=>[...t.filter(t=>t.description!==e.description||t.kind!==e.kind||t.title!==e.title||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick),e]));return()=>t.unsubscribe()},[e]),(0,sI.jsx)(sI.Fragment,{children:t.map(e=>(0,sI.jsx)(db,{toast:e,closeToast:()=>n(e)},e.id))})},dk=new un,dS=0;function dj(e){e&&(0,r3.createRoot)(e).render((0,sI.jsx)(dx,{subject:dk}))}function dN(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&!(0,c7.A)(t))?setTimeout(()=>{dk.next({...e,id:dS++})},0):console.error("showToast must be called with an object having a 'description' property that is a non-empty string or object")}function dC(e,t=!1){if(t)return!0;let o=dO[e];return!o||!o()}function dE(e,t){let o=dB.getState()?.workspaceGroup,n=o?.name;n&&e===n&&dG(()=>{let n=dK(e);n&&(n.setState({},!0),n.subscribe(()=>{})()),"function"==typeof o?.cleanup&&o.cleanup(),dB.setState(e=>({...e,workspaceGroup:void 0})),"function"==typeof t&&t()},n?e=>e.currentWorkspaceGroup===n:()=>!0)}function dI(e,t){let{name:o,additionalProps:n}=t;rS(o);let r=()=>{dW(e.name,{ignoreChanges:!0,onWorkspaceClose:()=>dA(o,n),closeWorkspaceGroup:!1})};dC(e.name)?r():dV("closing-workspace-launching-new-workspace",r,e.title??e.name)}function dA(e,t){let o=rS(e),n=dB.getState().workspaceGroup;if(n&&!n.members?.includes(e))return void dE(n.name,()=>{dA(e,t)});let r=dB.getState().workspaceGroup?.name,i={...o,title:dJ(o,t),closeWorkspace:(t={})=>dW(e,t),closeWorkspaceWithSavedChanges:t=>dW(e,{ignoreChanges:!0,...t}),promptBeforeClosing:t=>{var o,n;return o=e,n=t,void(dO[o]=n)},setTitle:(t,o)=>{i.title=t,i.titleNode=o,dB.setState(t=>{let o=t.openWorkspaces.map(t=>t.name===e?i:t);return{...t,openWorkspaces:o}})},currentWorkspaceGroup:r,additionalProps:t??{}};function s(e,t){dB.setState(o=>{let n=[e,...t??o.openWorkspaces],r=dH(e);return{...o,openWorkspaces:n,workspaceWindowState:r}})}r&&dK(r,t);let a=dB.getState().openWorkspaces,l=a.findIndex(t=>t.name===e),c=a.find(e=>e.type==i.type);if(0===a.length)s(i);else if(a[0].canHide||0===l)if(l>=0){let t=a[l];s({...t,additionalProps:i.additionalProps,...t.title===dJ(t,t.additionalProps)&&{title:dJ(i,i.additionalProps)}},a.filter(t=>t.name!=e))}else c?(s(c,dB.getState().openWorkspaces.filter(e=>e.type!=i.type)),dI(c,{name:e,additionalProps:t})):s(i);else dI(a[0],{name:e,additionalProps:t})}function dP({targetUrl:e,contextKey:t,workspaceName:o,additionalProps:n}){dL(t),dA(o,n),tm({to:e})}let dO={};function d$(e,t){dO[e]=t}function dR(e){return dO[e]}function dT(){let e=dB.getState();dB.setState({...e,prompt:null})}let dM={ignoreChanges:!1,onWorkspaceClose:()=>{},closeWorkspaceGroup:!0};function dW(e,t={}){t={...dM,...t};let o=()=>{let o=dB.getState();o.openWorkspaces.find(t=>t.name===e);let n=o.openWorkspaces.filter(t=>t.name!=e),r=dB.getState().workspaceGroup?.name;r&&t.closeWorkspaceGroup&&dE(r),dO[e]=()=>!1,dB.setState(e=>({...e,prompt:null,openWorkspaces:n,workspaceWindowState:dH(n?.[0])})),t?.onWorkspaceClose?.()};return dC(e,t?.ignoreChanges)?(o(),!0):(dV("closing-workspace",o,rS(e).title??e),!1)}function dL(e){dB.getState().context!=e&&dB.setState({context:e,openWorkspaces:[],prompt:null})}let dD={context:"",openWorkspaces:[],prompt:null,workspaceWindowState:"normal",workspaceGroup:void 0},dB=O("workspace",dD);function dU(){return dB}function dF(e){let t=dB.getState();dB.setState({...t,workspaceWindowState:e})}function dH(e){return e?.preferredWindowSize??"normal"}function dG(e=()=>{},t=()=>!0){let o=dB.getState().openWorkspaces.filter(t).every(({name:e})=>dC(e)),n=()=>{dq(),e?.()};o?n():dV("closing-all-workspaces",n)}function dz(){let{workspaceWindowState:e,openWorkspaces:t,prompt:o,workspaceGroup:n}=rK(dB);return(0,rU.useMemo)(()=>({active:t.length>0,prompt:o,workspaceWindowState:e,workspaces:t,workspaceGroup:n}),[t,e,o,n])}function dV(e,t=()=>{},o=""){let n;switch(e){case"closing-workspace":n={title:tc("unsavedChangesTitleText","Unsaved changes"),body:tc("unsavedChangesInOpenedWorkspace","You may have unsaved changes in the opened workspace. Do you want to discard these changes?"),onConfirm:()=>{t?.()},confirmText:tc("discard","Discard")};break;case"closing-all-workspaces":{let e=dB.getState().openWorkspaces.filter(({name:e})=>!dC(e)).map(({title:e},t)=>`${t+1}. ${e}`);n={title:tc("closingAllWorkspacesPromptTitle","You have unsaved changes"),body:tc("closingAllWorkspacesPromptBody","There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}",{workspaceNames:e.join(",")}),onConfirm:()=>{t?.()},confirmText:tc("closeAllOpenedWorkspaces","Discard changes in {{count}} workspaces",{count:e.length})};break}case"closing-workspace-launching-new-workspace":n={title:tc("unsavedChangesTitleText","Unsaved changes"),body:tc("unsavedChangesInWorkspace",'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',{workspaceName:o}),onConfirm:()=>{dB.setState(e=>({...e,prompt:null})),t?.()},confirmText:tc("openAnyway","Open anyway")};break;default:console.error(`Workspace system trying to open unknown prompt type "${e}" in function "showWorkspacePrompts"`),t?.();return}dB.setState(e=>({...e,prompt:n}))}function dJ(e,t){return t?.workspaceTitle??e.title}function dq(){dB.setState(dD)}function dK(e,t={}){if(!e||"default"===e)return;let o=R(e,{});return t&&o.setState(e=>({...e,...t})),o}let dX="-esm-devtools__action-menu-button-module__container___f7spB",dY="-esm-devtools__action-menu-button-module__elementContainer___ZROo9",dZ="-esm-devtools__action-menu-button-module__active___+mcQh";function dQ({getIcon:e,formOpenInTheBackground:t,tagContent:o}){return(0,sI.jsxs)(sI.Fragment,{children:[e({size:16}),t?(0,sI.jsx)("span",{className:"-esm-devtools__action-menu-button-module__interruptedTag___7695L",children:"!"}):(0,sI.jsx)("span",{className:"-esm-devtools__action-menu-button-module__countTag___vo9ZX",children:o})]})}let d0=({getIcon:e,label:t,iconDescription:o,handler:n,type:r,tagContent:i})=>{let s=i0(),{workspaces:a,workspaceWindowState:l}=dz(),c=a?.findIndex(({type:e})=>e===r)??-1,u="hidden"!==l&&0===c,d=c>0||0===c&&"hidden"===l;return"tablet"===s||"phone"===s?(0,sI.jsxs)(sM.Button,{className:sP()(dX,{[dZ]:u}),iconDescription:o,kind:"ghost",onClick:n,role:"button",tabIndex:0,size:"md",children:[(0,sI.jsx)("span",{className:dY,children:(0,sI.jsx)(dQ,{formOpenInTheBackground:d,getIcon:e,tagContent:i})}),(0,sI.jsx)("span",{children:t})]}):(0,sI.jsx)(sM.IconButton,{align:"left","aria-label":o,className:sP()(dX,{[dZ]:u}),enterDelayMs:300,kind:"ghost",label:t,onClick:n,size:"md",children:(0,sI.jsx)("div",{className:dY,children:(0,sI.jsx)(dQ,{formOpenInTheBackground:d,getIcon:e,tagContent:i})})})};var d1=o(3173),d2=o(185),d6=o(4564);function d5({contextKey:e}){let{prompt:t}=dz();return(0,rU.useEffect)(()=>{RegExp(`/${(0,d6.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,rU.useEffect)(()=>(dL(e),()=>{dL(null)}),[e]),(0,rU.useEffect)(()=>{let t=t=>{let{detail:{cancelNavigation:o,newUrl:n}}=t,r=RegExp(`/${(0,d6.A)(e)}(/|$)`),i=new URL(n),s=r.test(i.pathname),a=dB.getState().openWorkspaces.every(({name:e})=>dC(e));s||(a?dq():(o?.(),dG(()=>{tm({to:n})})))};return window.addEventListener("single-spa:before-routing-event",t),()=>{window.removeEventListener("single-spa:before-routing-event",t)}},[]),null!=t?(0,sI.jsxs)(sM.ComposedModal,{open:!0,onClose:dT,children:[(0,sI.jsx)(sM.ModalHeader,{title:t.title}),(0,sI.jsx)(sM.ModalBody,{children:(0,sI.jsx)("p",{className:"-esm-devtools__workspace-notification-module__messageBody___+SBeV",children:t.body})}),(0,sI.jsxs)(sM.ModalFooter,{children:[(0,sI.jsx)(sM.Button,{kind:"secondary",onClick:dT,children:t.cancelText??tc("cancel")}),(0,sI.jsx)(sM.Button,{kind:"danger",onClick:t.onConfirm,children:t.confirmText??tc("confirm")})]})]}):null}var d8=o(1820);function d3({workspace:e,additionalPropsFromPage:t}){let[o,n]=(0,rU.useState)(),r=function(e){let[t,o]=(0,rU.useState)({}),[n,r]=(0,rU.useState)(e);return(0,rU.useEffect)(()=>{n!==e&&r(e)},[e]),(0,rU.useEffect)(()=>{let e,t=dK(n);return t&&(o(t.getState()),e=t.subscribe(o)),()=>{t&&e?.()}},[n]),t}(e.currentWorkspaceGroup);(0,rU.useEffect)(()=>{let t=!0;return e.load().then(e=>{t&&n(e)}),()=>{t=!1}},[e]);let i=(0,rU.useMemo)(()=>e&&{closeWorkspace:e.closeWorkspace,closeWorkspaceWithSavedChanges:e.closeWorkspaceWithSavedChanges,promptBeforeClosing:e.promptBeforeClosing,setTitle:e.setTitle,...t,...r,...e.additionalProps},[e,t,r]);return o?(0,sI.jsx)(d8.A,{config:o,mountParcel:rD,...i},e.name):(0,sI.jsx)(sM.InlineLoading,{className:"-esm-devtools__workspace-module__loader___H6dHj",description:`${tc("loading","Loading")} ...`})}function d4({isWithinWorkspace:e,name:t,actionMenuProps:o={}}){let[n,r]=(0,rU.useState)(!1),i=(0,rU.useRef)(window.innerHeight),{featureName:s}=(0,rU.useContext)(rH),a=i0();(0,rU.useEffect)(()=>{let e=()=>{r(!i1(a)&&i.current>window.innerHeight),i.current!=window.innerHeight&&(i.current=window.innerHeight)};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[i]);let l=`action-menu-${t&&"default"!=t?t:s}-items-slot`;return(0,sI.jsx)("aside",{className:sP()("-esm-devtools__action-menu-module__sideRail___GJUJ7",{"-esm-devtools__action-menu-module__withinWorkspace___7+TCf":e,"-esm-devtools__action-menu-module__sideRailHidden___bQ0UM":n,"-esm-devtools__action-menu-module__sideRailVisible___v-1cR":!n}),children:(0,sI.jsx)("div",{className:"-esm-devtools__action-menu-module__container___WocuW",children:(0,sI.jsx)(r8,{className:"-esm-devtools__action-menu-module__chartExtensions___Cn3Jb",name:l,state:o})})})}function d7({contextKey:e,overlay:t,showSiderailAndBottomNav:o,additionalWorkspaceProps:n,actionMenuProps:r}){let i=i0(),{workspaces:s,workspaceWindowState:a,workspaceGroup:l}=dz(),c=l?.name,u=s[0],d="hidden"===a||null==u,m=u?.width??(t?"wider":"narrow"),p=(0,rU.useMemo)(()=>o||c&&!d,[c,d,o]);return iN(!d&&!i1(i)),(0,sI.jsxs)(sI.Fragment,{children:[(0,sI.jsxs)("div",{className:o?"-esm-devtools__workspace-module__workspaceContainerWithActionMenu___AHHuu":"-esm-devtools__workspace-module__workspaceContainerWithoutActionMenu___E7yiH",children:[(0,sI.jsx)("aside",{className:sP()(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,sI.jsx)("div",{className:sP()("-esm-devtools__workspace-module__workspaceFixedContainer___pBPmo",{"-esm-devtools__workspace-module__maximizedWindow___Sew5F":"maximized"===a,"-esm-devtools__workspace-module__hiddenFixed___BxutH":d}),children:s.map((e,t)=>(0,sI.jsx)("div",{className:sP()("-esm-devtools__workspace-module__workspaceInnerContainer___tYaVV",{"-esm-devtools__workspace-module__hiddenExtraWorkspace___lBaWe":0!==t}),children:(0,sI.jsx)(rU.Suspense,{fallback:null,children:(0,sI.jsx)(r7.I18nextProvider,{i18n:window.i18next,defaultNS:e.moduleName,children:(0,sI.jsx)(d9,{workspaceInstance:e,additionalWorkspaceProps:n})})})},`workspace-container-${e?e.name:`empty-${t}`}`))})}),(0,sI.jsx)(d5,{contextKey:e})]}),p&&(0,sI.jsx)(d4,{name:c,isWithinWorkspace:!o,actionMenuProps:r})]})}function d9({workspaceInstance:e,additionalWorkspaceProps:t}){let{t:o}=(0,r7.useTranslation)(),n=i0(),{workspaceWindowState:r,workspaceGroup:i}=dz(),s=i?.name,a="maximized"===r;(0,rU.useEffect)(()=>{let t=o(e.title);t!==e.title&&e.setTitle(t)},[e.title,o,e.setTitle]);let{featureName:l}=(0,rU.useContext)(rH),c=(0,rU.useCallback)(()=>{dF(a?"normal":"maximized")},[a]),{canHide:u=!1,canMaximize:d=!1,currentWorkspaceGroup:m="",closeWorkspace:p}=(0,rU.useMemo)(()=>e??{},[e]),f=(0,rU.useMemo)(()=>({...t,...e?.additionalProps}),[t,e]);return e&&(0,sI.jsxs)(sI.Fragment,{children:[(0,sI.jsxs)(sM.Header,{"aria-label":tc("workspaceHeader","Workspace Header"),className:"-esm-devtools__workspace-module__header___-3kjt",children:[!i1(n)&&!u&&(0,sI.jsx)(sM.HeaderMenuButton,{"aria-label":tc("close","Close"),renderMenuIcon:(0,sI.jsx)(sQ,{}),onClick:()=>p()}),(0,sI.jsx)(sM.HeaderName,{prefix:"",children:e.titleNode??o(e.title)}),(0,sI.jsx)("div",{className:"-esm-devtools__workspace-module__overlayHeaderSpacer___2Zd7J"}),(0,sI.jsxs)(sM.HeaderGlobalBar,{className:"-esm-devtools__workspace-module__headerButtons___ppNsY",children:[(0,sI.jsx)(r8,{name:`workspace-header-group-${e.currentWorkspaceGroup}-slot`,state:f}),(0,sI.jsx)(r8,{name:`workspace-header-type-${e.type}-slot`,state:f}),(0,sI.jsx)(r8,{name:`workspace-header-${l}-slot`,state:f}),i1(n)&&(0,sI.jsxs)(sI.Fragment,{children:[(d||a)&&(0,sI.jsx)(sM.HeaderGlobalAction,{"aria-label":a?tc("minimize","Minimize"):tc("maximize","Maximize"),onClick:c,children:a?(0,sI.jsx)(d1.Xj,{}):(0,sI.jsx)(d1.hz,{})}),u&&!s?(0,sI.jsx)(sM.HeaderGlobalAction,{"aria-label":tc("hide","Hide"),onClick:()=>dF("hidden"),children:(0,sI.jsx)(s0,{})}):(0,sI.jsx)(sM.HeaderGlobalAction,{"aria-label":tc("close","Close"),onClick:()=>p?.(),children:(0,sI.jsx)(al,{})})]}),"tablet"===n&&u&&(0,sI.jsx)(sM.HeaderGlobalAction,{"aria-label":tc("close","Close"),onClick:()=>p?.(),children:(0,sI.jsx)(d2.d3,{})})]})]}),(0,sI.jsx)("div",{className:sP()("-esm-devtools__workspace-module__workspaceContent___cNdK1",{"-esm-devtools__workspace-module__marginWorkspaceContent___RXftx":!!m}),children:(0,sI.jsx)(d3,{workspace:e,additionalPropsFromPage:t},e.name)})]})}var me=o(4656);async function mt(e,t){let{openedGroup:o}=rN.getState();if(o){if(o.groupName===e&&mr(o.props,t))return!0;else if(!await mi({reason:"CLOSE_WORKSPACE_GROUP",explicit:!1}))return!1}return rN.setState(o=>({...o,openedGroup:{groupName:e,props:t},openedWindows:[]})),!0}async function mo(e){let{openedGroup:t,openedWindows:o}=rN.getState();if(t){if(o.length>0&&!(e||await mi({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})))return!1;rN.setState(e=>({...e,openedGroup:null,openedWindows:[]}))}return!0}async function mn(e,t=null,o=null,n=null){let r=rN.getState();if(!r.registeredWorkspacesByName[e])throw Error(`Unable to launch workspace ${e}. Workspace is not registered`);let i=rC(e);if(!i)throw Error(`Unable to launch workspace ${e}. Workspace is not registered to a workspace window`);let{openedGroup:s}=r,{name:a}=i,l=rE(a);if(!l)throw Error(`Unable to launch workspace ${e}. Workspace window ${i.name} is not registered to a workspace group`);let c=rI(e);if(s&&(s.groupName!==l.name||!mr(s.props,n)))return!!await mi({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})&&(rN.setState({...r,openedGroup:{groupName:l.name,props:n},openedWindows:[{windowName:a,openedWorkspaces:[mu(e,t)],props:o,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0);if(c>=0){let n=r.openedWindows[c],i=r.openedGroup?.props??{},s=r.isMostRecentlyOpenedWindowHidden,{openedWorkspaces:u}=n;if(mr(n.props,o)){let d=u.find(t=>t.workspaceName===e);return d&&mr(d.props,t)?((s||c!==r.openedWindows.length-1)&&rN.setState(ms.restoreWindow(r,a)),!0):!!await mi({reason:"CLOSE_WORKSPACE",explicit:!1,windowName:a,workspaceName:e})&&(rN.setState({...r,openedGroup:{groupName:l.name,props:r?.openedGroup?.props??i},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:a,openedWorkspaces:[mu(e,t)],props:n?.props??o,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return!!await mi({reason:"CLOSE_WINDOW",explicit:!1,windowName:a})&&(rN.setState({...r,openedGroup:{groupName:l.name,props:i??r?.openedGroup?.props},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:a,openedWorkspaces:[mu(e,t)],props:o,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return"closable"!=l.persistence?(rN.setState({...r,openedGroup:{groupName:l.name,props:n??r?.openedGroup?.props??null},openedWindows:[...r.openedWindows,{windowName:a,openedWorkspaces:[mu(e,t)],props:o,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0):!!await mi({reason:"CLOSE_OTHER_WINDOWS",explicit:!1,windowNameToSpare:i.name})&&(rN.setState({...r,openedGroup:{groupName:l.name,props:n??r?.openedGroup?.props??null},openedWindows:[{windowName:a,openedWorkspaces:[mu(e,t)],props:o,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}function mr(e,t){return null==e||null==t||b(e,t)}function mi(e){function t(e,t){let o=[];for(let n=e.openedWorkspaces.length-1;n>=0;n--){let r=e.openedWorkspaces[n];if(r.hasUnsavedChanges&&o.push(r),t&&r.workspaceName===t)break}return o}let{openedWindows:o,workspaceTitleByWorkspaceName:n}=rN.getState(),r=[];switch(e.reason){case"CLOSE_WORKSPACE_GROUP":r=o.flatMap(e=>t(e));break;case"CLOSE_WINDOW":{let n=o.find(t=>t.windowName===e.windowName);if(!n)throw Error(`Window ${e.windowName} not found in opened windows.`);r=t(n);break}case"CLOSE_WORKSPACE":{let n=o.find(t=>t.windowName===e.windowName);if(!n)throw Error(`Window ${e.windowName} not found in opened windows.`);r=t(n,e.workspaceName);break}case"CLOSE_OTHER_WINDOWS":r=o.filter(t=>t.windowName!==e.windowNameToSpare).flatMap(e=>t(e))}return 0===r.length?Promise.resolve(!0):new Promise(e=>{let t=c4("workspace2-close-prompt",{size:"sm",onConfirm:()=>{t(),e(!0)},onCancel:()=>{t(),e(!1)},affectedWorkspaceTitles:r.map(e=>n[e.workspaceName])})})}let ms={setWindowMaximized(e,t,o){let n=e.openedWindows.findIndex(e=>e.windowName===t),r=[...e.openedWindows],i={...r[n],maximized:o};return r[n]=i,{...e,openedWindows:r}},hideWindow:e=>({...e,isMostRecentlyOpenedWindowHidden:!0}),restoreWindow(e,t){let o=e.openedWindows.findIndex(e=>e.windowName===t),n=e.openedWindows[o],r=[...e.openedWindows.filter((e,t)=>t!==o),n];return{...e,openedWindows:r,isMostRecentlyOpenedWindowHidden:!1}},closeWorkspace(e,t){let o=rI(t);if(o<0)return e;let n={...e.openedWindows[o]},r=n.openedWorkspaces.findIndex(e=>e.workspaceName===t),i=[...e.openedWindows];n.openedWorkspaces=n.openedWorkspaces.slice(0,r);let s=e.isMostRecentlyOpenedWindowHidden;if(0===n.openedWorkspaces.length){let t=o===e.openedWindows.length-1;i.splice(o,1),t&&i.length>0&&(s=!1)}else i[o]=n;return{...e,openedWindows:i,isMostRecentlyOpenedWindowHidden:s}},openChildWorkspace(e,t,o,n){let r=e.registeredWorkspacesByName[o];if(!r)throw Error(`No workspace named "${o}" registered`);let i=e.registeredWorkspacesByName[t];if(!i)throw Error(`No workspace named "${t}" registered`);if(i.window!==r.window)throw Error(`Child workspace ${o} does not belong to the same workspace window as parent workspace ${t}`);let s=e.openedWindows.findIndex(e=>e.windowName===r.window);if(-1==s)throw Error(`Cannot open child workspace ${o} as window ${r.window} is not opened`);let{openedWorkspaces:a}=e.openedWindows[s],l=a.findIndex(e=>e.workspaceName===t);if(-1===l)throw Error(`Cannot open child workspace ${o} from parent workspace ${t} as the parent is not opened within the workspace window`);let c=a.slice(0,l+1);return{openedWindows:e.openedWindows.map((e,t)=>t==s?{...e,openedWorkspaces:[...c,mu(o,n)]}:e)}},setHasUnsavedChanges(e,t,o){let n=rI(t);if(n<0)return e;let r={...e.openedWindows[n]},i=r.openedWorkspaces.findIndex(e=>e.workspaceName===t);if(i<0)return e;r.openedWorkspaces[i]={...r.openedWorkspaces[i],hasUnsavedChanges:o};let s=[...e.openedWindows];return s[n]=r,{...e,openedWindows:s}},setWorkspaceTitle(e,t,o){let n={...e.workspaceTitleByWorkspaceName};return null===o?delete n[t]:n[t]=o,{...e,workspaceTitleByWorkspaceName:n}}};function ma(){return rX(rN,ms)}let ml=()=>(0,rU.useContext)(r4.i),mc=()=>Object.keys(rN.getState().registeredWorkspacesByName);function mu(e,t){return{workspaceName:e,props:t??{},hasUnsavedChanges:!1,uuid:(0,me.A)()}}let md={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"},mm=({title:e,children:t,hasUnsavedChanges:o=!1})=>{let n=i0(),{setWindowMaximized:r,hideWindow:i,setHasUnsavedChanges:s,openedWindows:a,openedGroup:l,registeredGroupsByName:c,registeredWindowsByName:u,registeredWorkspacesByName:d,workspaceTitleByWorkspaceName:m,setWorkspaceTitle:p,isMostRecentlyOpenedWindowHidden:f}=ma(),{workspaceName:g,isRootWorkspace:h,closeWorkspace:_,showActionMenu:w}=ml(),v=rI(g),y=a[v],b=y?.openedWorkspaces.find(e=>e.workspaceName===g);if((0,rU.useEffect)(()=>{b?.hasUnsavedChanges!=o&&s(g,o??!1)},[b?.hasUnsavedChanges,o,g,s]),(0,rU.useEffect)(()=>{m[g]!==e&&p(g,e)},[m,g,e,p]),v<0||null==l||null==b)return null;let x=c[l.groupName];if(!x)throw Error(`Cannot find registered workspace group ${l.groupName}`);let k=d[g].window,S=u[k];if(!S)throw Error(`Cannot find registered workspace window ${k}`);let{icon:j,canMaximize:N}=S,C="closable"===x.persistence,E=!!j&&!C,{maximized:I}=y,A=S?.width??"narrow",P=Object.values(u).some(e=>e.group===l.groupName&&void 0!==e.icon),O=v<a.length-1||f;return(0,sI.jsxs)("div",{className:sP()(md.workspaceOuterContainer,{[md.narrowWorkspace]:"narrow"===A,[md.widerWorkspace]:"wider"===A,[md.extraWideWorkspace]:"extra-wide"===A,[md.isActionMenuOpened]:P}),children:[(0,sI.jsx)("div",{className:sP()(md.workspaceSpacer,{[md.hidden]:O})}),(0,sI.jsx)("div",{className:sP()(md.workspaceMiddleContainer,{[md.maximized]:I,[md.hidden]:O,[md.isRootWorkspace]:h,[md.showActionMenu]:w}),children:(0,sI.jsxs)("div",{className:sP()(md.workspaceInnerContainer,{[md.maximized]:I,[md.hidden]:O,[md.isRootWorkspace]:h}),children:[(0,sI.jsxs)(sM.Header,{"aria-label":tc("workspaceHeader"),className:md.header,children:[(0,sI.jsx)(sM.HeaderName,{prefix:"",children:e}),(0,sI.jsx)("div",{className:md.overlayHeaderSpacer}),(0,sI.jsx)(sM.HeaderGlobalBar,{className:md.headerButtons,children:i1(n)?(0,sI.jsxs)(sI.Fragment,{children:[(N||I)&&(0,sI.jsx)(sM.HeaderGlobalAction,{"aria-label":I?tc("minimize"):tc("maximize"),onClick:()=>r(k,!I),children:I?(0,sI.jsx)(d1.Xj,{}):(0,sI.jsx)(d1.hz,{})}),E&&(0,sI.jsx)(sM.HeaderGlobalAction,{"aria-label":tc("hide"),onClick:()=>i(),children:(0,sI.jsx)(s0,{})}),!C&&(0,sI.jsx)(sM.HeaderGlobalAction,{"aria-label":tc("close"),onClick:()=>_({closeWindow:!0}),children:(0,sI.jsx)(al,{})})]}):(0,sI.jsxs)(sI.Fragment,{children:[E&&(0,sI.jsx)(sM.HeaderGlobalAction,{"aria-label":tc("hide"),onClick:()=>i(),children:(0,sI.jsx)(d2.d3,{})}),(0,sI.jsx)(sM.HeaderGlobalAction,{"aria-label":tc("close"),onClick:()=>{C?mo():_({closeWindow:!0})},children:(0,sI.jsx)(al,{})})]})})]}),(0,sI.jsx)("div",{className:sP()(md.workspaceContent),children:t})]})})]})},mp="-esm-devtools__action-menu-button2-module__container___jc6--",mf="-esm-devtools__action-menu-button2-module__elementContainer___whLL8",mg="-esm-devtools__action-menu-button2-module__active___fbyFm",mh="-esm-devtools__action-menu-button2-module__focused___+aVpz";function m_({getIcon:e,hasUnsavedChanges:t,tagContent:o}){return(0,sI.jsxs)(sI.Fragment,{children:[e({size:16}),t?(0,sI.jsx)("span",{className:"-esm-devtools__action-menu-button2-module__interruptedTag___sRkvS",children:"!"}):(0,sI.jsx)("span",{className:"-esm-devtools__action-menu-button2-module__countTag___XMH0D",children:o})]})}let mw=({icon:e,label:t,tagContent:o,workspaceToLaunch:n,onBeforeWorkspaceLaunch:r})=>{let i=i0(),{openedWindows:s,restoreWindow:a,hideWindow:l,isMostRecentlyOpenedWindowHidden:c}=ma(),{extension:u}=(0,rU.useContext)(rH),d=s.findIndex(e=>e.windowName===u?.extensionId),m=s[d],p=null!=m,f=p&&(d<s.length-1||c),g=p&&!f,h=m?.openedWorkspaces.some(e=>e.hasUnsavedChanges)??!1,_=async()=>{if(p)f?a(m.windowName):l();else if(await (r?.()??!0)){let{workspaceName:e,workspaceProps:t,windowProps:o}=n;mn(e,t,o)}};return"tablet"===i||"phone"===i?(0,sI.jsxs)(sM.Button,{className:sP()(mp,{[mg]:p&&!g,[mh]:g}),iconDescription:t,kind:"ghost",onClick:_,role:"button",tabIndex:0,size:"md",children:[(0,sI.jsx)("span",{className:mf,children:(0,sI.jsx)(m_,{hasUnsavedChanges:h,getIcon:e,tagContent:o})}),(0,sI.jsx)("span",{children:t})]}):(0,sI.jsx)(sM.IconButton,{align:"left","aria-label":t,className:sP()(mp,{[mg]:p&&!g,[mh]:g}),enterDelayMs:300,kind:"ghost",label:t,onClick:_,size:"md",children:(0,sI.jsx)("div",{className:mf,children:(0,sI.jsx)(m_,{hasUnsavedChanges:h,getIcon:e,tagContent:o})})})};function mv({showContactDetails:e,toggleContactDetails:t,className:o}){return(0,sI.jsx)(sM.Button,{className:o,iconDescription:"Toggle contact details",kind:"ghost",onClick:t,renderIcon:e?aa:ar,children:e?tc("showLess","Show less"):tc("showMore","Show more")})}let my={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-"},mb=({patientUuid:e})=>{let{cohorts:t=[],isLoading:o}=function(e){let t=e?`${tx}/cohortm/cohortmember?patient=${e}&v=custom:(uuid,patient:ref,cohort:(uuid,name,startDate,endDate))`:null,{data:o,isLoading:n}=(0,r9.u)(t,tN),r=o?.data?.results.map(e=>({uuid:e.cohort.uuid,name:e.cohort.name,startDate:e.cohort.startDate,endDate:e.cohort.endDate}));return(0,rU.useMemo)(()=>({cohorts:r,isLoading:n}),[n,r])}(e);return(0,sI.jsxs)(sI.Fragment,{children:[(0,sI.jsxs)("p",{className:my.heading,children:[tc("patientLists","Patient Lists")," (",t?.length??0,")"]}),o?(0,sI.jsx)(sM.InlineLoading,{description:`${tc("loading","Loading")} ...`,role:"progressbar"}):(0,sI.jsxs)("ul",{children:[(()=>{if(t?.length>0){let e=t.sort((e,t)=>lX(e?.startDate).getTime()-lX(t?.startDate).getTime()).slice(0,3);return e?.map(e=>(0,sI.jsx)("li",{children:(0,sI.jsx)(rG,{to:`${window.spaBase}/home/patient-lists/${e.uuid}`,children:e.name},e.uuid)},e.uuid))}return(0,sI.jsx)("li",{children:"--"})})(),t.length>3&&(0,sI.jsx)("li",{className:my.link,children:(0,sI.jsx)(rG,{to:`${window.spaBase}/home/patient-lists`,children:tc("seeMoreLists","See {{count}} more lists",{count:t?.length-3})})})]})]})},mx=({patientId:e})=>{let{patient:t,isLoading:o}=so(e),n=t?.address?.find(e=>"home"===e.use),r=e=>e.split("#")[1];return o?(0,sI.jsx)(sM.InlineLoading,{description:`${tc("loading","Loading")} ...`,role:"progressbar"}):(0,sI.jsxs)(sI.Fragment,{children:[(0,sI.jsx)("p",{className:my.heading,children:tc("address","Address")}),(0,sI.jsx)("ul",{children:n?Object.entries(n).filter(([e])=>"id"!==e&&"use"!==e).map(([e,t])=>"extension"===e?n.extension?.[0]?.extension?.map((t,o)=>(0,sI.jsxs)("li",{children:[tc(r(t.url),r(t.url)),": ",t.valueString]},`address-${e}-${o}`)):(0,sI.jsxs)("li",{children:[tc(e,e),": ",t]},`address-${e}`)):(0,sI.jsx)("li",{children:"--"})})]})},mk=({patientUuid:e})=>{let{isLoading:t,contactAttributes:o}=(e=>{let{contactAttributeTypes:t=[]}=iI({externalModuleName:"@openmrs/esm-patient-banner-app"}),{attributes:o,error:n,isLoading:r}=(e=>{let{data:t,error:o,isLoading:n}=(0,iO.A)(`${tx}/patient/${e}?v=custom:(uuid,display,identifiers:(identifier,uuid,preferred,location:(uuid,name),identifierType:(uuid,name,format,formatDescription,validator)),person:(uuid,display,gender,birthdate,dead,age,deathDate,birthdateEstimated,causeOfDeath,preferredName:(uuid,preferred,givenName,middleName,familyName),attributes,preferredAddress:(uuid,preferred,address1,address2,cityVillage,longitude,stateProvince,latitude,country,postalCode,countyDistrict,address3,address4,address5,address6,address7)))`,tN);return{isLoading:n,attributes:t?.data.person.attributes??[],error:o}})(e);return{contactAttributes:(0,rU.useMemo)(()=>o.filter(({attributeType:e})=>t?.some(t=>e.uuid===t)),[o,t]),isLoading:r,error:n}})(e),n=(0,rU.useMemo)(()=>o?[...o?.map(e=>[e.attributeType.display?tc(e.attributeType.display,e.attributeType.display):"",e.value])]:[],[o]);return(0,sI.jsxs)(sI.Fragment,{children:[(0,sI.jsx)("p",{className:my.heading,children:tc("contactDetails","Contact Details")}),t?(0,sI.jsx)(sM.InlineLoading,{description:`${tc("loading","Loading")} ...`,role:"progressbar"}):(0,sI.jsx)("ul",{children:n.length?n.map(([e,t],o)=>(0,sI.jsxs)("li",{children:[e,": ",t]},`${e}-${t}-${o}`)):(0,sI.jsx)("li",{children:"--"})})]})},mS=({patientId:e})=>{let{data:t,isLoading:o}=function(e){let t=`${tx}/relationship?v=custom:(display,uuid,personA:(age,display,birthdate,uuid),personB:(age,display,birthdate,uuid),relationshipType:(uuid,display,description,aIsToB,bIsToA))&person=${e}`,{data:o,error:n,isLoading:r,isValidating:i}=(0,r9.u)(e?t:null,tN),s=o?.data?.results?.length?function(e,t){let o=[];for(let n of t)e===n.personA.uuid?o.push({uuid:`${n.uuid}`,display:n.personB.display,relativeAge:n.personB.age,relativeUuid:n.personB.uuid,relationshipType:n.relationshipType.bIsToA}):o.push({uuid:`${n.uuid}`,display:n.personA.display,relativeAge:n.personA.age,relativeUuid:n.personA.uuid,relationshipType:n.relationshipType.aIsToB});return o}(e,o.data.results):null;return{data:o?s:null,error:n,isLoading:r,isValidating:i}}(e);return(0,sI.jsxs)(sI.Fragment,{children:[(0,sI.jsx)("p",{className:my.heading,children:tc("relationships","Relationships")}),o?(0,sI.jsx)(sM.InlineLoading,{description:`${tc("loading","Loading")} ...`,role:"progressbar"}):(0,sI.jsx)("ul",{children:t&&t.length>0?(0,sI.jsx)(sI.Fragment,{children:t.map(e=>(0,sI.jsxs)("li",{className:my.relationship,children:[(0,sI.jsx)("div",{children:(0,sI.jsx)(rG,{to:`${window.spaBase}/patient/${e.relativeUuid}/chart`,children:e.display})}),(0,sI.jsx)("div",{children:e.relationshipType}),(0,sI.jsx)("div",{children:`${e.relativeAge?e.relativeAge:"--"} ${e.relativeAge?1===e.relativeAge?tc("yearAbbreviation","yr"):tc("yearsAbbreviation","yrs"):""}`})]},e.uuid))}):(0,sI.jsx)("li",{children:"--"})})]})};function mj({patientId:e,deceased:t}){return(0,sI.jsxs)("div",{className:sP()(my.contactDetails,{[my.deceased]:t}),children:[(0,sI.jsxs)("div",{className:my.row,children:[(0,sI.jsx)("div",{className:my.col,children:(0,sI.jsx)(mx,{patientId:e})}),(0,sI.jsx)("div",{className:my.col,children:(0,sI.jsx)(mk,{patientUuid:e})})]}),(0,sI.jsxs)("div",{className:my.row,children:[(0,sI.jsx)("div",{className:my.col,children:(0,sI.jsx)(mS,{patientId:e})}),(0,sI.jsx)("div",{className:my.col,children:(0,sI.jsx)(mb,{patientUuid:e})})]})]})}function mN(e){let t=document.querySelector("template#loading-spinner");if(t){let o=t.content.cloneNode(!0),n=Array.prototype.map.call(o.childNodes,e=>e);return e.appendChild(o),()=>n.forEach(e=>e.remove())}return()=>{}}let mC="-esm-devtools__action-menu2-module__container___6Gke0";function mE({workspaceGroup:e,groupProps:t}){let o=i0(),{persistence:n}=e;return(0,sI.jsx)("aside",{className:"-esm-devtools__action-menu2-module__sideRail___T2lMV",children:(0,sI.jsxs)("div",{className:mC,children:["closable"==n&&i1(o)&&(0,sI.jsx)(sM.IconButton,{align:"left",onClick:()=>mo(),label:tc("close"),kind:"ghost",children:(0,sI.jsx)(al,{})}),(0,sI.jsx)(rH.Provider,{value:{moduleName:e.moduleName,featureName:e.name},children:(0,sI.jsx)(r8,{className:mC,name:e.name,state:{groupProps:t}})})]})})}function mI(e){let t=new URL(e,window.location.origin).pathname,o=new URL(window.getOpenmrsSpaBase?.()??"/",window.location.origin).pathname,n=o.endsWith("/")?o.slice(0,-1):o,r=null;return n?n===t?r="/":t.startsWith(`${n}/`)&&(r=t.slice(n.length)):r=t,{full:t,spaRelative:r}}let mA=({lifeCycle:e,openedWorkspace:t,openedWindow:o,isRootWorkspace:n,isLeafWorkspace:r,showActionMenu:i})=>{let{openedGroup:s,closeWorkspace:a,openChildWorkspace:l}=ma(),c=(0,rU.useMemo)(()=>t&&{closeWorkspace:async(e={})=>{let{closeWindow:n=!1,discardUnsavedChanges:r=!1}=e;return n?!!(r||await mi({reason:"CLOSE_WINDOW",explicit:!0,windowName:o.windowName}))&&(a(o.openedWorkspaces[0].workspaceName),!0):!!(r||await mi({reason:"CLOSE_WORKSPACE",explicit:!0,windowName:o.windowName,workspaceName:t.workspaceName}))&&(a(t.workspaceName),!0)},launchChildWorkspace:async(e,n)=>{let r=t.workspaceName,{openedWorkspaces:i}=o,s=i.findIndex(e=>e.workspaceName===r);-1===s||s!==i.length-1&&i.slice(s+1).some(e=>e.hasUnsavedChanges)&&!await mi({reason:"CLOSE_WORKSPACE",explicit:!0,windowName:o.windowName,workspaceName:i[s+1].workspaceName})||l(r,e,n||{})},workspaceName:t.workspaceName,workspaceProps:t.props,windowProps:o.props,groupProps:s&&s.props?s.props:null,workspaceMeta:rN.getState().registeredWorkspacesByName[t.workspaceName]?.meta??{},isRootWorkspace:n,isLeafWorkspace:r,windowName:o.windowName,showActionMenu:i},[t,a,s,o]);if(!e){let{registeredWorkspacesByName:e}=rN.getState(),o=e[t.workspaceName],r=o&&o.window?o.window:void 0,{registeredWindowsByName:a}=rN.getState(),l=r?a[r]:void 0,c=l&&l.width?l.width:"narrow",u=Object.values(a).some(e=>e.group===s?.groupName&&void 0!==e.icon);return(0,sI.jsxs)("div",{className:sP()(md.workspaceOuterContainer,{[md.narrowWorkspace]:"narrow"===c,[md.widerWorkspace]:"wider"===c,[md.extraWideWorkspace]:"extra-wide"===c,[md.isActionMenuOpened]:u}),children:[(0,sI.jsx)("div",{className:md.workspaceSpacer}),(0,sI.jsx)("div",{className:sP()(md.workspaceMiddleContainer,{[md.isRootWorkspace]:n,[md.showActionMenu]:i}),children:(0,sI.jsx)("div",{className:sP()(md.workspaceInnerContainer,{[md.isRootWorkspace]:n}),children:(0,sI.jsx)(sM.InlineLoading,{className:md.loader,description:`${tc("loading")} ...`})})})]})}return(0,sI.jsx)(d8.A,{config:e,mountParcel:rD,...c},t.workspaceName)},mP=({openedWindow:e,showActionMenu:t})=>{let{openedWorkspaces:o}=e,[n,r]=(0,rU.useState)({}),{registeredWorkspacesByName:i}=rN.getState();return(0,rU.useEffect)(()=>{let e=!1;return Promise.all(o.map(async e=>{let{moduleName:t,component:o}=i[e.workspaceName];return[e.uuid,await sw(t,o)]})).then(t=>{e||r(Object.fromEntries(t))}),()=>{e=!0}},[o]),(0,sI.jsx)(sI.Fragment,{children:o.map((r,i)=>(0,sI.jsx)(mA,{openedWorkspace:r,openedWindow:e,lifeCycle:n[r.uuid],isRootWorkspace:0===i,isLeafWorkspace:i===o.length-1,showActionMenu:t},r.uuid))})};function mO(e){e&&(0,r3.createRoot)(e).render((0,sI.jsx)(m$,{}))}function m$(){let{openedGroup:e,openedWindows:t,registeredGroupsByName:o,registeredWindowsByName:n}=ma();if((0,rU.useEffect)(()=>oW("before-page-changed",t=>{let{newPage:n,cancelNavigation:r,oldUrl:i,newUrl:s}=t;if(!e)return;if(n)return void r(mo().then(e=>!e));let a=o[e.groupName],l=a?.scopePattern;l&&function(e,t,o){try{let n=new RegExp(e),r=mI(t),i=mI(o);if(null===r.spaRelative||null===i.spaRelative)return!0;let s=n.exec(r.spaRelative),a=n.exec(i.spaRelative);if(s&&a||(s=n.exec(r.full),a=n.exec(i.full)),!s||!a)return!0;if(s.length>1)return!s.slice(1).every((e,t)=>e===a[t+1]);return!1}catch{return!0}}(l,i,s)&&r(mo().then(e=>!e))}),[e,o]),!e)return null;let r=o[e.groupName],i=t.some(e=>e.maximized),{name:s}=r,a=Object.values(n).filter(e=>e.group===s&&void 0!==e.icon).sort((e,t)=>(e.order??Number.MAX_VALUE)-(t.order??Number.MAX_VALUE)).length>0;return(0,sI.jsxs)("div",{className:sP()("-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,sI.jsx)("div",{className:"-esm-devtools__workspace-windows-and-menu-module__workspaceWindowsContainer___40ITO",children:t.map(e=>(0,sI.jsx)(mP,{openedWindow:e,showActionMenu:a},e.windowName))}),a&&(0,sI.jsx)(mE,{workspaceGroup:r,groupProps:e.props})]})}function mR(e,t,o){if(null==e)return o;let n=lW(e);if(!n)return console.warn(`matchLocale: invalid requested locale tag: ${JSON.stringify(e)}`),o;let r=[];for(let e of t){let t=lW(e);if(!t){console.warn(`matchLocale: skipping invalid available locale tag: ${JSON.stringify(e)}`);continue}r.push({canonical:t,original:e})}let i=n;for(;i;){let e=r.find(e=>e.canonical===i);if(e)return e.original;let t=i+"-",o=r.find(e=>e.canonical.startsWith(t));if(o)return o.original;if("ht"===i){i="fr-HT";continue}let n=i.lastIndexOf("-");if(-1===n)break;let s=(i=i.slice(0,n)).lastIndexOf("-");-1!==s&&i.length-s==2&&(i=i.slice(0,s))}return o}function mT(e=window.localStorage){try{return e.getItem("test"),!0}catch{return!1}}function mM(e){return!!e&&e.constructor===Object}var mW=o(3376);function mL(e){let[t,o,n]=e.split(".");return`${t}.${o}.${n}`}function mD(e,t){return mW(function(e){let t=e.indexOf("-");if(t>=0){let o=mL(e.slice(0,t)),n=e.slice(t+1);return`${o}-${n}`}return mL(e)}(t),e,{includePrerelease:!0})}async function mB(e,t={}){let o,{shouldRetry:n,getDelay:r,onError:i}=t;n=n??(e=>e<=5),r=r??(e=>(function(e,t=!1){return 1e3*Math.pow(2,t?e+1:e)})(e));let s=0;do try{return await mU(r(s)),await e()}catch(e){i?.(e,s),o=e}while(n(s++));throw o}async function mU(e){if(!(e<=0))return new Promise(t=>setTimeout(t,e))}function mF(e,t,o,n){}function mH(e){}function mG(e){return Promise.resolve([])}function mz(e){return Promise.resolve([])}function mV(e){return Promise.resolve({success:!1,result:void 0,error:"No service worker has been registered. Offline-related features have been removed from the framework."})}function mJ(e){return()=>{}}function mq(){return!0}}}]);
|
|
32
|
+
To fix this, ensure that you define the "component" field inside the page definition.`,e);let n=function(e,{featureFlag:t}){return t?o=>!!nE(t)&&e(o):e}(function e(t){if(Array.isArray(t)){let o=t.map(e);return e=>o.some(t=>t(e))}return"string"==typeof t?(0,tr.fz)(window.getOpenmrsSpaBase()+t):t instanceof RegExp?e=>t.test(e.pathname.replace(window.getOpenmrsSpaBase(),"")):()=>t}(o),t);(0,tr.AG)(e,()=>sw(t.appName,t.component),n)}(n,t)}}let sj={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 sN(){document.body.classList.toggle("omrs-breakpoint-lt-tablet",window.innerWidth<sj.TABLET_MIN),document.body.classList.toggle("omrs-breakpoint-gt-phone",window.innerWidth>sj.PHONE_MAX),document.body.classList.toggle("omrs-breakpoint-gt-tablet",window.innerWidth>sj.TABLET_MAX),document.body.classList.toggle("omrs-breakpoint-lt-desktop",window.innerWidth<sj.SMALL_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-lt-small-desktop",window.innerWidth<sj.SMALL_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-lt-large-desktop",window.innerWidth<sj.LARGE_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-gt-small-desktop",window.innerWidth>sj.SMALL_DESKTOP_MAX)}let sC=!1;function sE(){sC||(window.addEventListener("resize",sN),sN(),sC=!0)}var sI=o(6870),sP=o(5530),sA=o.n(sP);function sO({title:e,children:t}){let o="tablet"===i0();return(0,sI.jsxs)("div",{className:sA()({"-esm-devtools__card-header-module__tabletHeader___Vkmd-":o,"-esm-devtools__card-header-module__desktopHeader___ocWGq":!o}),children:[(0,sI.jsx)("h4",{children:e}),t]})}let s$=["red","magenta","purple","blue","teal","cyan","gray","green","warm-gray","cool-gray","high-contrast","outline"],sR={primaryColor:{_type:H.String,_description:"The color for displaying primary diagnoses tags",_default:"red",_validators:[e8.oneOf(s$)]},secondaryColor:{_type:H.String,_description:"The color for displaying secondary diagnoses tags",_default:"blue",_validators:[e8.oneOf(s$)]}},sT={"Brand color #1":{_default:"#005d5d",_type:H.String},"Brand color #2":{_default:"#004144",_type:H.String},"Brand color #3":{_default:"#007d79",_type:H.String},excludePatientIdentifierCodeTypes:{uuids:{_type:H.Array,_description:"List of UUIDs of patient identifier types to exclude from rendering in the patient banner",_default:[],_elements:{_type:H.UUID}}},implementationName:{_type:H.String,_description:"A name of the place (or authority) where all possible locations a user can choose are located.",_default:"Clinic"},patientPhotoConceptUuid:{_type:H.ConceptUuid,_default:"736e8771-e501-4615-bfa7-570c03f4bef5",_description:"Used to look up the patient photo, which is stored as an attachment obs. Set to `null` in order to disable the feature and use only generated avatars. To remove the avatars entirely, use extension configuration's `remove` feature."},preferredCalendar:{_type:H.Object,_description:"Keys should be locale codes, and values should be the preferred calendar for that locale. For example, {'am': 'ethiopic'}.",_default:{am:"ethiopic"},_elements:{_validators:[e8.oneOf(["buddhist","chinese","coptic","dangi","ethioaa","ethiopic","gregory","hebrew","indian","islamic","islamic-umalqura","islamic-tbla","islamic-civil","islamic-rgsa","iso8601","japanese","persian","roc","islamicc"])]}},preferredDateLocale:{_type:H.Object,_description:"Allows setting the locale used for date formatting for any browser locale. Does not affect time formatting. Keys should be locale codes, and values should be the preferred locale for formatting dates. For example, {'en': 'en-US', 'fr-CA': 'en-CA'}.",_default:{en:"en-GB"},_elements:{_type:H.String}},diagnosisTags:sR};var sM=o(8326);let sW={"carbon.table.batch.cancel":"cancel","carbon.table.batch.items.selected":"batchActionsItemsSelected","carbon.table.batch.item.selected":"batchActionItemSelected","carbon.table.batch.selectAll":"selectAll"},sL=e=>(0,sI.jsx)(sM.TableBatchActions,{translateWithId:(e,t)=>{let o=sW[e];return o?tc(o,e,t):e},...e}),sD="-esm-devtools__custom-overflow-menu-module__container___8PykS",sB="-esm-devtools__custom-overflow-menu-module__menu___qsOLn",sU="-esm-devtools__custom-overflow-menu-module__show___BserJ",sF="-esm-devtools__custom-overflow-menu-module__overflowMenuButton___n86Gz",sH=(0,rU.createContext)(null);function sG(){let e=(0,rU.useContext)(sH);if(!e)throw Error("useCustomOverflowMenu must be used within a CustomOverflowMenu");return e}function sz({menuTitle:e,children:t}){let[o,n]=rF().useState(!1),r=i3(()=>n(!1),o),i="tablet"===i0(),s=(0,rU.useCallback)(()=>n(e=>!e),[]),a=(0,rU.useRef)(null),l=(0,rU.useRef)(null),c=(0,rU.useId)(),u=`custom-overflow-menu-trigger-${c}`,d=`custom-overflow-menu-${c}`,m=(0,rU.useCallback)(()=>{n(!1),a.current?.focus()},[]),p=(0,rU.useMemo)(()=>({closeMenu:m}),[m]),f=(0,rU.useCallback)(e=>{"Escape"===e.key&&o&&(e.stopPropagation(),m())},[m,o]),g=rU.Children.toArray(t);(0,rU.useEffect)(()=>{if(o&&l.current){let e=l.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[o]);let h=(0,rU.useCallback)(({currentIndex:e,direction:t})=>{let o=l.current?.querySelectorAll('[role="menuitem"]:not([disabled])');if(!o?.length)return;let n=document.activeElement?.closest?.('[role="menuitem"]')??document.activeElement,r=Array.from(o).indexOf(n);if(-1===r)return void o[t>0?0:o.length-1]?.focus();let i=r+t,s=i<0?o.length-1:i>=o.length?0:i;o[s]?.focus()},[]),_=g.map((e,t)=>(0,rU.isValidElement)(e)?(0,rU.cloneElement)(e,{closeMenu:m,handleOverflowMenuItemFocus:h,index:t}):e);return(0,sI.jsxs)("div",{"data-overflow-menu":!0,className:sA()("cds--overflow-menu",sD),ref:r,children:[(0,sI.jsx)("button",{className:sA()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":o},sF),"aria-controls":d,"aria-expanded":o,"aria-haspopup":"true",id:u,onClick:s,onKeyDown:f,ref:a,children:e}),(0,sI.jsxs)("div",{className:sA()("cds--overflow-menu-options","cds--overflow-menu--flip",sB,{[sU]:o}),"aria-labelledby":u,"data-floating-menu-direction":"bottom",id:d,onKeyDown:f,ref:l,role:"menu",tabIndex:-1,children:[(0,sI.jsx)("ul",{className:sA()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":i}),children:(0,sI.jsx)(sH.Provider,{value:p,children:_})}),(0,sI.jsx)("span",{})]})]})}function sV(e){let t=(0,rU.useContext)(sH);return(0,sI.jsx)(sM.OverflowMenuItem,{...e,closeMenu:t?.closeMenu})}var sJ=o(2277),sq=o(4194);let sK=["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"],sX=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-activity",iconProps:e})})),sY=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-add",iconProps:e})})),sZ=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-arrow-down",iconProps:e})})),sQ=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-arrow-left",iconProps:e})})),s0=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-arrow-right",iconProps:e})})),s1=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-arrow-up",iconProps:e})})),s2=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-baby",iconProps:e})})),s6=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-calendar-heat-map",iconProps:e})})),s5=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-calendar",iconProps:e})})),s8=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-caret-down",iconProps:e})})),s3=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-caret-left",iconProps:e})})),s4=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-caret-right",iconProps:e})})),s7=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-caret-up",iconProps:e})})),s9=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-chart-average",iconProps:e})})),ae=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-chart-line",iconProps:e})})),at=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-checkmark-filled",iconProps:e})})),ao=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-checkmark-outline",iconProps:e})})),an=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-chemistry",iconProps:e})})),ar=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-chevron-down",iconProps:e})})),ai=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-chevron-left",iconProps:e})})),as=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-chevron-right",iconProps:e})})),aa=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-chevron-up",iconProps:e})})),al=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-close",iconProps:e})})),ac=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-close-filled",iconProps:e})})),au=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-close-outline",iconProps:e})})),ad=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-document",iconProps:e})})),am=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-document-attachment",iconProps:e})})),ap=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-download",iconProps:e})})),af=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-drug-order",iconProps:e})})),ag=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-edit",iconProps:e})})),ah=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-event-schedule",iconProps:e})})),a_=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-events",iconProps:e})})),aw=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-gender-female",iconProps:e})})),av=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-gender-male",iconProps:e})})),ay=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-gender-other",iconProps:e})})),ab=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-gender-unknown",iconProps:e})})),ax=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-generic-order-type",iconProps:e})})),ak=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-group",iconProps:e})})),aS=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-group-access",iconProps:e})})),aj=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-hospital-bed",iconProps:e})})),aN=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-image-medical",iconProps:e})})),aC=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-information",iconProps:e})})),aE=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-information-filled",iconProps:e})})),aI=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-information-square",iconProps:e})})),aP=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-inventory-management",iconProps:e})})),aA=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-lab-order",iconProps:e})})),aO=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-list-checked",iconProps:e})})),a$=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-location",iconProps:e})})),aR=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-material-order",iconProps:e})})),aT=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-maximize",iconProps:e})})),aM=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-medication",iconProps:e})})),aW=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-message-queue",iconProps:e})})),aL=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-microscope",iconProps:e})})),aD=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-mobile-check",iconProps:e})})),aB=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-money",iconProps:e})})),aU=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-mother",iconProps:e})})),aF=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-movement",iconProps:e})})),aH=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),aG=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),az=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-password",iconProps:e})})),aV=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-pedestrian-family",iconProps:e})})),aJ=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-pen",iconProps:e})})),aq=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-printer",iconProps:e})})),aK=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-procedure-order",iconProps:e})})),aX=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-programs",iconProps:e})})),aY=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-referral-order",iconProps:e})})),aZ=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-renew",iconProps:e})})),aQ=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-report",iconProps:e})})),a0=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-reset",iconProps:e})})),a1=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-save",iconProps:e})})),a2=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-search",iconProps:e})})),a6=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-settings",iconProps:e})})),a5=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-switcher",iconProps:e})})),a8=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-shopping-cart",iconProps:e})})),a3=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-shopping-cart--arrow-down",iconProps:e})})),a4=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-sticky-note-add",iconProps:e})})),a7=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-syringe",iconProps:e})})),a9=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-table-of-contents",iconProps:e})})),le=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-table",iconProps:e})})),lt=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-time",iconProps:e})})),lo=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-tools",iconProps:e})})),ln=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-translate",iconProps:e})})),lr=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-trash-can",iconProps:e})})),li=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-tree-view--alt",iconProps:e})})),ls=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-two-factor-authentication",iconProps:e})})),la=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-user-avatar",iconProps:e})})),ll=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-user-follow",iconProps:e})})),lc=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-user-xray",iconProps:e})})),lu=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-user",iconProps:e})})),ld=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-view-off",iconProps:e})})),lm=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-view",iconProps:e})})),lp=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(ly,{ref:t,icon:"omrs-icon-warning",iconProps:e})})),lf=lp,lg=am,lh=aO,l_=aN,lw=a3,lv=(0,rU.memo)((0,rU.forwardRef)(function({icon:e,fallback:t,...o},n){let r=(0,rU.useRef)(e?document.getElementById(e):void 0);return(0,rU.useEffect)(()=>{let t=document.getElementById("omrs-svgs-container"),o=new MutationObserver(t=>{for(let o of t)"childList"===o.type&&(r.current=e?document.getElementById(e):void 0)});return t&&o.observe(t,{childList:!0}),()=>o.disconnect()},[e]),(0,sI.jsx)(iv,{value:r.current,fallback:t,children:(0,sI.jsx)(ly,{ref:n,icon:e,iconProps:o})})})),ly=(0,rU.memo)((0,rU.forwardRef)(function({icon:e,iconProps:t},o){let{className:n,fill:r,size:i}=Object.assign({},{fill:"currentColor",size:20},t);(i<=0||i>72)&&(console.error(`Invalid size '${i}' specified for ${e}. Defaulting to 20.`),i=20);let s=(0,rU.useRef)(null);return(0,rU.useImperativeHandle)(o,()=>s.current),(0,rU.useEffect)(()=>{s.current&&"currentColor"!==r&&s.current.style.setProperty("--omrs-icon-fill",r)},[]),(0,sI.jsx)("svg",{ref:s,className:sA()("omrs-icon","-esm-devtools__icons-module__icon___BfFhd",n),height:i,width:i,viewBox:"0 0 16 16",children:(0,sI.jsx)("use",{href:`#${e}`})})})),lb=({path:e,title:t,basePath:o,icon:n})=>{let{t:r}=(0,r7.useTranslation)(),i=(0,sJ.zy)(),s=(0,rU.useMemo)(()=>{if(!e)return!1;let t=e.startsWith("/")?e.slice(1):e;if(t.startsWith("http"))return t===window.location.href;let o=t.split("/").map(e=>decodeURIComponent(e)),n=(i.pathname??"").split("/").slice(1).map(e=>decodeURIComponent(e));return n.some((e,t)=>o.every((e,o)=>n[t+o]===e))},[i.pathname,e]);return(0,sI.jsx)("div",{children:(0,sI.jsx)(rG,{className:sA()("cds--side-nav__link",{"active-left-nav-link":s}),to:`${o}/${encodeURIComponent(e)}`,children:(0,sI.jsxs)("span",{className:"-esm-devtools__dashboard-module__menu___ds1tf",children:[(0,sI.jsx)(lv,{icon:n,className:"-esm-devtools__dashboard-module__icon___4Zrrh",size:16}),(0,sI.jsx)("span",{children:r(t)})]})})},e)};function lx(e){return function({basePath:t}){return(0,sI.jsx)(sq.Kd,{children:(0,sI.jsx)(lb,{basePath:t,...e})})}}var lk=o(7715),lS=o(7532),lj=o(3692),lN=o(7615),lC=o(700),lE=o(6816),lI=o(1168);function lP(e){return rF().createElement(lI.C,e)}var lA=o(3010),lO=o(6513),l$=o(6190);function lR(e,t,o=!1){if(null==e)return o?e:void 0;if("string"==typeof e&&!e)return o?null:void 0;if(e instanceof lA.ng||e instanceof lA._l||e instanceof lA.Ip)return t?(0,lO.yP)(e,t):e;{let o=sl()(e).toDate(),n=new lA.ng(o.getFullYear(),o.getMonth()+1,o.getDate());return t?(0,lO.yP)(n,t):n}}function lT(e){if(e)return e.toDate((0,l$.Xj)())}var lM=o(9002);function lW(e){if("string"==typeof e&&0!==e.trim().length)try{return new Intl.Locale(e.replace(/[_@]/g,"-")).toString()}catch{return}}function lL(e){let t=e??"",o=lW(t);if(!o)return t;try{return new Intl.DisplayNames([o],{type:"language"}).of(o)??t}catch{return t}}function lD(){let e=window.i18next.language,t=lW(e)??e;return"ht"===t&&(t="fr-HT"),t}var lB=o(7883),lU=o(424),lF=o(1492),lH=o(8271);function lG(e,t){var o=function(e,t){if(!t.has(e))throw TypeError("attempted to get private field on non-instance");return t.get(e)}(e,t);return o.get?o.get.call(e):o.value}sa.extend(sc),sa.extend(lF),sa.extend(lU);let lz="YYYY-MM-DDTHH:mm:ss.SSSZZ";function lV(e){return null!=e&&28===e.trim().length&&"T"===(e=e.trim())[10]&&":"===e[13]&&":"===e[16]&&"."===e[19]&&("+"===e[23]||"-"===e[23])&&sa(e,lz).isValid()}function lJ(e){return sa(e).isToday()}function lq(e){return lV(e)?sa(e,lz).toDate():null}function lK(e,t=!1){let o=sa(e);return t&&(o=o.utc()),o.format(lz)}function lX(e){return sa(e).toDate()}var lY=new WeakMap;let lZ=new class{register(e,t){lG(this,lY).set(e,t)}getCalendar(e){if(!e)return;if(e.calendar)return e.calendar;if(e.region){let t=`${e.language}-${e.region}`;if(lG(this,lY).has(t))return lG(this,lY).get(t)}if(e.language&&lG(this,lY).has(e.language))return lG(this,lY).get(e.language);let t=new Intl.DateTimeFormat(e.toString()).resolvedOptions().calendar;return lG(this,lY).set(`${e.language}${e.region?`-${e.region}`:""}`,t),t}constructor(){!function(e,t,o){if(t.has(e))throw TypeError("Cannot initialize the same private elements twice on an object");t.set(e,o)}(this,lY,{writable:!0,value:new Map})}};function lQ(e,t){lZ.register(e,t)}function l0(e){let t=e??lD();return lZ.getCalendar(t instanceof Intl.Locale?t:new Intl.Locale(t))}let l1={mode:"standard",time:"for today",day:!0,month:!0,year:!0,noToday:!1};function l2(e,t={}){let o=lD(),n=(0,lB.CD)(e,o);if(n.invalid)return console.warn(`Could not parse invalid date '${e}'`),null;!(0,lH.A)(n.day)&&(0,lH.A)(n.month)&&(n=Object.assign({},(0,U.A)(n,"day"),{month:n.day})),n.month&&(n.month-=1),n.day&&(n=Object.assign({},(0,U.A)(n,"day"),{date:n.day}));let r=sa().set(n).toDate();return(0,lH.A)(n.year)&&(t.year=!1),(0,lH.A)(n.month)&&(t.month=!1),(0,lH.A)(n.date)&&(t.day=!1),l6(r,t)}function l6(e,t){let o,n=t?.locale??lD(),r=new Intl.Locale(n),{calendar:i,mode:s,time:a,day:l,month:c,year:u,noToday:d,numberingSystem:m}={...l1,...{noToday:"am"===r.language},...t},p={calendar:i??l0(r),year:u?"numeric":void 0,month:c?"short":void 0,day:l?"2-digit":void 0,numberingSystem:m},f=sa(e).isToday();if(f&&!d)o=(o=new Intl.RelativeTimeFormat(n,{numeric:"auto"}).format(0,"day"))[0].toLocaleUpperCase(n)+o.slice(1);else{"en"===r.language&&(n="en-GB");let t=new Intl.DateTimeFormat(n,p).formatToParts(e);("en"===r.language||"am"===r.language)&&"standard"==s&&u&&l&&(t=t.map(l5("-"))),"wide"==s&&(t=t.map(l5(" — "))),"ethiopic"===p.calendar&&(t=t.filter((e,t,o)=>"era"!==e.type&&("literal"!==e.type||!(t<o.length-1)||"era"!==o[t+1].type))),o=t.map(e=>e.value).join("")}return(!0===a||f&&"for today"===a)&&(o+=`, ${l8(e)}`),o}let l5=e=>(t,o,n)=>"literal"!==t.type||" "!==t.value||o<n.length-1&&"era"===n[o+1].type?t:{type:"literal",value:e};function l8(e){return e.toLocaleTimeString(lD(),{hour:"2-digit",minute:"2-digit"})}function l3(e,t){return l6(e,{...t,time:!0})}function l4(e,t){let o=l0("string"==typeof t?new Intl.Locale(t):t);return o?(0,lO.yP)(e,(0,lM.d)(o)):e}function l7(e,t){return new Intl.DurationFormat(lD(),t).format(e)}function l9(e,t){if(null==e)return null;if("string"==typeof e){let o=lD(),n=(0,lB.CD)(e,o);return n.invalid?(console.warn(`Could not interpret '${e}' as a date`),null):(n.day&&!n.month&&(n={...(0,U.A)(n,"day"),...{month:n.day}}),n.month&&(n.month-=1),n.day&&(n={...(0,U.A)(n,"day"),...{date:n.day}}),sa(t).set(n))}return sa(e)}let ce=["years","months","days","hours","minutes","seconds"],ct={second:"seconds",minute:"minutes",hour:"hours",day:"days",month:"months",year:"years"},co={seconds:45,minutes:45,hours:22,days:26,months:11,years:1/0};function cn(e,t=sa(),o){let n,r=sa(t),i=l9(e,r);if(null==i)return null;if("string"==typeof o){let e=ct[o]??o;return{[e]:r.diff(i,e)}}let{thresholds:s,largestUnit:a,smallestUnit:l}=o??{};if(void 0!==a||void 0!==l){let e,t=l?ct[l]??l:void 0;return e="auto"===a||void 0===a?function(e,t,o){let n=ce.indexOf(o);for(let r=0;r<ce.length;r++){let i=ce[r];if(t.diff(e,i)>0)return r<=n?i:o}return o}(i,r,t??"seconds"):ct[a]??a,function(e,t,o,n){let r=ce.indexOf(o),i=ce.indexOf(n),s=ce.slice(r,i+1),a={},l=e;for(let e of s){let o=t.diff(l,e);a[e]=o,l=l.add(o,e)}return a}(i,r,e,t??e)}let c=(n=function(e){let t={...co};if(e)for(let[o,n]of Object.entries(e))void 0!==n&&(t[ct[o]??o]=n);return t}(s),r.diff(i,"seconds")<n.seconds?"seconds":r.diff(i,"minutes")<n.minutes?"minutes":r.diff(i,"hours")<n.hours?"hours":r.diff(i,"days")<n.days?"days":r.diff(i,"months")<n.months?"months":"years");return{[c]:r.diff(i,c)}}let cr={style:"short",localeMatcher:"lookup"};function ci(e,t=sa(),o){let n=cn(e,t,o);return null==n?null:l7(n,"object"==typeof o&&o.formatOptions?{...cr,...o.formatOptions}:cr)}let cs=(0,rU.createContext)(null);function ca(){let e=iI({externalModuleName:"@openmrs/esm-styleguide"}).preferredDateLocale,t=(0,rU.useMemo)(()=>{let t=lD();return e[t]&&(t=e[t]),t},[window.i18next.language]),o=(0,rU.useMemo)(()=>{let e=l0(t);return void 0!==e?(0,lM.d)(e):void 0},[t]),n=(0,rU.useMemo)(()=>new Intl.Locale(t,{calendar:o?.identifier}),[t,o]),r=(0,rU.useMemo)(()=>o?(0,lO.yP)((0,l$.Ec)((0,l$.Xj)()),o):(0,l$.Ec)((0,l$.Xj)()),[o]);return{calendar:o,intlLocale:n,today_:r}}let cl=new lA.ng(1793,1,1);var cc=o(5830),cu=o(6156),cd=o(4745),cm=o(1202);function cp(e,t){return Number.parseInt(l6(e,{calendar:t.calendar,locale:t.baseName,day:!1,month:!1,noToday:!0,numberingSystem:"latn"}))}let cf=(0,rU.forwardRef)(function(e,t){let{className:o}=e,n=(0,rU.useContext)(cc.f2),r=(0,rU.useContext)(cc._I),i=n??r,s=(0,rU.useContext)(cs),a=(0,l$.Xj)(),l=l6(i.visibleRange.start.toDate(a),{calendar:s.calendar,locale:s.baseName,day:!1,year:!1,noToday:!0}),c=cp(i.visibleRange.start.toDate(a),s),u=i.maxValue?cp(i.maxValue.toDate(a),s):void 0,d=i.minValue?cp(i.minValue.toDate(a),s):void 0,m=(0,rU.useCallback)(e=>{i.setFocusedDate(i.focusedDate.cycle("year",e-i.focusedDate.year))},[]);return i&&(0,sI.jsxs)("span",{ref:t,className:o,children:[(0,sI.jsx)("span",{children:l}),(0,sI.jsxs)(cd.oz,{formatOptions:{useGrouping:!1},maxValue:u,minValue:d,onChange:m,value:c,children:[(0,sI.jsx)(cm.p,{}),(0,sI.jsxs)(lN.Y,{children:[(0,sI.jsx)(lC.$,{slot:"increment",children:(0,sI.jsx)(s7,{size:8})}),(0,sI.jsx)(lC.$,{slot:"decrement",children:(0,sI.jsx)(s8,{size:8})})]})]})]})});var cg=o(9588);let ch="-esm-devtools__datepicker-module__inputGroup___+4zks",c_="-esm-devtools__datepicker-module__inputSegment___wiExn",cw="-esm-devtools__datepicker-module__dateInputWrapper___uiyAC",cv="-esm-devtools__datepicker-module__invalidText___SxtTL",cy="-esm-devtools__datepicker-module__flatButton___UU1Qp",cb="-esm-devtools__datepicker-module__flatButtonMd___fhR-1",cx="-esm-devtools__datepicker-module__flatButtonSm___5INZ7",ck="-esm-devtools__datepicker-module__flatButtonLg___RFMrl";function cS({children:e}){let t=(0,rU.useContext)(lS.Pg),o=(0,rU.useContext)(lS.a8),n=t??o,r=i3(()=>n?.close());return(0,sI.jsx)(cg.lG,{className:"-esm-devtools__datepicker-module__dialog___qllIf",ref:r,children:e})}let cj=(0,rU.forwardRef)(function({variant:e,today_:t,minDate:o,maxDate:n},r){let i="range"===e,s=i?cc._e:cc.Vv;return(0,sI.jsx)(cu.A,{ref:r,className:"-esm-devtools__datepicker-module__popover___16UMX",placement:"bottom start",offset:1,isNonModal:!0,children:(0,sI.jsx)(cS,{children:(0,sI.jsxs)(s,{...i?{minValue:o,maxValue:n,className:"cds--date-picker__calendar"}:{},children:[(0,sI.jsxs)("header",{className:"-esm-devtools__datepicker-module__header___WAVlD",children:[(0,sI.jsx)(lC.$,{className:sA()(cy,cb),slot:"previous",children:(0,sI.jsx)(ai,{size:16})}),(0,sI.jsx)(cf,{className:"-esm-devtools__datepicker-module__monthYear___A3aKF"}),(0,sI.jsx)(lC.$,{className:sA()(cy,cb),slot:"next",children:(0,sI.jsx)(as,{size:16})})]}),(0,sI.jsx)(cc.r8,{className:"-esm-devtools__datepicker-module__calendarGrid___6qRB2",children:e=>(0,sI.jsx)(cc.Zr,{className:sA()("cds--date-picker__day",{"-esm-devtools__datepicker-module__today___TZl6M":0===t.compare(e)}),date:e},e.toString())})]})})})});var cN=o(8017),cC=o(9774),cE=o(7956);let cI=(0,rU.forwardRef)(function(e,t){let o=(0,rU.useContext)(lS.Pg),[n,r]=(0,lk.JT)({slot:e.slot},t,cC.cQ),{locale:i}=(0,lI.Y)(),s=(0,cE.F)({...n,locale:i,createCalendar:lM.d}),a=(0,rU.useRef)(null),{fieldProps:l,inputProps:c}=(0,cN.cJ)({...n,inputRef:a},s,r),u=(0,rU.useCallback)(()=>{s.isDisabled||o.toggle()},[]);return(0,sI.jsxs)(lk.Kq,{values:[[cC.$,s],[cm.E,{...c,ref:a}],[lN.t,{...l,ref:r,isInvalid:s.isInvalid}]],children:[(0,sI.jsx)(lN.Y,{...e,id:e.id,ref:t,slot:e.slot||void 0,className:e.className,isDisabled:s.isDisabled,isInvalid:s.isInvalid,onClick:u,children:s.segments.map((t,o)=>(0,rU.cloneElement)(e.children(t),{key:o}))}),(0,sI.jsx)(cm.p,{})]})}),cP=(0,rU.forwardRef)(function(e,t){let o=(0,rU.useContext)(lS.Pg),n=(0,rU.useContext)(lS.a8);return(o??n).isInvalid?(0,sI.jsx)(lp,{ref:t,size:16,...e}):(0,sI.jsx)(s5,{ref:t,size:16,...e})});var cA=o(64),cO=o(5503),c$=o(1697),cR=o(7866),cT=o(8035),cM=o(2231);let cW=(0,rU.forwardRef)(function({segment:e,...t},o){let n=(0,rU.useContext)(cC.$),r=(0,cA.U)(o),{segmentProps:i}=(0,cO.V)(e,n,r),{focusProps:s,isFocused:a,isFocusVisible:l}=(0,c$.o)(),{hoverProps:c,isHovered:u}=(0,cR.M)({...t,isDisabled:n.isDisabled||"literal"===e.type}),d=function(e){let{className:t,style:o,children:n,defaultClassName:r,defaultChildren:i,defaultStyle:s,values:a}=e;return(0,rU.useMemo)(()=>{let e,l,c;return e="function"==typeof t?t({...a,defaultClassName:r}):t,l="function"==typeof o?o({...a,defaultStyle:s||{}}):o,c="function"==typeof n?n({...a,defaultChildren:i}):null==n?i:n,{className:e??r,style:l||s?{...s,...l}:void 0,children:c??i,"data-rac":""}},[t,o,n,r,i,s,a])}({...t,values:{...e,isReadOnly:!e.isEditable,isInvalid:n.isInvalid,isDisabled:n.isDisabled,isHovered:u,isFocused:a,isFocusVisible:l},defaultChildren:e.text}),m=(0,rU.useCallback)(e=>{e.stopPropagation()},[]);return(0,sI.jsx)("span",{...(0,cT.v)((0,cM.$)(t),i,s,c),...d,ref:r,style:i.style,"data-placeholder":e.isPlaceholder||void 0,"data-invalid":n.isInvalid||void 0,"data-readonly":!e.isEditable||void 0,"data-disabled":n.isDisabled||void 0,"data-type":e.type,"data-hovered":u||void 0,"data-focused":a||void 0,"data-focus-visible":l||void 0,onClick:m})}),cL={short:!1,size:"md"},cD=(0,rU.forwardRef)(function(e,t){let{className:o,defaultValue:n,isDisabled:r,invalid:i,invalidText:s,isInvalid:a,label:l,labelText:c,light:u,maxDate:d,minDate:m,onChange:p,onChangeRaw:f,short:g,size:h,value:_,...w}={...cL,...e},{calendar:v,intlLocale:y,today_:b}=ca(),x=(0,rU.useId)(),k=!!(c??l),S=(0,rU.useMemo)(()=>lR(n,v),[n,v]),j=(0,rU.useMemo)(()=>lR(_,v,!0),[_,v]),N=(0,rU.useMemo)(()=>lR(d,v),[d,v]),C=(0,rU.useMemo)(()=>lR(m??cl,v),[m,v]),E=(0,rU.useMemo)(()=>i||a,[i,a]),I=(0,rU.useMemo)(()=>(f&&p&&console.error("An OpenmrsDatePicker component was created with both onChange and onChangeRaw handlers defined. Only onChangeRaw will be used."),f??(e=>p?.(lT(e)))),[f,p]);return(0,sI.jsx)(lP,{locale:y.toString(),children:(0,sI.jsx)("div",{className:sA()("cds--form-item",o),children:(0,sI.jsx)(lk.Kq,{values:[[cs,y]],children:(0,sI.jsxs)(lS.lr,{className:sA()("cds--date-picker","cds--date-picker--single",{"cds--date-picker--short":g,"cds--date-picker--light":u}),defaultValue:S,isDisabled:r,isInvalid:E,maxValue:N,minValue:C,value:j,shouldForceLeadingZeros:"en"===y.language||void 0,...w,onChange:I,children:[(0,sI.jsxs)("div",{className:"cds--date-picker-container",children:[k&&(0,sI.jsx)(lj.J,{className:sA()("cds--label",{"cds--label--disabled":r}),htmlFor:x,children:c??l}),(0,sI.jsxs)(lN.Y,{className:ch,children:[(0,sI.jsx)(cI,{id:k?x:void 0,ref:t,className:sA()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__inputWrapper___kykar",{"-esm-devtools__datepicker-module__inputWrapperSm___KJtg-":"sm"===h,"-esm-devtools__datepicker-module__inputWrapperMd___ablE9":"md"===h||!h||0===h.length,"-esm-devtools__datepicker-module__inputWrapperLg___5dkQp":"lg"===h}),children:e=>"era"!==e.type?(0,sI.jsx)(cW,{className:c_,segment:e}):(0,sI.jsx)(rF().Fragment,{})}),(0,sI.jsx)(lC.$,{className:sA()(cy,{[cx]:"sm"===h,[cb]:"md"===h||!h||0===h.length,[ck]:"lg"===h}),children:(0,sI.jsx)(cP,{})})]}),(0,sI.jsx)(lE.b,{className:cv,children:s})]}),(0,sI.jsx)(cj,{variant:"single",today_:b})]})})})})}),cB=(0,rU.forwardRef)(function({className:e,defaultValue:t,invalid:o,invalidText:n,isDisabled:r,isInvalid:i,label:s,labelText:a,light:l,maxDate:c,minDate:u,onChange:d,onChangeRaw:m,size:p="md",value:f,...g},h){let{calendar:_,intlLocale:w,today_:v}=ca(),y=(0,rU.useId)(),b=!!(a??s),x=(0,rU.useMemo)(()=>{if(f)return{start:lR(f[0],_,!1),end:lR(f[1],_,!1)}},[f,_]),k=(0,rU.useMemo)(()=>{if(t)return{start:lR(t[0],_,!1),end:lR(t[1],_,!1)}},[t,_]),S=(0,rU.useMemo)(()=>lR(u??cl,_,!0),[u,_]),j=(0,rU.useMemo)(()=>lR(c,_,!0),[c,_]),N=(0,rU.useMemo)(()=>o||i,[o,i]),C=(0,rU.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?.([lT(e.start),lT(e.end)]))),[m,d]);return(0,sI.jsx)(lP,{locale:w.toString(),children:(0,sI.jsx)("div",{className:sA()("cds--form-item",e),children:(0,sI.jsx)(lk.Kq,{values:[[cs,w]],children:(0,sI.jsx)(lS.Ur,{id:b?y:void 0,className:sA()("cds--date-picker",{"cds--date-picker--light":l,"cds--date-picker--disabled":r}),isInvalid:N,shouldForceLeadingZeros:"en"===w.language||void 0,maxValue:j,minValue:S,value:x,defaultValue:k,ref:h,isDisabled:r,...g,onChange:C,children:(0,sI.jsxs)("div",{className:"cds--date-picker-container",children:[b&&(0,sI.jsx)(lj.J,{className:sA()("cds--label",{"cds--label--disabled":r}),htmlFor:y,children:a??s}),(0,sI.jsxs)(lN.Y,{className:ch,children:[(0,sI.jsxs)("div",{className:sA()("-esm-devtools__datepicker-module__inputsWrapper___YlkGh",{"-esm-devtools__datepicker-module__inputsWrapperSm___fAKhS":"sm"===p,"-esm-devtools__datepicker-module__inputsWrapperMd___XVgGP":"md"===p||!p||0===p.length,"-esm-devtools__datepicker-module__inputsWrapperLg___UgHJ1":"lg"===p}),children:[(0,sI.jsx)(cC.J3,{className:sA()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__startInput___qgbQm",cw),slot:"start",children:e=>(0,sI.jsx)(cW,{className:c_,segment:e})}),(0,sI.jsx)("div",{className:"-esm-devtools__datepicker-module__separator___79vXZ",children:(0,sI.jsx)("span",{"aria-hidden":"true","data-readonly":!0,children:"–"})}),(0,sI.jsx)(cC.J3,{className:sA()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__endInput___huv7x",cw),slot:"end",children:e=>(0,sI.jsx)(cW,{className:c_,segment:e})})]}),(0,sI.jsx)(lC.$,{className:sA()(cy,{[cx]:"sm"===p,[cb]:"md"===p||!p||0===p.length,[ck]:"lg"===p}),children:(0,sI.jsx)(cP,{})})]}),(0,sI.jsx)(lE.b,{className:cv,children:n}),(0,sI.jsx)(cj,{variant:"range",today_:v,minDate:S,maxDate:j})]})})})})})}),cU=({diagnoses:e})=>{let{diagnosisTags:t}=iI({externalModuleName:"@openmrs/esm-styleguide"});return(0,sI.jsx)("div",{className:"-esm-devtools__diagnosis-tags-module__container___8kut8",children:e.map(e=>{let{rank:o,uuid:n,display:r}=e,i=t[1===o?"primaryColor":"secondaryColor"];return(0,sI.jsx)(sM.Tag,{type:i,children:r},n)})})},cF={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"},cH=({width:e="64",height:t="64"})=>(0,sI.jsx)("svg",{width:e,height:t,viewBox:"0 0 64 64",children:(0,sI.jsx)("use",{href:"#omrs-empty-data-illustration"})}),cG=e=>{let t="tablet"===i0(),o=e.launchForm;return(0,sI.jsx)(sM.Layer,{className:cF.layer,children:(0,sI.jsxs)(sM.Tile,{className:cF.tile,children:[(0,sI.jsx)("div",{className:t?cF.tabletHeading:cF.desktopHeading,children:(0,sI.jsx)("h4",{children:e.headerTitle})}),(0,sI.jsx)(cH,{}),(0,sI.jsx)("p",{className:cF.content,children:tc("emptyStateText","There are no {{displayText}} to display",{displayText:e.displayText})}),(0,sI.jsx)("p",{className:cF.action,children:o&&(0,sI.jsx)(sM.Button,{onClick:()=>o(),kind:"ghost",size:t?"lg":"sm",children:tc("recordNewEntry","Record {{ displayText }}",{displayText:e.displayText})})})]})})},cz=({error:e,headerTitle:t})=>{let o="tablet"===i0();return(0,sI.jsx)(sM.Layer,{children:(0,sI.jsxs)(sM.Tile,{className:"-esm-devtools__error-state-module__tile___dd418",children:[(0,sI.jsx)("div",{className:o?"-esm-devtools__error-state-module__tabletHeading___g5rjg":"-esm-devtools__error-state-module__desktopHeading___Nd9u2",children:(0,sI.jsx)("h4",{children:t})}),(0,sI.jsxs)("p",{className:"-esm-devtools__error-state-module__errorMessage___z2RiN",children:[tc("error","Error")," ",`${e?.response?.status}: `,e?.response?.statusText]}),(0,sI.jsx)("p",{className:"-esm-devtools__error-state-module__errorCopy___dq+e2",children:tc("errorCopy")})]})})},cV=cz,cJ=rF().forwardRef((e,t)=>{let{slotName:o,basePath:n,componentContext:r,state:i}=i6(),s=window.location??{pathname:""},a=r2(o??"");return e.isChildOfHeader&&o&&a.length>0?(0,sI.jsxs)(sM.SideNav,{"aria-label":tc("leftNavigation","Left navigation"),className:"-esm-devtools__left-nav-module__leftNav___jzTJK",expanded:!0,isFixedNav:!0,ref:t,...e,children:[(0,sI.jsx)(r8,{name:"global-nav-menu-slot"}),o?(0,sI.jsx)(iv,{value:r,fallback:(0,sI.jsx)(r8,{name:o,state:{basePath:n,currentPath:s,...i}}),children:(0,sI.jsx)(rH.Provider,{value:r,children:(0,sI.jsx)(r8,{name:o,state:{basePath:n,currentPath:s,...i}})})}):null]}):null}),cq=({selectedLocationUuid:e,defaultLocationUuid:t,locationTag:o,locationsPerRequest:n=50,onChange:r})=>{let[i,s]=(0,rU.useState)(""),a=(0,rU.useId)(),{location:l}=function(e){let t=e?`/ws/fhir2/R4/Location?_id=${e}`:null,{data:o,error:n,isLoading:r}=(0,iO.A)(t,tN,{shouldRetryOnError:e=>!!e?.response?.status&&e.response.status>=500});return(0,rU.useMemo)(()=>({location:o?.data?.entry?o.data.entry[0]:null,error:t?n:null,isLoading:!!t&&r}),[o,r,n,t])}(t),{locations:c,isLoading:u,hasMore:d,loadingNewData:m,error:p,setPage:f}=function(e,t=0,o=""){let n=iA(o),{data:r,isLoading:i,isValidating:s,setSize:a,error:l}=(0,iV.Ay)(function(o,r){if(r){let e=r.data?.link?.find(e=>"next"===e.relation);if(!e)return null;let t=new URL(e.url);return t.origin===window.location.origin?e.url:new URL(`${t.pathname}${t.search?`?${t.search}`:""}`,window.location.origin).toString()}let i=`${tk}/Location?`,s=new URLSearchParams;return s.append("_summary","data"),t&&s.append("_count",""+t),o&&s.append("_getpagesoffset",""+o*t),e&&s.append("_tag",e),"string"==typeof n&&""!==n&&s.append("name:contains",n),i+s.toString()},tN);return(0,rU.useMemo)(()=>({locations:r?.length?r?.flatMap(e=>e?.data?.entry??[]):[],isLoading:i,totalResults:r?.[0]?.data?.total,hasMore:!!r?.length&&r?.[r.length-1]?.data?.link?.some(e=>"next"===e.relation),loadingNewData:s,error:l||null,setPage:a}),[i,r,s,a,l])}(o,n,i),g=(0,rU.useMemo)(()=>l&&!i&&t?[l,...c.filter(({resource:e})=>e.id!==t)]:c??[],[l,c,t,i]),h=(0,rU.useCallback)(e=>{r(),s(e.trim())},[r]),_=i4((0,rU.useCallback)(()=>{!m&&d&&f(e=>e+1)},[m,d,f])),w=d?Math.max(0,Math.floor(g.length-n/2)):-1;return(0,sI.jsxs)(sI.Fragment,{children:[(0,sI.jsx)(sM.Search,{"aria-describedby":p?`${a}-error`:void 0,labelText:tc("searchForLocation"),id:a,placeholder:tc("searchForLocation"),onChange:e=>h(e.target.value),size:"lg"}),p&&(0,sI.jsx)("div",{className:"-esm-devtools__location-picker-module__errorNotification___vWBFD",id:`${a}-error`,children:(0,sI.jsx)(sM.InlineNotification,{kind:"error",subtitle:tc("errorLoadingLoginLocations","Unable to load login locations. Please try again or contact support if the problem persists."),title:tc("error","Error")})}),(0,sI.jsx)("div",{className:"-esm-devtools__location-picker-module__searchResults___Gbet+",children:u?(0,sI.jsx)("div",{className:"-esm-devtools__location-picker-module__loadingContainer___QO-zj",children:Array.from({length:5}).map((e,t)=>(0,sI.jsx)(sM.RadioButtonSkeleton,{className:"-esm-devtools__location-picker-module__radioButtonSkeleton___otoCy",role:"progressbar"},t))}):(0,sI.jsxs)(sI.Fragment,{children:[(0,sI.jsx)("div",{className:"-esm-devtools__location-picker-module__locationResultsContainer___6Pasf",children:g.length>0?(0,sI.jsx)(sM.RadioButtonGroup,{name:"loginLocations",onChange:e=>{r(e?.toString())},orientation:"vertical",valueSelected:e,children:g.map((e,t)=>(0,sI.jsx)(sM.RadioButton,{className:"-esm-devtools__location-picker-module__locationRadioButton___rTDPj",id:e.resource.id,labelText:(0,sI.jsx)("span",{ref:t===w?_:null,children:e.resource.name}),name:e.resource.name,value:e.resource.id},e.resource.id))}):(0,sI.jsx)("div",{className:"-esm-devtools__location-picker-module__emptyState___w4-Ca",children:(0,sI.jsx)("p",{className:"-esm-devtools__location-picker-module__locationNotFound___Of2MJ",children:tc("noResultsToDisplay")})})}),m&&(0,sI.jsx)("div",{className:"-esm-devtools__location-picker-module__loadingIcon___NAwSB",children:(0,sI.jsx)(sM.InlineLoading,{description:tc("loading")})})]})})]})},cK=O("modalState",{modalContainer:null,modalStack:[]}),cX=0;async function cY(e,t,o={}){let n=rw(t),r=null;if(e){if(!n)throw Error(`No modal named '${t}' has been registered.`);let{load:i}=n,s=await i(),a=cX++;r=await rW({...s,name:`${t}-${a}`},{...o,domElement:e})}else w(`Failed to launch modal. Please notify your administrator. Modal name: ${t}`);return r}function cZ(e){return"TO_BE_DELETED"===e.state||"DELETED"===e.state}function cQ(e,t){t?.unmount&&(t.unmountPromise?.catch(()=>{}),t.unmount().catch(t=>{console.error(`The modal '${e}' failed to unmount`,t)}))}function c0(e){return e.find(e=>!cZ(e))}function c1(e,t){e.container&&(e.container.style.visibility=t?"unset":"hidden")}let c2=window.getComputedStyle(document.body).overflow;function c6({modalStack:e,modalContainer:t}){if(t)if(e.length){t.style.visibility||(addEventListener("keydown",c8),document.body.style.overflow="hidden",t.style.visibility="unset");let o=c0(e);e.forEach(e=>{switch(e.state){case"NEW":{let o=function({size:e}){let t=document.createElement("div");return t.className=`cds--modal-container cds--modal-container--${e}`,t.setAttribute("role","dialog"),t.setAttribute("tabindex","-1"),t.setAttribute("aria-modal","true"),t}({size:e.props?.size??"md"});e.container=o,e.state="MOUNTING",cY(o,e.modalName,e.props).then(n=>{cZ(e)?cQ(e.modalName,n):n?(e.parcel=n,t.prepend(o),c1(e,c0(cK.getState().modalStack)===e),n.mountPromise.then(()=>{cZ(e)||(e.state="MOUNTED")},t=>{w(t),e.parcel=null,c5(e)})):c5(e)},t=>{w(t),c5(e)});break}case"MOUNTING":case"MOUNTED":c1(e,e===o);break;case"TO_BE_DELETED":e.state="DELETED",e.onClose(),cQ(e.modalName,e.parcel),e.container?.remove(),setTimeout(()=>{let t=cK.getState();cK.setState({...t,modalStack:t.modalStack.filter(t=>t!==e)})},0)}})}else t.style.removeProperty("visibility"),document.body.style.overflow=c2,removeEventListener("keydown",c8)}function c5(e){if(cZ(e))return;e.state="TO_BE_DELETED";let t=cK.getState();cK.setState({...t,modalStack:[...t.modalStack]})}function c8(e){"Escape"===e.key&&function(){let[e]=cK.getState().modalStack;e&&c5(e)}()}function c3(e){cK.subscribe(c6),cK.setState({...cK.getState(),modalContainer:e})}function c4(e,t={},o=()=>{}){let n=()=>{let e=cK.getState().modalStack.find(e=>e.onClose===o);e&&c5(e)};if(rw(e)){var r;let i,s;r={state:"NEW",onClose:o,modalName:e,props:{close:n,...t}},s=[r,...(i=cK.getState()).modalStack],cK.setState({...i,modalStack:s})}else w(`Failed to launch modal. Please notify your administrator. Modal name: "${e}"`);return n}var c7=o(9685);let c9=({notification:e})=>{let{description:t,action:o,kind:n,critical:r,title:i,onAction:s}=e;return(0,sI.jsx)(sM.ActionableNotification,{actionButtonLabel:o,kind:n||"info",lowContrast:r,subtitle:t,title:i||"",inline:!0,onActionButtonClick:s})},ue=({subject:e})=>{let[t,o]=(0,rU.useState)([]);return(0,rU.useEffect)(()=>{let t=e.subscribe(e=>o(t=>[...t.filter(t=>t.description!==e.description||t.action!==e.action||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,sI.jsx)(sI.Fragment,{children:t.map(e=>(0,sI.jsx)(c9,{notification:e},e.id))})},ut=({notification:e})=>{let{actionButtonLabel:t,onActionButtonClick:o=()=>{},subtitle:n,kind:r,title:i,critical:s,progressActionLabel:a,id:l,...c}=e,[u,d]=(0,rU.useState)(t);return(0,sI.jsx)(sM.ActionableNotification,{kind:r||"info",actionButtonLabel:u,ariaLabel:tc("closesActionableNotification","Closes actionable notification"),onActionButtonClick:()=>{o(),a&&d(a)},statusIconDescription:tc("actionableNotification","Actionable notification"),subtitle:n,title:i,lowContrast:s,inline:!0,...c})},uo=({subject:e})=>{let[t,o]=(0,rU.useState)([]);return(0,rU.useEffect)(()=>{let t=e.subscribe(e=>o(t=>[...t.filter(t=>t.subtitle!==e.subtitle||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,sI.jsx)(sI.Fragment,{children:t.map(e=>(0,sI.jsx)(ut,{notification:e},e.id))})};class un{subscribe(e){return this.listeners.add(e),{unsubscribe:()=>{this.listeners.delete(e)}}}next(e){for(let t of[...this.listeners])t(e)}constructor(){!function(e,t,o){t in e?Object.defineProperty(e,t,{value:o,enumerable:!0,configurable:!0,writable:!0}):e[t]=o}(this,"listeners",new Set)}}let ur=new un,ui=0,us=new un,ua=0;function ul(e){e&&(0,r3.createRoot)(e).render((0,sI.jsx)(ue,{subject:ur}))}function uc(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&(t instanceof Error||!(0,c7.A)(t)))?(e.description instanceof Error&&(e.description=e.description.toLocaleString()),setTimeout(()=>{ur.next({...e,id:ui++})},0)):console.error("showNotification must be called with an object having a 'description' property that is a non-empty string or object")}function uu(e){e&&(0,r3.createRoot)(e).render((0,sI.jsx)(uo,{subject:us}))}function ud(e){var t;e&&("string"==typeof(t=e.actionButtonLabel)?t.trim().length>0:"object"==typeof t&&!(0,c7.A)(t))?setTimeout(()=>{us.next({...e,id:ua++})},0):console.error("showActionableNotification must be called with an actionButtonLabel that is a non-empty string")}let um=["NORMAL","HIGH","CRITICALLY_HIGH","OFF_SCALE_HIGH","LOW","CRITICALLY_LOW","OFF_SCALE_LOW"],up=["critically_low","critically_high","high","low","normal","off_scale_low","off_scale_high"],uf={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"},ug=({value:e,unit:t,label:o,interpretation:n,referenceRange:r,conceptUuid:i,variant:s="card",patientUuid:a})=>{let l=(0,rU.useId)(),{referenceRange:c,isLoading:u}=function(e,t){let o=null;e&&(o=t?`${tx}/conceptreferencerange/?patient=${t}&concept=${e}&v=full`:`${tx}/conceptreferencerange/?concept=${e}&v=full`);let{data:n,error:r,isLoading:i}=(0,iO.A)(o,tN),s=n?.data?.results?.[0];return{referenceRange:s?{hiNormal:s.hiNormal??null,hiAbsolute:s.hiAbsolute??null,hiCritical:s.hiCritical??null,lowNormal:s.lowNormal??null,lowAbsolute:s.lowAbsolute??null,lowCritical:s.lowCritical??null}:void 0,error:r,isLoading:i}}(r||n?void 0:i,a),d=r??c,m=(0,rU.useMemo)(()=>{if(n)return n?"--"===n?"normal":um.includes(n)?n.toLowerCase():up.includes(n)?n:"normal":void 0;if(d&&!u){if(!d||null==e||""===e)return"normal";let t="string"==typeof e?Number.parseFloat(e):e;return Number.isNaN(t)?"normal":null!==d.hiAbsolute&&void 0!==d.hiAbsolute&&t>d.hiAbsolute?"off_scale_high":null!==d.hiCritical&&void 0!==d.hiCritical&&t>=d.hiCritical?"critically_high":null!==d.hiNormal&&void 0!==d.hiNormal&&t>d.hiNormal?"high":null!==d.lowAbsolute&&void 0!==d.lowAbsolute&&t<d.lowAbsolute?"off_scale_low":null!==d.lowCritical&&void 0!==d.lowCritical&&t<=d.lowCritical?"critically_low":null!==d.lowNormal&&void 0!==d.lowNormal&&t<d.lowNormal?"low":"normal"}return"normal"},[n,d,e,u])??"normal",p="critically_low"===m||"critically_high"===m||"off_scale_low"===m||"off_scale_high"===m,f="normal"!==m,g=o?`omrs-numeric-obs-label-${o.replaceAll(/\s+/g,"-").toLowerCase()}-${l}`:void 0,h=`omrs-numeric-obs-value-${l}`,_=`omrs-numeric-obs-unit-${l}`,w=null!=e&&""!==e,v=w?e:tc("notAvailable","Not available"),y=sA()({[uf["critically-low"]]:"critically_low"===m||"off_scale_low"===m,[uf["critically-high"]]:"critically_high"===m||"off_scale_high"===m,[uf.low]:"low"===m,[uf.high]:"high"===m,[uf["off-scale-low"]]:"off_scale_low"===m,[uf["off-scale-high"]]:"off_scale_high"===m}),b=sA()({[uf.container]:!0,[uf.card]:!0,[uf["critical-value"]]:p,[uf["abnormal-value"]]:f&&!p}),x=sA()({[uf.cell]:!0,[y]:!0});return"cell"===s?(0,sI.jsxs)("div",{className:x,children:[v,w&&t?` ${t}`:""]}):(0,sI.jsxs)("section",{className:b,"data-testid":"numeric-observation-card",children:[o&&(0,sI.jsxs)("div",{className:uf["label-container"],children:[(0,sI.jsx)("span",{id:g,className:uf.label,children:o}),f&&(0,sI.jsx)("span",{className:uf[m.replace("_","-")],title:tc("abnormalValue","Abnormal value")})]}),(0,sI.jsxs)("div",{className:uf["value-container"],children:[(0,sI.jsx)("span",{id:h,"aria-labelledby":g&&_?`${g} ${_}`:g||_||void 0,className:uf.value,children:v}),w&&t&&(0,sI.jsx)("span",{id:_,className:uf.units,children:t})]})]})},uh="-esm-devtools__page-header-module__pageHeader___YOpQL",u_=e=>{if("children"in e){let{children:t,className:o,...n}=e;return(0,sI.jsx)("div",{className:sA()(uh,o),...n,children:t})}{let{title:t,illustration:o,className:n,...r}=e;return(0,sI.jsx)("div",{className:sA()(uh,n),...r,children:(0,sI.jsx)(uw,{title:t,illustration:o})})}},uw=({title:e,illustration:t,className:o})=>{let[n,r]=(0,rU.useState)(null);return(0,rU.useEffect)(()=>{eO("@openmrs/esm-styleguide").then(e=>{r(e)})},[]),(0,sI.jsxs)("div",{className:sA()("-esm-devtools__page-header-module__pageHeaderContent___PjsJm",o),children:[t,(0,sI.jsxs)("div",{className:"-esm-devtools__page-header-module__pageLabels___pPcKj",children:[n?.implementationName&&(0,sI.jsx)("p",{children:tc(n.implementationName)}),(0,sI.jsx)("p",{className:"-esm-devtools__page-header-module__pageName___3d4IC",children:e})]})]})},uv=({totalItems:e,pageSize:t,onPageNumberChange:o,pageNumber:n,dashboardLinkUrl:r,currentItems:i,dashboardLinkLabel:s})=>{let{pageSizes:a,pageItemsCount:l}=se(t,e,n,i),c="tablet"===i0(),u=tc("paginationItemsCount","{{pageItemsCount}} / {{totalItems}} items",{totalItems:e,pageItemsCount:l});return(0,sI.jsx)(sI.Fragment,{children:e>0&&(0,sI.jsxs)("div",{className:sA()({"-esm-devtools__pagination-module__tablet___lQ3ak":c,"-esm-devtools__pagination-module__desktop___HfUTY":!c}),children:[(0,sI.jsxs)("div",{children:[u,r&&(0,sI.jsx)(rG,{to:r,className:"-esm-devtools__pagination-module__configurableLink___NM9v7",children:s??tc("seeAll","See all")})]}),(0,sI.jsx)(sM.Pagination,{className:"-esm-devtools__pagination-module__pagination___WzkBs",page:n,pageSize:t,pageSizes:a,totalItems:e,onChange:o,pageRangeText:(e,t)=>tc("paginationOfPages","of {{count}} pages",{count:t}),size:c?"lg":"sm"})]})})};function uy(e){return ux(uS(e,"usual","official"))}function ub(e){return uy(e)}function ux(e){var t;let o;return e?e.text??(o=(t=e).given??[],(t.family?o.concat(t.family):o).join(" ")):""}function uk(e){return ux(e)}function uS(e,...t){for(let o of(0==t.length&&(t=["usual"]),t)){let t=e.name?.find(e=>{var t,n;return t=e,n=o,t.use?t.use===n:"usual"===n});if(t)return t}}function uj(e,t=sa()){let o=sa(t),n=l9(e,o);if(null==n)return null;let r=o.diff(n,"hours"),i=o.diff(n,"days"),s=o.diff(n,"weeks"),a=o.diff(n,"months"),l=o.diff(n,"years"),c={};if(r<2)c.minutes=o.diff(n,"minutes");else if(i<2)c.hours=r;else if(s<4)c.days=i;else if(l<1){let e=o.subtract(s,"weeks").diff(n,"days");c.weeks=s,c.days=e}else if(l<2){let e=o.subtract(a,"months").diff(n,"days");c.months=a,c.days=e}else if(l<18){let e=o.subtract(l,"year").diff(n,"months");c.years=l,c.months=e}else c.years=l;return c}function uN(e,t=sa()){let o=uj(e,t);if(null==o)return null;let n={style:"short",localeMatcher:"lookup"};return"minutes"in o&&0===o.minutes&&(n.minutesDisplay="always"),l7(o,n)}let uC={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 uE({showIdentifierLabel:e,type:t,value:o}){return(0,sI.jsx)("span",{className:uC.primaryIdentifier,children:(0,sI.jsxs)(sM.Tag,{className:uC.tag,type:"gray",children:[e&&t?.text&&(0,sI.jsxs)("span",{className:uC.label,children:[t.text,": "]}),(0,sI.jsx)("span",{className:uC.value,children:o})]})})}function uI({showIdentifierLabel:e,type:t,value:o}){return(0,sI.jsxs)(sM.FormLabel,{className:uC.secondaryIdentifier,id:`patient-banner-identifier-${o}`,children:[e&&(0,sI.jsxs)("span",{className:uC.label,children:[t?.text,": "]}),(0,sI.jsx)("span",{className:uC.value,children:o})]})}function uP({identifiers:e,showIdentifierLabel:t}){let{excludePatientIdentifierCodeTypes:o}=iI(),{primaryIdentifierCode:n}=sn(),r=e?.filter(e=>{let t=e.type?.coding?.[0]?.code;return t&&!o?.uuids.includes(t)})??[];return(0,sI.jsx)(sI.Fragment,{children:r?.length?r.map(({value:e,type:o},i)=>(0,sI.jsxs)(rF().Fragment,{children:[(0,sI.jsx)("span",{className:uC.identifier,children:o?.coding?.[0]?.code===n?(0,sI.jsx)(uE,{showIdentifierLabel:t,type:o,value:e}):(0,sI.jsx)(uI,{showIdentifierLabel:t,type:o,value:e})}),i<r.length-1&&(0,sI.jsx)("span",{className:uC.separator,children:"\xb7"})]},e)):""})}let uA={Female:aw,Male:av,Other:ay,Unknown:ab},uO=({gender:e})=>{let t=uA[e];return t?(0,sI.jsx)(t,{fill:"#525252"}):null},u$={male:"Male",female:"Female",other:"Other",unknown:"Unknown"};function uR({patient:e,renderedFrom:t}){var o;let n,r,i=uy(e),s=e?.gender&&(r=u$[n=(o=e.gender).toLowerCase()]??"Unknown",{displayText:tc(n,o),iconKey:r}),a=(0,rU.useMemo)(()=>({patientUuid:e.id,patient:e,renderedFrom:t}),[e.id,e,t]);return(0,sI.jsxs)("div",{className:uC.patientInfo,children:[(0,sI.jsx)("div",{className:sA()(uC.row,uC.patientNameRow),children:(0,sI.jsxs)("div",{className:uC.flexRow,children:[(0,sI.jsx)("span",{className:uC.patientName,children:i}),s&&(0,sI.jsxs)("div",{className:uC.gender,children:[(0,sI.jsx)(uO,{gender:s.iconKey}),(0,sI.jsx)("span",{children:s.displayText})]}),(0,sI.jsx)(r8,{className:uC.tagsSlot,name:"patient-banner-tags-slot",state:a})]})}),(0,sI.jsxs)("div",{className:uC.demographics,children:[e.birthDate&&(0,sI.jsxs)(sI.Fragment,{children:[(0,sI.jsx)("span",{children:uN(e.birthDate)}),(0,sI.jsx)("span",{className:uC.separator,children:"\xb7"}),(0,sI.jsx)("span",{children:l2(e.birthDate,{time:!1})}),(0,sI.jsx)("span",{className:uC.separator,children:"\xb7"})]}),(0,sI.jsx)(uP,{identifiers:e.identifier,showIdentifierLabel:!0}),(0,sI.jsx)(r8,{className:uC.extensionSlot,name:"patient-banner-bottom-slot",state:a})]})]})}var uT=o(7683);function uM({patient:e,patientUuid:t,actionsSlotName:o,additionalActionsSlotState:n}){let[r,i]=(0,rU.useState)(!1),{extensions:s}=r6(o),a="tablet"===i0(),l=i3(()=>i(!1),r),c=(0,rU.useRef)(null),u=(0,rU.useRef)(null),d=(0,rU.useId)(),m=`patient-actions-menu-trigger-${d}`,p=`patient-actions-menu-${d}`,f=(0,rU.useCallback)(()=>i(e=>!e),[]),g=(0,rU.useCallback)(()=>{i(!1),c.current?.focus()},[]),h=(0,rU.useCallback)(e=>{if("Escape"===e.key&&r){e.stopPropagation(),g();return}if(("ArrowDown"===e.key||"ArrowUp"===e.key)&&r){e.preventDefault();let t=u.current?.querySelectorAll('[role="menuitem"]:not([disabled])');if(!t?.length)return;let o=document.activeElement?.closest?.('[role="menuitem"]')??document.activeElement,n=Array.from(t).indexOf(o);if(-1===n)return void t["ArrowDown"===e.key?0:t.length-1]?.focus();let r=n+("ArrowDown"===e.key?1:-1),i=r<0?t.length-1:r>=t.length?0:r;t[i]?.focus()}},[g,r]);(0,rU.useEffect)(()=>{if(r&&u.current){let e=u.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[r]);let _=(0,rU.useMemo)(()=>({patientUuid:t,patient:e,closeMenu:g,...n}),[t,e,g,n]);return 0===s.length?null:(0,sI.jsx)("div",{className:"-esm-devtools__patient-banner-actions-menu-module__overflowMenuContainer___lXHHD",children:(0,sI.jsxs)("div",{"data-overflow-menu":!0,className:sA()("cds--overflow-menu",sD),ref:l,children:[(0,sI.jsxs)("button",{className:sA()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":r},sF),"aria-controls":p,"aria-expanded":r,"aria-haspopup":"true",id:m,onClick:f,onKeyDown:h,ref:c,children:[(0,sI.jsx)("span",{className:"-esm-devtools__patient-banner-actions-menu-module__actionsButtonText___SdOyM",children:tc("actions","Actions")})," ",(0,sI.jsx)(uT.CH,{size:16,style:{marginLeft:"0.5rem",fill:"#78A9FF"}})]}),(0,sI.jsxs)("div",{className:sA()("cds--overflow-menu-options","cds--overflow-menu--flip",sB,{[sU]:r}),"aria-labelledby":m,"data-floating-menu-direction":"bottom",id:p,onKeyDown:h,ref:u,role:"menu",tabIndex:-1,children:[(0,sI.jsx)("ul",{className:sA()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":a}),children:(0,sI.jsx)(r8,{name:o,state:_},o)}),(0,sI.jsx)("span",{})]})]})})}var uW=o(397),uL=o.n(uW);function uD(e){let{patientPhotoConceptUuid:t}=iI({externalModuleName:"@openmrs/esm-styleguide"}),o=t?`${tx}/obs?patient=${e}&concept=${t}&v=full`:null,{data:n,error:r,isLoading:i}=(0,r9.u)(e?o:null,tN),s=n?.data?.results[0];return{data:s?{dateTime:s?.obsDatetime,imageSrc:s?.value?.links?.uri}:null,error:r,isLoading:i}}let uB=({width:e=56,height:t=56,"aria-label":o})=>{let{t:n}=(0,r7.useTranslation)();return(0,sI.jsxs)("svg",{"aria-label":o??n("patientPhotoPlaceholder","Patient photo placeholder"),width:e,height:t,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,sI.jsx)("path",{fill:"#ffffff",d:"M0 0h56v56H0z"}),(0,sI.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"})]})},uU="-esm-devtools__patient-photo-module__avatar___t5TmZ";function uF({patientUuid:e,patientName:t,alt:o}){let{data:n,isLoading:r}=uD(e),[i,s]=(0,rU.useState)(null),[a,l]=(0,rU.useState)(!1),c=(0,rU.useMemo)(()=>uL().generate(e),[e]);(0,rU.useEffect)(()=>{if(n?.imageSrc){let e=new URL(n.imageSrc,window.location.origin).pathname;l(!0);let t=!1,o=new Image;return o.onload=()=>{t||(s(e),l(!1))},o.onerror=()=>{t||(s(null),l(!1))},o.src=e,()=>{t=!0}}s(null),l(!1)},[n?.imageSrc]);let u=(0,rU.useMemo)(()=>o||(i?tc("patientPhotoAlt","Profile photo of {{patientName}}",{patientName:t}):tc("patientAvatarAlt","Avatar for {{patientName}}",{patientName:t})),[o,i,t]);return r||a?(0,sI.jsx)(sM.SkeletonIcon,{className:"-esm-devtools__patient-photo-module__skeleton___ueN8Q","data-testid":"skeleton-icon"}):n?.imageSrc&&!i?(0,sI.jsx)(uB,{"aria-label":tc("patientPhotoPlaceholder","Photo placeholder for {{patientName}}",{patientName:t})}):i?(0,sI.jsx)("div",{"aria-label":u,children:(0,sI.jsx)("img",{className:uU,src:i,alt:u,title:t})}):(0,sI.jsx)("div",{"aria-label":u,children:(0,sI.jsx)("div",{className:uU,title:t,style:{backgroundImage:c.toDataUrl(),backgroundRepeat:"no-repeat",backgroundSize:"cover"},children:(0,sI.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 uH=["omrs-pict-appointments","omrs-pict-assessment-1","omrs-pict-assessment-2","omrs-pict-blood-bank","omrs-pict-cardiology","omrs-pict-ct-scan","omrs-pict-dentistry","omrs-pict-digital-trust","omrs-pict-emergency-department","omrs-pict-facility","omrs-pict-geriatrics","omrs-pict-gynaecology","omrs-pict-in-patient","omrs-pict-laboratory","omrs-pict-labs-2","omrs-pict-metadata-export","omrs-pict-obstetrics","omrs-pict-patient-search","omrs-pict-patients","omrs-pict-payments-desk","omrs-pict-pharmacy","omrs-pict-pharmacy-2","omrs-pict-registration","omrs-pict-service-queues","omrs-pict-stock-management","omrs-pict-transfer","omrs-pict-triage","omrs-pict-x-ray"],uG=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-appointments",pictogramProps:e})})),uz=uG,uV=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-assessment-1",pictogramProps:e})})),uJ=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-assessment-2",pictogramProps:e})})),uq=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-blood-bank",pictogramProps:e})})),uK=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-cardiology",pictogramProps:e})})),uX=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-ct-scan",pictogramProps:e})})),uY=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-dentistry",pictogramProps:e})})),uZ=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-digital-trust",pictogramProps:e})})),uQ=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-emergency-department",pictogramProps:e})})),u0=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-facility",pictogramProps:e})})),u1=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-geriatrics",pictogramProps:e})})),u2=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-gynaecology",pictogramProps:e})})),u6=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-in-patient",pictogramProps:e})})),u5=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-laboratory",pictogramProps:e})})),u8=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-labs-2",pictogramProps:e})})),u3=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-metadata-export",pictogramProps:e})})),u4=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-obstetrics",pictogramProps:e})})),u7=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-patient-search",pictogramProps:e})})),u9=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-patients",pictogramProps:e})})),de=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-payments-desk",pictogramProps:e})})),dt=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-pharmacy",pictogramProps:e})})),dn=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-pharmacy-2",pictogramProps:e})})),dr=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-registration",pictogramProps:e})})),di=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-service-queues",pictogramProps:e})})),ds=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-stock-management",pictogramProps:e})})),da=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-transfer",pictogramProps:e})})),dl=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-triage",pictogramProps:e})})),dc=(0,rU.memo)((0,rU.forwardRef)(function(e,t){return(0,sI.jsx)(dp,{ref:t,pictogram:"omrs-pict-x-ray",pictogramProps:e})})),du=u0,dd=u9,dm=(0,rU.memo)((0,rU.forwardRef)(function({pictogram:e,fallback:t,...o},n){let r=(0,rU.useRef)(document.getElementById(e));return(0,rU.useEffect)(()=>{let t=document.getElementById("omrs-svgs-container"),o=new MutationObserver(t=>{for(let o of t)"childList"===o.type&&(r.current=document.getElementById(e))});return t&&o.observe(t,{childList:!0}),()=>o.disconnect()},[e]),(0,sI.jsx)(iv,{value:r.current,fallback:t,children:(0,sI.jsx)(dp,{ref:n,pictogram:e,pictogramProps:o})})})),dp=(0,rU.memo)((0,rU.forwardRef)(function({pictogram:e,pictogramProps:t},o){let{className:n,size:r}=Object.assign({},{size:92},t);return(r<=26||r>144)&&(console.error(`Invalid size '${r}' specified for ${e}. Defaulting to 92.`),r=92),(0,sI.jsx)("svg",{ref:o,className:sA()("-esm-devtools__pictograms-module__pictogram___wXX7t",n),height:r,width:r,children:(0,sI.jsx)("use",{href:`#${e}`})})})),df=({children:e})=>"tablet"===i0()?(0,sI.jsx)(sM.Layer,{children:e}):(0,sI.jsx)(sI.Fragment,{children:e}),dg=({snackbar:e,closeSnackbar:t})=>{let{actionButtonLabel:o="",kind:n="success",onActionButtonClick:r=()=>{},isLowContrast:i="error"!==n,progressActionLabel:s,subtitle:a="",timeoutInMs:l=5e3,autoClose:c="error"!==n,title:u,id:d,...m}=e,[p,f]=(0,rU.useState)(o),[g,h]=(0,rU.useState)(!0),[_,w]=(0,rU.useState)(!1),v=(0,rU.useCallback)(()=>{setTimeout(t,250)},[t]),y=(0,rU.useCallback)(()=>{w(!0),v()},[v]);return(0,rU.useEffect)(()=>{if(c){let e=setTimeout(y,l);return()=>clearTimeout(e)}},[l,c,y]),(0,rU.useEffect)(()=>{h(!1),window.setTimeout(()=>{h(!0)},0)},[]),(0,sI.jsx)(sM.ActionableNotification,{actionButtonLabel:p,"aria-label":tc("closeSnackbar","Close snackbar"),className:sA()("-esm-devtools__snackbar-module__slideIn___-oZIt",{"-esm-devtools__snackbar-module__animated___M2YBU":g,"-esm-devtools__snackbar-module__slideOut___yEmGT":_}),kind:n,lowContrast:i,onActionButtonClick:()=>{r(),y(),s&&f(s)},onClose:v,statusIconDescription:tc("snackbarNotification","Snackbar notification"),subtitle:a,title:u,...m})},dh=({subject:e})=>{let[t,o]=(0,rU.useState)([]),n=(0,rU.useCallback)(e=>{o(t=>t.filter(t=>t!==e))},[]);return(0,rU.useEffect)(()=>{let t=e.subscribe(e=>o(t=>[...t.filter(t=>t.subtitle!==e.subtitle||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,sI.jsx)(sI.Fragment,{children:t.map(e=>(0,sI.jsx)(dg,{snackbar:e,closeSnackbar:()=>n(e)},e.id))})},d_=new un,dw=0;function dv(e){e&&(0,r3.createRoot)(e).render((0,sI.jsx)(dh,{subject:d_}))}function dy(e){var t;e&&"string"==typeof(t=e.title)&&t.trim().length>0?setTimeout(()=>{d_.next({...e,id:dw++})},0):console.error("showSnackbar must be called with an object having a 'title' property that is a non-empty string")}let db=({toast:e,closeToast:t})=>{let{description:o,kind:n,critical:r,title:i,actionButtonLabel:s,onActionButtonClick:a=()=>{}}=e,l=(0,rU.useCallback)(()=>{a(),t()},[t,a]);return(0,sI.jsx)("div",{children:(0,sI.jsx)(sM.ActionableNotification,{actionButtonLabel:s,kind:n||"info",lowContrast:r,subtitle:o,title:i||"",onActionButtonClick:l,onClose:t})})},dx=({subject:e})=>{let[t,o]=(0,rU.useState)([]),n=(0,rU.useCallback)(e=>{o(t=>t.filter(t=>t!==e))},[]);return(0,rU.useEffect)(()=>{let t=e.subscribe(e=>o(t=>[...t.filter(t=>t.description!==e.description||t.kind!==e.kind||t.title!==e.title||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick),e]));return()=>t.unsubscribe()},[e]),(0,sI.jsx)(sI.Fragment,{children:t.map(e=>(0,sI.jsx)(db,{toast:e,closeToast:()=>n(e)},e.id))})},dk=new un,dS=0;function dj(e){e&&(0,r3.createRoot)(e).render((0,sI.jsx)(dx,{subject:dk}))}function dN(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&!(0,c7.A)(t))?setTimeout(()=>{dk.next({...e,id:dS++})},0):console.error("showToast must be called with an object having a 'description' property that is a non-empty string or object")}function dC(e,t=!1){if(t)return!0;let o=dO[e];return!o||!o()}function dE(e,t){let o=dB.getState()?.workspaceGroup,n=o?.name;n&&e===n&&dG(()=>{let n=dK(e);n&&(n.setState({},!0),n.subscribe(()=>{})()),"function"==typeof o?.cleanup&&o.cleanup(),dB.setState(e=>({...e,workspaceGroup:void 0})),"function"==typeof t&&t()},n?e=>e.currentWorkspaceGroup===n:()=>!0)}function dI(e,t){let{name:o,additionalProps:n}=t;rS(o);let r=()=>{dW(e.name,{ignoreChanges:!0,onWorkspaceClose:()=>dP(o,n),closeWorkspaceGroup:!1})};dC(e.name)?r():dV("closing-workspace-launching-new-workspace",r,e.title??e.name)}function dP(e,t){let o=rS(e),n=dB.getState().workspaceGroup;if(n&&!n.members?.includes(e))return void dE(n.name,()=>{dP(e,t)});let r=dB.getState().workspaceGroup?.name,i={...o,title:dJ(o,t),closeWorkspace:(t={})=>dW(e,t),closeWorkspaceWithSavedChanges:t=>dW(e,{ignoreChanges:!0,...t}),promptBeforeClosing:t=>{var o,n;return o=e,n=t,void(dO[o]=n)},setTitle:(t,o)=>{i.title=t,i.titleNode=o,dB.setState(t=>{let o=t.openWorkspaces.map(t=>t.name===e?i:t);return{...t,openWorkspaces:o}})},currentWorkspaceGroup:r,additionalProps:t??{}};function s(e,t){dB.setState(o=>{let n=[e,...t??o.openWorkspaces],r=dH(e);return{...o,openWorkspaces:n,workspaceWindowState:r}})}r&&dK(r,t);let a=dB.getState().openWorkspaces,l=a.findIndex(t=>t.name===e),c=a.find(e=>e.type==i.type);if(0===a.length)s(i);else if(a[0].canHide||0===l)if(l>=0){let t=a[l];s({...t,additionalProps:i.additionalProps,...t.title===dJ(t,t.additionalProps)&&{title:dJ(i,i.additionalProps)}},a.filter(t=>t.name!=e))}else c?(s(c,dB.getState().openWorkspaces.filter(e=>e.type!=i.type)),dI(c,{name:e,additionalProps:t})):s(i);else dI(a[0],{name:e,additionalProps:t})}function dA({targetUrl:e,contextKey:t,workspaceName:o,additionalProps:n}){dL(t),dP(o,n),tm({to:e})}let dO={};function d$(e,t){dO[e]=t}function dR(e){return dO[e]}function dT(){let e=dB.getState();dB.setState({...e,prompt:null})}let dM={ignoreChanges:!1,onWorkspaceClose:()=>{},closeWorkspaceGroup:!0};function dW(e,t={}){t={...dM,...t};let o=()=>{let o=dB.getState();o.openWorkspaces.find(t=>t.name===e);let n=o.openWorkspaces.filter(t=>t.name!=e),r=dB.getState().workspaceGroup?.name;r&&t.closeWorkspaceGroup&&dE(r),dO[e]=()=>!1,dB.setState(e=>({...e,prompt:null,openWorkspaces:n,workspaceWindowState:dH(n?.[0])})),t?.onWorkspaceClose?.()};return dC(e,t?.ignoreChanges)?(o(),!0):(dV("closing-workspace",o,rS(e).title??e),!1)}function dL(e){dB.getState().context!=e&&dB.setState({context:e,openWorkspaces:[],prompt:null})}let dD={context:"",openWorkspaces:[],prompt:null,workspaceWindowState:"normal",workspaceGroup:void 0},dB=O("workspace",dD);function dU(){return dB}function dF(e){let t=dB.getState();dB.setState({...t,workspaceWindowState:e})}function dH(e){return e?.preferredWindowSize??"normal"}function dG(e=()=>{},t=()=>!0){let o=dB.getState().openWorkspaces.filter(t).every(({name:e})=>dC(e)),n=()=>{dq(),e?.()};o?n():dV("closing-all-workspaces",n)}function dz(){let{workspaceWindowState:e,openWorkspaces:t,prompt:o,workspaceGroup:n}=rK(dB);return(0,rU.useMemo)(()=>({active:t.length>0,prompt:o,workspaceWindowState:e,workspaces:t,workspaceGroup:n}),[t,e,o,n])}function dV(e,t=()=>{},o=""){let n;switch(e){case"closing-workspace":n={title:tc("unsavedChangesTitleText","Unsaved changes"),body:tc("unsavedChangesInOpenedWorkspace","You may have unsaved changes in the opened workspace. Do you want to discard these changes?"),onConfirm:()=>{t?.()},confirmText:tc("discard","Discard")};break;case"closing-all-workspaces":{let e=dB.getState().openWorkspaces.filter(({name:e})=>!dC(e)).map(({title:e},t)=>`${t+1}. ${e}`);n={title:tc("closingAllWorkspacesPromptTitle","You have unsaved changes"),body:tc("closingAllWorkspacesPromptBody","There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}",{workspaceNames:e.join(",")}),onConfirm:()=>{t?.()},confirmText:tc("closeAllOpenedWorkspaces","Discard changes in {{count}} workspaces",{count:e.length})};break}case"closing-workspace-launching-new-workspace":n={title:tc("unsavedChangesTitleText","Unsaved changes"),body:tc("unsavedChangesInWorkspace",'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',{workspaceName:o}),onConfirm:()=>{dB.setState(e=>({...e,prompt:null})),t?.()},confirmText:tc("openAnyway","Open anyway")};break;default:console.error(`Workspace system trying to open unknown prompt type "${e}" in function "showWorkspacePrompts"`),t?.();return}dB.setState(e=>({...e,prompt:n}))}function dJ(e,t){return t?.workspaceTitle??e.title}function dq(){dB.setState(dD)}function dK(e,t={}){if(!e||"default"===e)return;let o=R(e,{});return t&&o.setState(e=>({...e,...t})),o}let dX="-esm-devtools__action-menu-button-module__container___f7spB",dY="-esm-devtools__action-menu-button-module__elementContainer___ZROo9",dZ="-esm-devtools__action-menu-button-module__active___+mcQh";function dQ({getIcon:e,formOpenInTheBackground:t,tagContent:o}){return(0,sI.jsxs)(sI.Fragment,{children:[e({size:16}),t?(0,sI.jsx)("span",{className:"-esm-devtools__action-menu-button-module__interruptedTag___7695L",children:"!"}):(0,sI.jsx)("span",{className:"-esm-devtools__action-menu-button-module__countTag___vo9ZX",children:o})]})}let d0=({getIcon:e,label:t,iconDescription:o,handler:n,type:r,tagContent:i})=>{let s=i0(),{workspaces:a,workspaceWindowState:l}=dz(),c=a?.findIndex(({type:e})=>e===r)??-1,u="hidden"!==l&&0===c,d=c>0||0===c&&"hidden"===l;return"tablet"===s||"phone"===s?(0,sI.jsxs)(sM.Button,{className:sA()(dX,{[dZ]:u}),iconDescription:o,kind:"ghost",onClick:n,role:"button",tabIndex:0,size:"md",children:[(0,sI.jsx)("span",{className:dY,children:(0,sI.jsx)(dQ,{formOpenInTheBackground:d,getIcon:e,tagContent:i})}),(0,sI.jsx)("span",{children:t})]}):(0,sI.jsx)(sM.IconButton,{align:"left","aria-label":o,className:sA()(dX,{[dZ]:u}),enterDelayMs:300,kind:"ghost",label:t,onClick:n,size:"md",children:(0,sI.jsx)("div",{className:dY,children:(0,sI.jsx)(dQ,{formOpenInTheBackground:d,getIcon:e,tagContent:i})})})};var d1=o(3173),d2=o(185),d6=o(4564);function d5({contextKey:e}){let{prompt:t}=dz();return(0,rU.useEffect)(()=>{RegExp(`/${(0,d6.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,rU.useEffect)(()=>(dL(e),()=>{dL(null)}),[e]),(0,rU.useEffect)(()=>{let t=t=>{let{detail:{cancelNavigation:o,newUrl:n}}=t,r=RegExp(`/${(0,d6.A)(e)}(/|$)`),i=new URL(n),s=r.test(i.pathname),a=dB.getState().openWorkspaces.every(({name:e})=>dC(e));s||(a?dq():(o?.(),dG(()=>{tm({to:n})})))};return window.addEventListener("single-spa:before-routing-event",t),()=>{window.removeEventListener("single-spa:before-routing-event",t)}},[]),null!=t?(0,sI.jsxs)(sM.ComposedModal,{open:!0,onClose:dT,children:[(0,sI.jsx)(sM.ModalHeader,{title:t.title}),(0,sI.jsx)(sM.ModalBody,{children:(0,sI.jsx)("p",{className:"-esm-devtools__workspace-notification-module__messageBody___+SBeV",children:t.body})}),(0,sI.jsxs)(sM.ModalFooter,{children:[(0,sI.jsx)(sM.Button,{kind:"secondary",onClick:dT,children:t.cancelText??tc("cancel")}),(0,sI.jsx)(sM.Button,{kind:"danger",onClick:t.onConfirm,children:t.confirmText??tc("confirm")})]})]}):null}var d8=o(1820);function d3({workspace:e,additionalPropsFromPage:t}){let[o,n]=(0,rU.useState)(),r=function(e){let[t,o]=(0,rU.useState)({}),[n,r]=(0,rU.useState)(e);return(0,rU.useEffect)(()=>{n!==e&&r(e)},[e]),(0,rU.useEffect)(()=>{let e,t=dK(n);return t&&(o(t.getState()),e=t.subscribe(o)),()=>{t&&e?.()}},[n]),t}(e.currentWorkspaceGroup);(0,rU.useEffect)(()=>{let t=!0;return e.load().then(e=>{t&&n(e)}),()=>{t=!1}},[e]);let i=(0,rU.useMemo)(()=>e&&{closeWorkspace:e.closeWorkspace,closeWorkspaceWithSavedChanges:e.closeWorkspaceWithSavedChanges,promptBeforeClosing:e.promptBeforeClosing,setTitle:e.setTitle,...t,...r,...e.additionalProps},[e,t,r]);return o?(0,sI.jsx)(d8.A,{config:o,mountParcel:rD,...i},e.name):(0,sI.jsx)(sM.InlineLoading,{className:"-esm-devtools__workspace-module__loader___H6dHj",description:`${tc("loading","Loading")} ...`})}function d4({isWithinWorkspace:e,name:t,actionMenuProps:o={}}){let[n,r]=(0,rU.useState)(!1),i=(0,rU.useRef)(window.innerHeight),{featureName:s}=(0,rU.useContext)(rH),a=i0();(0,rU.useEffect)(()=>{let e=()=>{r(!i1(a)&&i.current>window.innerHeight),i.current!=window.innerHeight&&(i.current=window.innerHeight)};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[i]);let l=`action-menu-${t&&"default"!=t?t:s}-items-slot`;return(0,sI.jsx)("aside",{className:sA()("-esm-devtools__action-menu-module__sideRail___GJUJ7",{"-esm-devtools__action-menu-module__withinWorkspace___7+TCf":e,"-esm-devtools__action-menu-module__sideRailHidden___bQ0UM":n,"-esm-devtools__action-menu-module__sideRailVisible___v-1cR":!n}),children:(0,sI.jsx)("div",{className:"-esm-devtools__action-menu-module__container___WocuW",children:(0,sI.jsx)(r8,{className:"-esm-devtools__action-menu-module__chartExtensions___Cn3Jb",name:l,state:o})})})}function d7({contextKey:e,overlay:t,showSiderailAndBottomNav:o,additionalWorkspaceProps:n,actionMenuProps:r}){let i=i0(),{workspaces:s,workspaceWindowState:a,workspaceGroup:l}=dz(),c=l?.name,u=s[0],d="hidden"===a||null==u,m=u?.width??(t?"wider":"narrow"),p=(0,rU.useMemo)(()=>o||c&&!d,[c,d,o]);return iN(!d&&!i1(i)),(0,sI.jsxs)(sI.Fragment,{children:[(0,sI.jsxs)("div",{className:o?"-esm-devtools__workspace-module__workspaceContainerWithActionMenu___AHHuu":"-esm-devtools__workspace-module__workspaceContainerWithoutActionMenu___E7yiH",children:[(0,sI.jsx)("aside",{className:sA()(t?"-esm-devtools__workspace-module__workspaceOverlayOuterContainer___7nS96":"-esm-devtools__workspace-module__workspaceWindowSpacer___l+rgk",{"-esm-devtools__workspace-module__hiddenRelative___AJHmQ":d,"-esm-devtools__workspace-module__narrowWorkspace___Vb16L":"narrow"===m,"-esm-devtools__workspace-module__widerWorkspace___Bn7v8":"wider"===m,"-esm-devtools__workspace-module__extraWideWorkspace___vN8kI":"extra-wide"===m}),children:(0,sI.jsx)("div",{className:sA()("-esm-devtools__workspace-module__workspaceFixedContainer___pBPmo",{"-esm-devtools__workspace-module__maximizedWindow___Sew5F":"maximized"===a,"-esm-devtools__workspace-module__hiddenFixed___BxutH":d}),children:s.map((e,t)=>(0,sI.jsx)("div",{className:sA()("-esm-devtools__workspace-module__workspaceInnerContainer___tYaVV",{"-esm-devtools__workspace-module__hiddenExtraWorkspace___lBaWe":0!==t}),children:(0,sI.jsx)(rU.Suspense,{fallback:null,children:(0,sI.jsx)(r7.I18nextProvider,{i18n:window.i18next,defaultNS:e.moduleName,children:(0,sI.jsx)(d9,{workspaceInstance:e,additionalWorkspaceProps:n})})})},`workspace-container-${e?e.name:`empty-${t}`}`))})}),(0,sI.jsx)(d5,{contextKey:e})]}),p&&(0,sI.jsx)(d4,{name:c,isWithinWorkspace:!o,actionMenuProps:r})]})}function d9({workspaceInstance:e,additionalWorkspaceProps:t}){let{t:o}=(0,r7.useTranslation)(),n=i0(),{workspaceWindowState:r,workspaceGroup:i}=dz(),s=i?.name,a="maximized"===r;(0,rU.useEffect)(()=>{let t=o(e.title);t!==e.title&&e.setTitle(t)},[e.title,o,e.setTitle]);let{featureName:l}=(0,rU.useContext)(rH),c=(0,rU.useCallback)(()=>{dF(a?"normal":"maximized")},[a]),{canHide:u=!1,canMaximize:d=!1,currentWorkspaceGroup:m="",closeWorkspace:p}=(0,rU.useMemo)(()=>e??{},[e]),f=(0,rU.useMemo)(()=>({...t,...e?.additionalProps}),[t,e]);return e&&(0,sI.jsxs)(sI.Fragment,{children:[(0,sI.jsxs)(sM.Header,{"aria-label":tc("workspaceHeader","Workspace Header"),className:"-esm-devtools__workspace-module__header___-3kjt",children:[!i1(n)&&!u&&(0,sI.jsx)(sM.HeaderMenuButton,{"aria-label":tc("close","Close"),renderMenuIcon:(0,sI.jsx)(sQ,{}),onClick:()=>p()}),(0,sI.jsx)(sM.HeaderName,{prefix:"",children:e.titleNode??o(e.title)}),(0,sI.jsx)("div",{className:"-esm-devtools__workspace-module__overlayHeaderSpacer___2Zd7J"}),(0,sI.jsxs)(sM.HeaderGlobalBar,{className:"-esm-devtools__workspace-module__headerButtons___ppNsY",children:[(0,sI.jsx)(r8,{name:`workspace-header-group-${e.currentWorkspaceGroup}-slot`,state:f}),(0,sI.jsx)(r8,{name:`workspace-header-type-${e.type}-slot`,state:f}),(0,sI.jsx)(r8,{name:`workspace-header-${l}-slot`,state:f}),i1(n)&&(0,sI.jsxs)(sI.Fragment,{children:[(d||a)&&(0,sI.jsx)(sM.HeaderGlobalAction,{"aria-label":a?tc("minimize","Minimize"):tc("maximize","Maximize"),onClick:c,children:a?(0,sI.jsx)(d1.Xj,{}):(0,sI.jsx)(d1.hz,{})}),u&&!s?(0,sI.jsx)(sM.HeaderGlobalAction,{"aria-label":tc("hide","Hide"),onClick:()=>dF("hidden"),children:(0,sI.jsx)(s0,{})}):(0,sI.jsx)(sM.HeaderGlobalAction,{"aria-label":tc("close","Close"),onClick:()=>p?.(),children:(0,sI.jsx)(al,{})})]}),"tablet"===n&&u&&(0,sI.jsx)(sM.HeaderGlobalAction,{"aria-label":tc("close","Close"),onClick:()=>p?.(),children:(0,sI.jsx)(d2.d3,{})})]})]}),(0,sI.jsx)("div",{className:sA()("-esm-devtools__workspace-module__workspaceContent___cNdK1",{"-esm-devtools__workspace-module__marginWorkspaceContent___RXftx":!!m}),children:(0,sI.jsx)(d3,{workspace:e,additionalPropsFromPage:t},e.name)})]})}var me=o(4656);async function mt(e,t){let{openedGroup:o}=rN.getState();if(o){if(o.groupName===e&&mr(o.props,t))return!0;else if(!await mi({reason:"CLOSE_WORKSPACE_GROUP",explicit:!1}))return!1}return rN.setState(o=>({...o,openedGroup:{groupName:e,props:t},openedWindows:[]})),!0}async function mo(e){let{openedGroup:t,openedWindows:o}=rN.getState();if(t){if(o.length>0&&!(e||await mi({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})))return!1;rN.setState(e=>({...e,openedGroup:null,openedWindows:[]}))}return!0}async function mn(e,t=null,o=null,n=null){let r=rN.getState();if(!r.registeredWorkspacesByName[e])throw Error(`Unable to launch workspace ${e}. Workspace is not registered`);let i=rC(e);if(!i)throw Error(`Unable to launch workspace ${e}. Workspace is not registered to a workspace window`);let{openedGroup:s}=r,{name:a}=i,l=rE(a);if(!l)throw Error(`Unable to launch workspace ${e}. Workspace window ${i.name} is not registered to a workspace group`);let c=rI(e);if(s&&(s.groupName!==l.name||!mr(s.props,n)))return!!await mi({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})&&(rN.setState({...r,openedGroup:{groupName:l.name,props:n},openedWindows:[{windowName:a,openedWorkspaces:[mu(e,t)],props:o,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0);if(c>=0){let n=r.openedWindows[c],i=r.openedGroup?.props??{},s=r.isMostRecentlyOpenedWindowHidden,{openedWorkspaces:u}=n;if(mr(n.props,o)){let d=u.find(t=>t.workspaceName===e);return d&&mr(d.props,t)?((s||c!==r.openedWindows.length-1)&&rN.setState(ms.restoreWindow(r,a)),!0):!!await mi({reason:"CLOSE_WORKSPACE",explicit:!1,windowName:a,workspaceName:e})&&(rN.setState({...r,openedGroup:{groupName:l.name,props:r?.openedGroup?.props??i},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:a,openedWorkspaces:[mu(e,t)],props:n?.props??o,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return!!await mi({reason:"CLOSE_WINDOW",explicit:!1,windowName:a})&&(rN.setState({...r,openedGroup:{groupName:l.name,props:i??r?.openedGroup?.props},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:a,openedWorkspaces:[mu(e,t)],props:o,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return"closable"!=l.persistence?(rN.setState({...r,openedGroup:{groupName:l.name,props:n??r?.openedGroup?.props??null},openedWindows:[...r.openedWindows,{windowName:a,openedWorkspaces:[mu(e,t)],props:o,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0):!!await mi({reason:"CLOSE_OTHER_WINDOWS",explicit:!1,windowNameToSpare:i.name})&&(rN.setState({...r,openedGroup:{groupName:l.name,props:n??r?.openedGroup?.props??null},openedWindows:[{windowName:a,openedWorkspaces:[mu(e,t)],props:o,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}function mr(e,t){return null==e||null==t||b(e,t)}function mi(e){function t(e,t){let o=[];for(let n=e.openedWorkspaces.length-1;n>=0;n--){let r=e.openedWorkspaces[n];if(r.hasUnsavedChanges&&o.push(r),t&&r.workspaceName===t)break}return o}let{openedWindows:o,workspaceTitleByWorkspaceName:n}=rN.getState(),r=[];switch(e.reason){case"CLOSE_WORKSPACE_GROUP":r=o.flatMap(e=>t(e));break;case"CLOSE_WINDOW":{let n=o.find(t=>t.windowName===e.windowName);if(!n)throw Error(`Window ${e.windowName} not found in opened windows.`);r=t(n);break}case"CLOSE_WORKSPACE":{let n=o.find(t=>t.windowName===e.windowName);if(!n)throw Error(`Window ${e.windowName} not found in opened windows.`);r=t(n,e.workspaceName);break}case"CLOSE_OTHER_WINDOWS":r=o.filter(t=>t.windowName!==e.windowNameToSpare).flatMap(e=>t(e))}return 0===r.length?Promise.resolve(!0):new Promise(e=>{let t=c4("workspace2-close-prompt",{size:"sm",onConfirm:()=>{t(),e(!0)},onCancel:()=>{t(),e(!1)},affectedWorkspaceTitles:r.map(e=>n[e.workspaceName])})})}let ms={setWindowMaximized(e,t,o){let n=e.openedWindows.findIndex(e=>e.windowName===t),r=[...e.openedWindows],i={...r[n],maximized:o};return r[n]=i,{...e,openedWindows:r}},hideWindow:e=>({...e,isMostRecentlyOpenedWindowHidden:!0}),restoreWindow(e,t){let o=e.openedWindows.findIndex(e=>e.windowName===t),n=e.openedWindows[o],r=[...e.openedWindows.filter((e,t)=>t!==o),n];return{...e,openedWindows:r,isMostRecentlyOpenedWindowHidden:!1}},closeWorkspace(e,t){let o=rI(t);if(o<0)return e;let n={...e.openedWindows[o]},r=n.openedWorkspaces.findIndex(e=>e.workspaceName===t),i=[...e.openedWindows];n.openedWorkspaces=n.openedWorkspaces.slice(0,r);let s=e.isMostRecentlyOpenedWindowHidden;if(0===n.openedWorkspaces.length){let t=o===e.openedWindows.length-1;i.splice(o,1),t&&i.length>0&&(s=!1)}else i[o]=n;return{...e,openedWindows:i,isMostRecentlyOpenedWindowHidden:s}},openChildWorkspace(e,t,o,n){let r=e.registeredWorkspacesByName[o];if(!r)throw Error(`No workspace named "${o}" registered`);let i=e.registeredWorkspacesByName[t];if(!i)throw Error(`No workspace named "${t}" registered`);if(i.window!==r.window)throw Error(`Child workspace ${o} does not belong to the same workspace window as parent workspace ${t}`);let s=e.openedWindows.findIndex(e=>e.windowName===r.window);if(-1==s)throw Error(`Cannot open child workspace ${o} as window ${r.window} is not opened`);let{openedWorkspaces:a}=e.openedWindows[s],l=a.findIndex(e=>e.workspaceName===t);if(-1===l)throw Error(`Cannot open child workspace ${o} from parent workspace ${t} as the parent is not opened within the workspace window`);let c=a.slice(0,l+1);return{openedWindows:e.openedWindows.map((e,t)=>t==s?{...e,openedWorkspaces:[...c,mu(o,n)]}:e)}},setHasUnsavedChanges(e,t,o){let n=rI(t);if(n<0)return e;let r={...e.openedWindows[n]},i=r.openedWorkspaces.findIndex(e=>e.workspaceName===t);if(i<0)return e;r.openedWorkspaces[i]={...r.openedWorkspaces[i],hasUnsavedChanges:o};let s=[...e.openedWindows];return s[n]=r,{...e,openedWindows:s}},setWorkspaceTitle(e,t,o){let n={...e.workspaceTitleByWorkspaceName};return null===o?delete n[t]:n[t]=o,{...e,workspaceTitleByWorkspaceName:n}}};function ma(){return rX(rN,ms)}let ml=()=>(0,rU.useContext)(r4.i),mc=()=>Object.keys(rN.getState().registeredWorkspacesByName);function mu(e,t){return{workspaceName:e,props:t??{},hasUnsavedChanges:!1,uuid:(0,me.A)()}}let md={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"},mm=({title:e,children:t,hasUnsavedChanges:o=!1})=>{let n=i0(),{setWindowMaximized:r,hideWindow:i,setHasUnsavedChanges:s,openedWindows:a,openedGroup:l,registeredGroupsByName:c,registeredWindowsByName:u,registeredWorkspacesByName:d,workspaceTitleByWorkspaceName:m,setWorkspaceTitle:p,isMostRecentlyOpenedWindowHidden:f}=ma(),{workspaceName:g,isRootWorkspace:h,closeWorkspace:_,showActionMenu:w}=ml(),v=rI(g),y=a[v],b=y?.openedWorkspaces.find(e=>e.workspaceName===g);if((0,rU.useEffect)(()=>{b?.hasUnsavedChanges!=o&&s(g,o??!1)},[b?.hasUnsavedChanges,o,g,s]),(0,rU.useEffect)(()=>{m[g]!==e&&p(g,e)},[m,g,e,p]),v<0||null==l||null==b)return null;let x=c[l.groupName];if(!x)throw Error(`Cannot find registered workspace group ${l.groupName}`);let k=d[g].window,S=u[k];if(!S)throw Error(`Cannot find registered workspace window ${k}`);let{icon:j,canMaximize:N}=S,C="closable"===x.persistence,E=!!j&&!C,{maximized:I}=y,P=S?.width??"narrow",A=Object.values(u).some(e=>e.group===l.groupName&&void 0!==e.icon),O=v<a.length-1||f;return(0,sI.jsxs)("div",{className:sA()(md.workspaceOuterContainer,{[md.narrowWorkspace]:"narrow"===P,[md.widerWorkspace]:"wider"===P,[md.extraWideWorkspace]:"extra-wide"===P,[md.isActionMenuOpened]:A}),children:[(0,sI.jsx)("div",{className:sA()(md.workspaceSpacer,{[md.hidden]:O})}),(0,sI.jsx)("div",{className:sA()(md.workspaceMiddleContainer,{[md.maximized]:I,[md.hidden]:O,[md.isRootWorkspace]:h,[md.showActionMenu]:w}),children:(0,sI.jsxs)("div",{className:sA()(md.workspaceInnerContainer,{[md.maximized]:I,[md.hidden]:O,[md.isRootWorkspace]:h}),children:[(0,sI.jsxs)(sM.Header,{"aria-label":tc("workspaceHeader"),className:md.header,children:[(0,sI.jsx)(sM.HeaderName,{prefix:"",children:e}),(0,sI.jsx)("div",{className:md.overlayHeaderSpacer}),(0,sI.jsx)(sM.HeaderGlobalBar,{className:md.headerButtons,children:i1(n)?(0,sI.jsxs)(sI.Fragment,{children:[(N||I)&&(0,sI.jsx)(sM.HeaderGlobalAction,{"aria-label":I?tc("minimize"):tc("maximize"),onClick:()=>r(k,!I),children:I?(0,sI.jsx)(d1.Xj,{}):(0,sI.jsx)(d1.hz,{})}),E&&(0,sI.jsx)(sM.HeaderGlobalAction,{"aria-label":tc("hide"),onClick:()=>i(),children:(0,sI.jsx)(s0,{})}),!C&&(0,sI.jsx)(sM.HeaderGlobalAction,{"aria-label":tc("close"),onClick:()=>_({closeWindow:!0}),children:(0,sI.jsx)(al,{})})]}):(0,sI.jsxs)(sI.Fragment,{children:[E&&(0,sI.jsx)(sM.HeaderGlobalAction,{"aria-label":tc("hide"),onClick:()=>i(),children:(0,sI.jsx)(d2.d3,{})}),(0,sI.jsx)(sM.HeaderGlobalAction,{"aria-label":tc("close"),onClick:()=>{C?mo():_({closeWindow:!0})},children:(0,sI.jsx)(al,{})})]})})]}),(0,sI.jsx)("div",{className:sA()(md.workspaceContent),children:t})]})})]})},mp="-esm-devtools__action-menu-button2-module__container___jc6--",mf="-esm-devtools__action-menu-button2-module__elementContainer___whLL8",mg="-esm-devtools__action-menu-button2-module__active___fbyFm",mh="-esm-devtools__action-menu-button2-module__focused___+aVpz";function m_({getIcon:e,hasUnsavedChanges:t,tagContent:o}){return(0,sI.jsxs)(sI.Fragment,{children:[e({size:16}),t?(0,sI.jsx)("span",{className:"-esm-devtools__action-menu-button2-module__interruptedTag___sRkvS",children:"!"}):(0,sI.jsx)("span",{className:"-esm-devtools__action-menu-button2-module__countTag___XMH0D",children:o})]})}let mw=({icon:e,label:t,tagContent:o,workspaceToLaunch:n,onBeforeWorkspaceLaunch:r})=>{let i=i0(),{openedWindows:s,restoreWindow:a,hideWindow:l,isMostRecentlyOpenedWindowHidden:c}=ma(),{extension:u}=(0,rU.useContext)(rH),d=s.findIndex(e=>e.windowName===u?.extensionId),m=s[d],p=null!=m,f=p&&(d<s.length-1||c),g=p&&!f,h=m?.openedWorkspaces.some(e=>e.hasUnsavedChanges)??!1,_=async()=>{if(p)f?a(m.windowName):l();else if(await (r?.()??!0)){let{workspaceName:e,workspaceProps:t,windowProps:o}=n;mn(e,t,o)}};return"tablet"===i||"phone"===i?(0,sI.jsxs)(sM.Button,{className:sA()(mp,{[mg]:p&&!g,[mh]:g}),iconDescription:t,kind:"ghost",onClick:_,role:"button",tabIndex:0,size:"md",children:[(0,sI.jsx)("span",{className:mf,children:(0,sI.jsx)(m_,{hasUnsavedChanges:h,getIcon:e,tagContent:o})}),(0,sI.jsx)("span",{children:t})]}):(0,sI.jsx)(sM.IconButton,{align:"left","aria-label":t,className:sA()(mp,{[mg]:p&&!g,[mh]:g}),enterDelayMs:300,kind:"ghost",label:t,onClick:_,size:"md",children:(0,sI.jsx)("div",{className:mf,children:(0,sI.jsx)(m_,{hasUnsavedChanges:h,getIcon:e,tagContent:o})})})};function mv({showContactDetails:e,toggleContactDetails:t,className:o}){return(0,sI.jsx)(sM.Button,{className:o,iconDescription:"Toggle contact details",kind:"ghost",onClick:t,renderIcon:e?aa:ar,children:e?tc("showLess","Show less"):tc("showMore","Show more")})}let my={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-"},mb=({patientUuid:e})=>{let{cohorts:t=[],isLoading:o}=function(e){let t=e?`${tx}/cohortm/cohortmember?patient=${e}&v=custom:(uuid,patient:ref,cohort:(uuid,name,startDate,endDate))`:null,{data:o,isLoading:n}=(0,r9.u)(t,tN),r=o?.data?.results.map(e=>({uuid:e.cohort.uuid,name:e.cohort.name,startDate:e.cohort.startDate,endDate:e.cohort.endDate}));return(0,rU.useMemo)(()=>({cohorts:r,isLoading:n}),[n,r])}(e);return(0,sI.jsxs)(sI.Fragment,{children:[(0,sI.jsxs)("p",{className:my.heading,children:[tc("patientLists","Patient Lists")," (",t?.length??0,")"]}),o?(0,sI.jsx)(sM.InlineLoading,{description:`${tc("loading","Loading")} ...`,role:"progressbar"}):(0,sI.jsxs)("ul",{children:[(()=>{if(t?.length>0){let e=t.sort((e,t)=>lX(e?.startDate).getTime()-lX(t?.startDate).getTime()).slice(0,3);return e?.map(e=>(0,sI.jsx)("li",{children:(0,sI.jsx)(rG,{to:`${window.spaBase}/home/patient-lists/${e.uuid}`,children:e.name},e.uuid)},e.uuid))}return(0,sI.jsx)("li",{children:"--"})})(),t.length>3&&(0,sI.jsx)("li",{className:my.link,children:(0,sI.jsx)(rG,{to:`${window.spaBase}/home/patient-lists`,children:tc("seeMoreLists","See {{count}} more lists",{count:t?.length-3})})})]})]})},mx=({patientId:e})=>{let{patient:t,isLoading:o}=so(e),n=t?.address?.find(e=>"home"===e.use),r=e=>e.split("#")[1];return o?(0,sI.jsx)(sM.InlineLoading,{description:`${tc("loading","Loading")} ...`,role:"progressbar"}):(0,sI.jsxs)(sI.Fragment,{children:[(0,sI.jsx)("p",{className:my.heading,children:tc("address","Address")}),(0,sI.jsx)("ul",{children:n?Object.entries(n).filter(([e])=>"id"!==e&&"use"!==e).map(([e,t])=>"extension"===e?n.extension?.[0]?.extension?.map((t,o)=>(0,sI.jsxs)("li",{children:[tc(r(t.url),r(t.url)),": ",t.valueString]},`address-${e}-${o}`)):(0,sI.jsxs)("li",{children:[tc(e,e),": ",t]},`address-${e}`)):(0,sI.jsx)("li",{children:"--"})})]})},mk=({patientUuid:e})=>{let{isLoading:t,contactAttributes:o}=(e=>{let{contactAttributeTypes:t=[]}=iI({externalModuleName:"@openmrs/esm-patient-banner-app"}),{attributes:o,error:n,isLoading:r}=(e=>{let{data:t,error:o,isLoading:n}=(0,iO.A)(`${tx}/patient/${e}?v=custom:(uuid,display,identifiers:(identifier,uuid,preferred,location:(uuid,name),identifierType:(uuid,name,format,formatDescription,validator)),person:(uuid,display,gender,birthdate,dead,age,deathDate,birthdateEstimated,causeOfDeath,preferredName:(uuid,preferred,givenName,middleName,familyName),attributes,preferredAddress:(uuid,preferred,address1,address2,cityVillage,longitude,stateProvince,latitude,country,postalCode,countyDistrict,address3,address4,address5,address6,address7)))`,tN);return{isLoading:n,attributes:t?.data.person.attributes??[],error:o}})(e);return{contactAttributes:(0,rU.useMemo)(()=>o.filter(({attributeType:e})=>t?.some(t=>e.uuid===t)),[o,t]),isLoading:r,error:n}})(e),n=(0,rU.useMemo)(()=>o?[...o?.map(e=>[e.attributeType.display?tc(e.attributeType.display,e.attributeType.display):"",e.value])]:[],[o]);return(0,sI.jsxs)(sI.Fragment,{children:[(0,sI.jsx)("p",{className:my.heading,children:tc("contactDetails","Contact Details")}),t?(0,sI.jsx)(sM.InlineLoading,{description:`${tc("loading","Loading")} ...`,role:"progressbar"}):(0,sI.jsx)("ul",{children:n.length?n.map(([e,t],o)=>(0,sI.jsxs)("li",{children:[e,": ",t]},`${e}-${t}-${o}`)):(0,sI.jsx)("li",{children:"--"})})]})},mS=({patientId:e})=>{let{data:t,isLoading:o}=function(e){let t=`${tx}/relationship?v=custom:(display,uuid,personA:(age,display,birthdate,uuid),personB:(age,display,birthdate,uuid),relationshipType:(uuid,display,description,aIsToB,bIsToA))&person=${e}`,{data:o,error:n,isLoading:r,isValidating:i}=(0,r9.u)(e?t:null,tN),s=o?.data?.results?.length?function(e,t){let o=[];for(let n of t)e===n.personA.uuid?o.push({uuid:`${n.uuid}`,display:n.personB.display,relativeAge:n.personB.age,relativeUuid:n.personB.uuid,relationshipType:n.relationshipType.bIsToA}):o.push({uuid:`${n.uuid}`,display:n.personA.display,relativeAge:n.personA.age,relativeUuid:n.personA.uuid,relationshipType:n.relationshipType.aIsToB});return o}(e,o.data.results):null;return{data:o?s:null,error:n,isLoading:r,isValidating:i}}(e);return(0,sI.jsxs)(sI.Fragment,{children:[(0,sI.jsx)("p",{className:my.heading,children:tc("relationships","Relationships")}),o?(0,sI.jsx)(sM.InlineLoading,{description:`${tc("loading","Loading")} ...`,role:"progressbar"}):(0,sI.jsx)("ul",{children:t&&t.length>0?(0,sI.jsx)(sI.Fragment,{children:t.map(e=>(0,sI.jsxs)("li",{className:my.relationship,children:[(0,sI.jsx)("div",{children:(0,sI.jsx)(rG,{to:`${window.spaBase}/patient/${e.relativeUuid}/chart`,children:e.display})}),(0,sI.jsx)("div",{children:e.relationshipType}),(0,sI.jsx)("div",{children:`${e.relativeAge?e.relativeAge:"--"} ${e.relativeAge?1===e.relativeAge?tc("yearAbbreviation","yr"):tc("yearsAbbreviation","yrs"):""}`})]},e.uuid))}):(0,sI.jsx)("li",{children:"--"})})]})};function mj({patientId:e,deceased:t}){return(0,sI.jsxs)("div",{className:sA()(my.contactDetails,{[my.deceased]:t}),children:[(0,sI.jsxs)("div",{className:my.row,children:[(0,sI.jsx)("div",{className:my.col,children:(0,sI.jsx)(mx,{patientId:e})}),(0,sI.jsx)("div",{className:my.col,children:(0,sI.jsx)(mk,{patientUuid:e})})]}),(0,sI.jsxs)("div",{className:my.row,children:[(0,sI.jsx)("div",{className:my.col,children:(0,sI.jsx)(mS,{patientId:e})}),(0,sI.jsx)("div",{className:my.col,children:(0,sI.jsx)(mb,{patientUuid:e})})]})]})}function mN(e){let t=document.querySelector("template#loading-spinner");if(t){let o=t.content.cloneNode(!0),n=Array.prototype.map.call(o.childNodes,e=>e);return e.appendChild(o),()=>n.forEach(e=>e.remove())}return()=>{}}let mC="-esm-devtools__action-menu2-module__container___6Gke0";function mE({workspaceGroup:e,groupProps:t}){let o=i0(),{persistence:n}=e;return(0,sI.jsx)("aside",{className:"-esm-devtools__action-menu2-module__sideRail___T2lMV",children:(0,sI.jsxs)("div",{className:mC,children:["closable"==n&&i1(o)&&(0,sI.jsx)(sM.IconButton,{align:"left",onClick:()=>mo(),label:tc("close"),kind:"ghost",children:(0,sI.jsx)(al,{})}),(0,sI.jsx)(rH.Provider,{value:{moduleName:e.moduleName,featureName:e.name},children:(0,sI.jsx)(r8,{className:mC,name:e.name,state:{groupProps:t}})})]})})}function mI(e){let t=new URL(e,window.location.origin).pathname,o=new URL(window.getOpenmrsSpaBase?.()??"/",window.location.origin).pathname,n=o.endsWith("/")?o.slice(0,-1):o,r=null;return n?n===t?r="/":t.startsWith(`${n}/`)&&(r=t.slice(n.length)):r=t,{full:t,spaRelative:r}}let mP=({lifeCycle:e,openedWorkspace:t,openedWindow:o,isRootWorkspace:n,isLeafWorkspace:r,showActionMenu:i})=>{let{openedGroup:s,closeWorkspace:a,openChildWorkspace:l}=ma(),c=(0,rU.useMemo)(()=>t&&{closeWorkspace:async(e={})=>{let{closeWindow:n=!1,discardUnsavedChanges:r=!1}=e;return n?!!(r||await mi({reason:"CLOSE_WINDOW",explicit:!0,windowName:o.windowName}))&&(a(o.openedWorkspaces[0].workspaceName),!0):!!(r||await mi({reason:"CLOSE_WORKSPACE",explicit:!0,windowName:o.windowName,workspaceName:t.workspaceName}))&&(a(t.workspaceName),!0)},launchChildWorkspace:async(e,n)=>{let r=t.workspaceName,{openedWorkspaces:i}=o,s=i.findIndex(e=>e.workspaceName===r);-1===s||s!==i.length-1&&i.slice(s+1).some(e=>e.hasUnsavedChanges)&&!await mi({reason:"CLOSE_WORKSPACE",explicit:!0,windowName:o.windowName,workspaceName:i[s+1].workspaceName})||l(r,e,n||{})},workspaceName:t.workspaceName,workspaceProps:t.props,windowProps:o.props,groupProps:s&&s.props?s.props:null,workspaceMeta:rN.getState().registeredWorkspacesByName[t.workspaceName]?.meta??{},isRootWorkspace:n,isLeafWorkspace:r,windowName:o.windowName,showActionMenu:i},[t,a,s,o]);if(!e){let{registeredWorkspacesByName:e}=rN.getState(),o=e[t.workspaceName],r=o&&o.window?o.window:void 0,{registeredWindowsByName:a}=rN.getState(),l=r?a[r]:void 0,c=l&&l.width?l.width:"narrow",u=Object.values(a).some(e=>e.group===s?.groupName&&void 0!==e.icon);return(0,sI.jsxs)("div",{className:sA()(md.workspaceOuterContainer,{[md.narrowWorkspace]:"narrow"===c,[md.widerWorkspace]:"wider"===c,[md.extraWideWorkspace]:"extra-wide"===c,[md.isActionMenuOpened]:u}),children:[(0,sI.jsx)("div",{className:md.workspaceSpacer}),(0,sI.jsx)("div",{className:sA()(md.workspaceMiddleContainer,{[md.isRootWorkspace]:n,[md.showActionMenu]:i}),children:(0,sI.jsx)("div",{className:sA()(md.workspaceInnerContainer,{[md.isRootWorkspace]:n}),children:(0,sI.jsx)(sM.InlineLoading,{className:md.loader,description:`${tc("loading")} ...`})})})]})}return(0,sI.jsx)(d8.A,{config:e,mountParcel:rD,...c},t.workspaceName)},mA=({openedWindow:e,showActionMenu:t})=>{let{openedWorkspaces:o}=e,[n,r]=(0,rU.useState)({}),{registeredWorkspacesByName:i}=rN.getState();return(0,rU.useEffect)(()=>{let e=!1;return Promise.all(o.map(async e=>{let{moduleName:t,component:o}=i[e.workspaceName];return[e.uuid,await sw(t,o)]})).then(t=>{e||r(Object.fromEntries(t))}),()=>{e=!0}},[o]),(0,sI.jsx)(sI.Fragment,{children:o.map((r,i)=>(0,sI.jsx)(mP,{openedWorkspace:r,openedWindow:e,lifeCycle:n[r.uuid],isRootWorkspace:0===i,isLeafWorkspace:i===o.length-1,showActionMenu:t},r.uuid))})};function mO(e){e&&(0,r3.createRoot)(e).render((0,sI.jsx)(m$,{}))}function m$(){let{openedGroup:e,openedWindows:t,registeredGroupsByName:o,registeredWindowsByName:n}=ma();if((0,rU.useEffect)(()=>oW("before-page-changed",t=>{let{newPage:n,cancelNavigation:r,oldUrl:i,newUrl:s}=t;if(!e)return;if(n)return void r(mo().then(e=>!e));let a=o[e.groupName],l=a?.scopePattern;l&&function(e,t,o){try{let n=new RegExp(e),r=mI(t),i=mI(o);if(null===r.spaRelative||null===i.spaRelative)return!0;let s=n.exec(r.spaRelative),a=n.exec(i.spaRelative);if(s&&a||(s=n.exec(r.full),a=n.exec(i.full)),!s||!a)return!0;if(s.length>1)return!s.slice(1).every((e,t)=>e===a[t+1]);return!1}catch{return!0}}(l,i,s)&&r(mo().then(e=>!e))}),[e,o]),!e)return null;let r=o[e.groupName],i=t.some(e=>e.maximized),{name:s}=r,a=Object.values(n).filter(e=>e.group===s&&void 0!==e.icon).sort((e,t)=>(e.order??Number.MAX_VALUE)-(t.order??Number.MAX_VALUE)).length>0;return(0,sI.jsxs)("div",{className:sA()("-esm-devtools__workspace-windows-and-menu-module__workspaceWindowsAndMenuContainer___2u2mc",{"-esm-devtools__workspace-windows-and-menu-module__overlay___7RHYZ":r.overlay,"-esm-devtools__workspace-windows-and-menu-module__hasMaximizedWindow___gvJRd":i}),children:[(0,sI.jsx)("div",{className:"-esm-devtools__workspace-windows-and-menu-module__workspaceWindowsContainer___40ITO",children:t.map(e=>(0,sI.jsx)(mA,{openedWindow:e,showActionMenu:a},e.windowName))}),a&&(0,sI.jsx)(mE,{workspaceGroup:r,groupProps:e.props})]})}function mR(e,t,o){if(null==e)return o;let n=lW(e);if(!n)return console.warn(`matchLocale: invalid requested locale tag: ${JSON.stringify(e)}`),o;let r=[];for(let e of t){let t=lW(e);if(!t){console.warn(`matchLocale: skipping invalid available locale tag: ${JSON.stringify(e)}`);continue}r.push({canonical:t,original:e})}let i=n;for(;i;){let e=r.find(e=>e.canonical===i);if(e)return e.original;let t=i+"-",o=r.find(e=>e.canonical.startsWith(t));if(o)return o.original;if("ht"===i){i="fr-HT";continue}let n=i.lastIndexOf("-");if(-1===n)break;let s=(i=i.slice(0,n)).lastIndexOf("-");-1!==s&&i.length-s==2&&(i=i.slice(0,s))}return o}function mT(e=window.localStorage){try{return e.getItem("test"),!0}catch{return!1}}function mM(e){return!!e&&e.constructor===Object}var mW=o(3376);function mL(e){let[t,o,n]=e.split(".");return`${t}.${o}.${n}`}function mD(e,t){return mW(function(e){let t=e.indexOf("-");if(t>=0){let o=mL(e.slice(0,t)),n=e.slice(t+1);return`${o}-${n}`}return mL(e)}(t),e,{includePrerelease:!0})}async function mB(e,t={}){let o,{shouldRetry:n,getDelay:r,onError:i}=t;n=n??(e=>e<=5),r=r??(e=>(function(e,t=!1){return 1e3*Math.pow(2,t?e+1:e)})(e));let s=0;do try{return await mU(r(s)),await e()}catch(e){i?.(e,s),o=e}while(n(s++));throw o}async function mU(e){if(!(e<=0))return new Promise(t=>setTimeout(t,e))}function mF(e,t,o,n){}function mH(e){}function mG(e){return Promise.resolve([])}function mz(e){return Promise.resolve([])}function mV(e){return Promise.resolve({success:!1,result:void 0,error:"No service worker has been registered. Offline-related features have been removed from the framework."})}function mJ(e){return()=>{}}function mq(){return!0}}}]);
|