@openmrs/esm-devtools-app 10.0.1-pre.5652 → 10.0.1-pre.5664
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.turbo/turbo-build.log +2 -2
- package/dist/{77.css → 777.css} +1 -1
- package/dist/777.css.map +1 -0
- package/dist/777.js +28 -0
- package/dist/777.js.map +1 -0
- package/dist/{732.js → 813.js} +1 -1
- package/dist/813.js.map +1 -0
- package/dist/openmrs-esm-devtools-app.js +2 -2
- package/dist/openmrs-esm-devtools-app.js.buildmanifest.json +26 -26
- package/dist/openmrs-esm-devtools-app.js.map +1 -1
- package/dist/routes.json +1 -1
- package/package.json +2 -2
- package/dist/732.js.map +0 -1
- package/dist/77.css.map +0 -1
- package/dist/77.js +0 -32
- package/dist/77.js.map +0 -1
package/dist/777.js
ADDED
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
"use strict";(globalThis.webpackChunk_openmrs_esm_devtools_app=globalThis.webpackChunk_openmrs_esm_devtools_app||[]).push([["777"],{6800(e,t,n){let o,r,i;n.r(t),n.d(t,{GenderUnknownIcon:()=>sS,evaluateAsNumber:()=>ou,getImportMapOverrideMap:()=>nr,StockManagementPictogram:()=>dc,ChemistryIcon:()=>si,BabyIcon:()=>a6,DashboardExtension:()=>lS,openmrsComponentDecorator:()=>is,tryRegisterExtension:()=>aS,pictogramIds:()=>uG,ActivityIcon:()=>aZ,compile:()=>op,removeRouteMapOverride:()=>n$,TableBatchActions:()=>aB,getAsyncLifecycle:()=>ic,subscribeOpenmrsEvent:()=>nz,PasswordIcon:()=>sq,Assessment2Pictogram:()=>uK,CloseIcon:()=>su,setupRouteMapOverrides:()=>nL,useFeatureFlag:()=>iU,reset:()=>rb,LabOrderIcon:()=>sR,VisitMode:()=>nZ,useLocations:()=>i4,getLifecycle:()=>il,formatDatetime:()=>l7,getVisitsForPatient:()=>n8,formatPartialDate:()=>l6,CustomOverflowMenu:()=>aq,LocationIcon:()=>sT,GroupIcon:()=>sk,createUseStore:()=>rQ,VisitStatus:()=>nQ,getSessionLocation:()=>tH,getCurrentImportMap:()=>nh,usePatient:()=>ar,useRenderableExtensions:()=>aa,getOpenedWindowIndexByWorkspace:()=>rP,setLeftNav:()=>rS,clearHistory:()=>tx,clearConfigErrors:()=>e1,formatTime:()=>l4,isDevEnabled:()=>tZ,closeWorkspaceGroup2:()=>d$,getCurrentRouteMap:()=>nI,ConfigurableLink:()=>rz,sessionStore:()=>tO,setSessionLocale:()=>tG,subscribeSnackbarShown:()=>w,getLoggedInUser:()=>tF,GenderMaleIcon:()=>sb,getExtensionSlotConfigFromStore:()=>er,evaluateAsNumberAsync:()=>od,getImportMapDefaultMap:()=>nn,unregisterExtensionRendering:()=>oY,implementerToolsConfigStore:()=>e_,Type:()=>V,InPatientPictogram:()=>u3,cleanupObsoleteFeatureFlags:()=>oM,getAttachmentsUrl:()=>nU,showSnackbar:()=>dS,PatientBannerActionsMenu:()=>uD,PatientSearchPictogram:()=>dt,DocumentAttachmentIcon:()=>sp,Snackbar:()=>d_,CardiologyPictogram:()=>uY,ImageMedicalIcon:()=>sC,ActionableNotificationComponent:()=>uo,DiagnosisTags:()=>cH,iconIds:()=>aY,PatientsPictogram:()=>dn,interpolateUrl:()=>tp,setupHistory:()=>tv,subscribeToastShown:()=>h,detachAll:()=>rh,convertToLocaleCalendar:()=>l9,DocumentIcon:()=>sf,configInternalStore:()=>Z,ActionMenuButton2:()=>dX,setupDynamicOfflineDataHandler:()=>mm,makeUrl:()=>tI,oneOf:()=>e7,selectPreferredName:()=>uN,MobileCheckIcon:()=>sU,createErrorHandler:()=>y,parseDate:()=>lZ,getAttachmentByUuid:()=>nW,LeftNavMenu:()=>cK,getExtensionRegistration:()=>rm,ShoppingCartAddItemIcon:()=>ly,ReferralOrderIcon:()=>sQ,ReportIcon:()=>s1,dispatchToastShown:()=>f,getImportMapNextPageMap:()=>no,registerExtension:()=>rf,setupOfflineSync:()=>md,DownloadIcon:()=>sg,useConnectivity:()=>mw,provide:()=>e$,ShoppingCartArrowDownIcon:()=>s7,featureFlagsStore:()=>o$,jsep:()=>n4.A,GeriatricsPictogram:()=>u5,SearchIcon:()=>s6,reportError:()=>v,slugify:()=>nf,isOmrsDateToday:()=>lK,getExtensionStore:()=>oZ,BloodBankPictogram:()=>uX,TriagePictogram:()=>dd,Workspace2:()=>dV,refetchCurrentUser:()=>tW,CheckmarkOutlineIcon:()=>sr,registerExtensionSlot:()=>ry,AllergiesIcon:()=>lh,ArrowDownIcon:()=>a0,useOpenmrsInfinite:()=>iK,getExtensionConfigFromExtensionSlotStore:()=>el,OpenmrsDatePicker:()=>cU,getExtensionConfigFromStore:()=>es,getDynamicOfflineDataEntries:()=>mf,getLocaleDisplayName:()=>lB,messageOmrsServiceWorker:()=>mg,navigate:()=>th,launchWorkspace2:()=>dT,getGroupByWindowName:()=>rA,CustomOverflowMenuItem:()=>aJ,isUrl:()=>e4,CaretDownIcon:()=>a4,ArrowLeftIcon:()=>a1,FacilityPictogram:()=>u2,ViewOffIcon:()=>lf,updateInternalExtensionStore:()=>oG,dispatchActionableNotificationShown:()=>d,resetRouteMapOverrides:()=>nT,formatDurationBetween:()=>cs,defaultVisitCustomRepresentation:()=>n0,getBreadcrumbsFor:()=>ts,useOpenmrsPagination:()=>iH,Pagination:()=>ub,CheckmarkFilledIcon:()=>so,clearCurrentUser:()=>tB,showModal:()=>c9,ChevronUpIcon:()=>sc,saveVisit:()=>n6,useAttachments:()=>iE,Pictogram:()=>dh,useExtensionSlot:()=>r3,ChevronDownIcon:()=>sa,OpenmrsDateRangePicker:()=>cF,deleteAttachmentPermanently:()=>nH,getVisitTypes:()=>nY,OverflowMenuHorizontalIcon:()=>sG,EventScheduleIcon:()=>s_,getSessionStore:()=>tL,ProcedureOrderIcon:()=>sY,preloadImport:()=>ng,registerWorkspaceWindows2:()=>rR,useOnVisible:()=>i9,setSessionLocation:()=>tV,userHasAccess:()=>tU,ChartAverageIcon:()=>st,getFeatureFlag:()=>oL,UserAvatarIcon:()=>lc,renderExtension:()=>rF,useFhirInfinite:()=>i0,toVisitTypeObject:()=>nK,useSession:()=>as,EmergencyDepartmentPictogram:()=>u1,Notification:()=>ut,dispatchSnackbarShown:()=>m,formatDate:()=>l3,workspace2StoreActions:()=>dD,SwitcherIcon:()=>s8,esmStyleGuideSchema:()=>aL,getImportMapDisabledOverrides:()=>ni,useAssignedExtensionIds:()=>ik,CaretRightIcon:()=>a9,evaluateAsType:()=>om,PageHeader:()=>uv,TranslateIcon:()=>li,setUserProperties:()=>tz,MovementIcon:()=>sV,renderInlineNotifications:()=>uu,subscribePrecacheStaticDependencies:()=>mh,PaymentsDeskPictogram:()=>dr,usePrimaryIdentifierCode:()=>ai,useLayoutType:()=>i2,getCurrentUser:()=>tM,XrayPictogram:()=>dm,CaretUpIcon:()=>se,renderActionableNotifications:()=>um,OpenmrsAppContext:()=>iy,setupModals:()=>c7,getDefaultsFromConfigSchema:()=>function e(t){let n={};for(let o of Object.keys(t))if(mi(t[o])&&t[o].hasOwnProperty("_default"))n[o]=t[o]._default;else{if(o.startsWith("_"))continue;mi(t[o])?n[o]=e(t[o]):n[o]=t[o]}return n},subscribeTo:()=>M,recordConfigDerivationError:()=>eh,useAbortController:()=>ix,Extension:()=>rq,getFhirServerPaginationHandlers:()=>iq,useConnectedExtensions:()=>iO,registerApp:()=>ak,HospitalBedIcon:()=>sE,useExtensionInternalStore:()=>iD,configExtensionStore:()=>ee,getSynchronizationItems:()=>mp,getExtensionSlotsConfigStore:()=>en,registerExtensionRendering:()=>oX,RenderIfValueIsTruthy:()=>ib,registerFeatureFlag:()=>oT,useFhirFetchAll:()=>iQ,restBaseUrl:()=>tN,CalendarHeatMapIcon:()=>a3,isImportMapOverrideDisabled:()=>na,resetConfigSystem:()=>e2,getExtensionInternalStore:()=>oH,registerGlobalStore:()=>$,evaluateAsBoolean:()=>ol,PatientBannerPatientInfo:()=>uM,addRouteMapOverride:()=>nR,getDefaultCalendar:()=>l2,SettingsIcon:()=>s3,DrugOrderIcon:()=>sh,ProgramsIcon:()=>sZ,useAssignedExtensions:()=>r6,CloseFilledIcon:()=>sd,canAccessStorage:()=>mr,registerDefaultCalendar:()=>l1,TreeViewAltIcon:()=>ls,OverflowMenuVerticalIcon:()=>sz,clearConfigDerivationError:()=>ew,getConfigStore:()=>et,InformationSquareIcon:()=>sP,EmptyCard:()=>cz,ChevronLeftIcon:()=>ss,RadiologyIcon:()=>lv,useCandidateExtensions:()=>iN,renderToasts:()=>dC,isDesktop:()=>i5,integrateBreakpoints:()=>aA,RegistrationPictogram:()=>ds,CardHeader:()=>a$,getExtensionRegistrationFrom:()=>rd,InformationIcon:()=>sI,TrashCanIcon:()=>la,useShallowStableValue:()=>rJ,PatientDocumentsPictogram:()=>de,useOpenmrsSWR:()=>ae,Assessment1Pictogram:()=>uJ,finishRegisteringAllApps:()=>aN,importDynamic:()=>np,useFhirPagination:()=>iz,useVisitContextStore:()=>ag,ArrowUpIcon:()=>a5,showActionableNotification:()=>uf,useForceUpdate:()=>iF,useVisit:()=>ah,PatientBannerPatientIdentifiers:()=>uO,TransferPictogram:()=>du,usePagination:()=>at,Breakpoint:()=>aE,PatientBannerToggleContactDetailsButton:()=>dY,CloseOutlineIcon:()=>sm,ObstetricsPictogram:()=>u9,parseDateInput:()=>ct,getConfig:()=>eM,attach:()=>rp,getLocale:()=>lU,isUrlWithTemplateParameters:()=>e8,useEmrConfiguration:()=>iM,useLeftNav:()=>i6,ToolsIcon:()=>lr,ErrorState:()=>cq,detach:()=>rg,setCurrentVisit:()=>n5,ConditionsIcon:()=>l_,SaveIcon:()=>s5,useConfig:()=>iP,validator:()=>G,CalendarIcon:()=>a8,getHistory:()=>ty,StickyNoteAddIcon:()=>s9,useWorkspace2Store:()=>dW,getPatientName:()=>ux,getVisitStore:()=>n2,getCoreTranslation:()=>tf,registerModuleWithConfigSystem:()=>eA,registerModuleLoad:()=>eP,getBreadcrumbs:()=>tr,extractVariableNames:()=>oP,translateFrom:()=>tm,useStoreWithActions:()=>rZ,EditIcon:()=>sw,getCandidateExtensions:()=>rv,shallowEqual:()=>x,subscribeNotificationShown:()=>p,MaximizeIcon:()=>sL,promptForClosingWorkspaces:()=>dL,WarningIcon:()=>lg,fhirBaseUrl:()=>tE,matchLocale:()=>mo,usePatientPhoto:()=>uU,registerBreadcrumb:()=>tn,EventsIcon:()=>sv,createGlobalStore:()=>R,subscribeToFeatureFlag:()=>oD,useExtensionStore:()=>iB,createAttachment:()=>nF,useLeftNavStore:()=>i3,TableIcon:()=>ln,Icon:()=>lx,InformationFilledIcon:()=>sA,getCurrentPageMap:()=>nt,LaboratoryPictogram:()=>u8,temporaryConfigStore:()=>Q,toDateObjectStrict:()=>lX,defineConfigSchema:()=>eI,filterBreadcrumbs:()=>ta,invalidateImplementerToolsConfig:()=>ep,PatientBannerContactDetails:()=>d5,getAssignedExtensions:()=>r_,PatientPhoto:()=>uV,MaterialOrderIcon:()=>sM,MicroscopeIcon:()=>sB,visitTypesUrl:()=>nX,scheduleRecomputation:()=>o5,PharmacyPictogram:()=>di,AttachmentIcon:()=>lw,MoneyIcon:()=>sF,getAttachments:()=>nB,PageHeaderContent:()=>uy,MedicationIcon:()=>sD,PrinterIcon:()=>sX,PatientListsPictogram:()=>dp,useAppContext:()=>iS,isOpenmrsRoutes:()=>nv,AppointmentsAltPictogram:()=>uq,GenericOrderTypeIcon:()=>sj,batchExtensionUpdates:()=>o1,useExtensionSlotStore:()=>r2,ViewIcon:()=>lp,formattedName:()=>uk,sessionEndpoint:()=>tC,duration:()=>ci,resetImportMapOverrides:()=>nc,TableOfContentsIcon:()=>lt,CaretLeftIcon:()=>a7,getTranslationOverrides:()=>eL,isVersionSatisfied:()=>ml,EmptyCardIllustration:()=>cG,PenIcon:()=>sK,verifyTotpCode:()=>tq,validators:()=>e9,setupImportMapOverrides:()=>nm,showToast:()=>dI,useDefineAppContext:()=>iv,getGlobalStore:()=>T,useOnClickOutside:()=>i7,getWindowByWorkspaceName:()=>rI,ArrowRightIcon:()=>a2,loadLifeCycles:()=>ay,registerBreadcrumbs:()=>to,MotherIcon:()=>sH,fetchCurrentPatient:()=>nV,Toast:()=>dj,MessageQueueIcon:()=>sW,TwoFactorAuthenticationIcon:()=>ll,Pharmacy2Pictogram:()=>da,goBackInHistory:()=>tb,GroupAccessIcon:()=>sN,getExtensionRenderingsStore:()=>oV,setImplementerToolsConfigRecomputer:()=>ef,getAsyncExtensionLifecycle:()=>id,setupApiModule:()=>t0,renderLoadingSpinner:()=>d6,showNotification:()=>ud,getModalRegistration:()=>rE,ListCheckedIcon:()=>s$,ResponsiveWrapper:()=>dw,GynaecologyPictogram:()=>u6,ShoppingCartIcon:()=>s4,getRouteMapNextPageMap:()=>nP,MetadataExportPictogram:()=>u7,updateVisit:()=>n3,backendDependencies:()=>tQ,MaybePictogram:()=>dg,createParcelMounter:()=>rB,openmrsFetch:()=>tA,useStore:()=>rY,isOpenmrsAppRoutes:()=>n_,HomePictogram:()=>df,DentistryPictogram:()=>uQ,ServiceQueuesPictogram:()=>dl,toLanguageTag:()=>lW,setFeatureFlag:()=>oW,DigitalTrustPictogram:()=>u0,NumericObservation:()=>uw,attachmentUrl:()=>nD,interpolateString:()=>tg,inRange:()=>e3,useExtensionSlotMeta:()=>iW,AppointmentsPictogram:()=>uz,renderSnackbars:()=>dx,getRegisteredWorkspace2Names:()=>dU,logout:()=>tJ,toLocationObject:()=>nq,ChartLineIcon:()=>sn,UserHasAccess:()=>al,evaluateAsBooleanAsync:()=>oc,createDashboard:()=>lj,getLocations:()=>nJ,useExtensionContext:()=>iL,getExtensionsConfigStore:()=>ei,getRouteMapDefaultMap:()=>nA,age:()=>uC,isOmrsDateStrict:()=>lJ,registerWorkspaceGroups2:()=>rO,usePaginationInfo:()=>an,evaluateAsync:()=>os,useOpenmrsFetchAll:()=>iY,removeImportMapOverride:()=>nl,useVisitTypes:()=>a_,ageAsDuration:()=>uE,getExtensionNameFromId:()=>ru,renderParcel:()=>rW,useWorkspace2Context:()=>dB,ResetIcon:()=>s2,RenewIcon:()=>s0,subscribeActionableNotificationShown:()=>g,ErrorCard:()=>cJ,GenderFemaleIcon:()=>sy,enableImportMapOverride:()=>nu,retry:()=>mc,ComponentContext:()=>rG,ExtensionSlot:()=>r4,unsetLeftNav:()=>rj,addImportMapOverride:()=>ns,MaybeIcon:()=>lb,useCustomOverflowMenu:()=>az,PedestrianFamilyIcon:()=>sJ,CtScanPictogram:()=>uZ,dispatchNotificationShown:()=>u,leftNavStore:()=>rx,OpenmrsFetchError:()=>tP,UserFollowIcon:()=>lu,launchWorkspaceGroup2:()=>dR,ChevronRightIcon:()=>sl,UserXrayIcon:()=>ld,GenderOtherIcon:()=>sx,formatDuration:()=>ce,toOmrsIsoString:()=>lY,Labs2Pictogram:()=>u4,workspace2Store:()=>rC,setUserLanguage:()=>tD,useBodyScrollLock:()=>iC,getExtensionConfig:()=>ea,SyringeIcon:()=>le,LocationPicker:()=>cX,useDebounce:()=>iR,TimeIcon:()=>lo,getExtensionSlotConfig:()=>eo,AddIcon:()=>aQ,getRouteMapOverrideMap:()=>nO,processConfig:()=>eD,InventoryManagementIcon:()=>sO,registerWorkspaces2:()=>r$,UserIcon:()=>lm,formatPatientName:()=>uj,fireOpenmrsEvent:()=>nG,registerModal:()=>rN,registerTranslationNamespace:()=>eO,displayName:()=>uS,evaluate:()=>oa,defineExtensionConfigSchema:()=>eR,renderWorkspaceWindowsAndMenu:()=>mt,getSyncLifecycle:()=>iu,evaluateAsTypeAsync:()=>of});let a="openmrs:notification-shown",s="openmrs:actionable-notification-shown",l="openmrs:toast-shown",c="openmrs:snack-bar-shown";function u(e){window.dispatchEvent(new CustomEvent(a,{detail:e}))}function d(e){window.dispatchEvent(new CustomEvent(s,{detail:e}))}function m(e){window.dispatchEvent(new CustomEvent(c,{detail:e}))}function f(e){window.dispatchEvent(new CustomEvent(l,{detail:e}))}function p(e){let t=t=>e(t.detail);return window.addEventListener(a,t),()=>window.removeEventListener(a,t)}function g(e){let t=t=>e(t.detail);return window.addEventListener(s,t),()=>window.removeEventListener(s,t)}function h(e){let t=t=>e(t.detail);return window.addEventListener(l,t),()=>window.removeEventListener(l,t)}function w(e){let t=t=>e(t.detail);return window.addEventListener(c,t),()=>window.removeEventListener(c,t)}function _(e,t){return e instanceof Error?e.message||t:"string"==typeof e&&e.trim().length>0?e:t}function v(e){let t=b(e);setTimeout(()=>{throw t})}function y(){let e=Error();return t=>{let n=b(t);n.stack+=`
|
|
2
|
+
Async stacktrace:
|
|
3
|
+
${e.stack}`,v(t)}}function b(e){let t;if(e instanceof Error)return e;if(null===e)return Error("'null' was thrown as an error");if("object"==typeof e){try{t=`Object thrown as error: ${JSON.stringify(e)}`}catch(n){t=`Object thrown as error with the following properties: ${Object.keys(e)}`}return Error(t)}if(void 0===e)return Error("'undefined' was thrown as an error");return Error(e.toString())}function x(e,t){if(e===t||Object.is(e,t))return!0;if(Array.isArray(e)){if(!Array.isArray(t)||e.length!==t.length)return!1;for(let n=0;n<e.length;n++)if(e[n]!==t[n])return!1;return!0}if(Array.isArray(t)||"object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;let n=Object.getOwnPropertyNames(e),o=Object.getOwnPropertyNames(t);return n.length===o.length&&n.every(n=>e[n]===t[n])}window.onerror=function(e,t,n,o,r){return console.error("Unexpected error: ",r??e),f({description:_(r??e,"Oops! An unexpected error occurred."),kind:"error",title:"Error"}),!1},window.onunhandledrejection=function(e){console.error("Unhandled rejection: ",e.reason),f({description:_(e.reason,"Oops! An unhandled promise rejection occurred."),kind:"error",title:"Error"})};var S,j,k,N=n(1978),E=n(9167);function C(){try{return"u">typeof process&&("true"===process.env.VITEST||void 0!==process.env.JEST_WORKER_ID)||"u">typeof globalThis&&("__vitest_worker__"in globalThis||"__jest__"in globalThis)}catch{return!1}}let I={},A=Symbol.for("openmrs.esm-state.instanceCount"),P=globalThis,O=(P[A]??0)+1;function R(e,t,n="none"){let o=I[e];if(o)return o.active?C()||console.error(`Attempted to override the existing store ${e}. Make sure that stores are only created once.`):o.value.setState(t,!0),o.active=!0,o.value;{let o=L(e,t,n);return I[e]={value:o,active:!0},o}}function $(e,t){let n=I[e];return n?(n.active?C()||console.error(`Attempted to override the existing store ${e}. Make sure that stores are only created once.`):n.value=t,n.active=!0,n.value):(I[e]={value:t,active:!0},t)}function T(e,t,n="none"){let o=I[e];if(!o){let o=L(e,t??{},n);return I[e]={value:o,active:!1},o}return o.value}function M(...e){let[t,n,o]=e,r=void 0===o?n:o,i=void 0===o?e=>e:n,a=i(t.getState());return r(a),t.subscribe(e=>{let t=i(e);x(a,t)||(a=t,r(t))})}function L(e,t,n){return"sessionStorage"===n?(0,E.y)()((0,N.Zr)(()=>t,{name:e,storage:(0,N.KU)(()=>sessionStorage)})):(0,E.y)()(()=>t)}P[A]=O,O>1&&!C()&&console.error(`Detected ${O} copies of @openmrs/esm-framework running on this page. Each copy keeps its own store registry, so stores, configuration and extension state are not shared between them. This usually means a frontend module loaded its own bundled framework instead of the one the app shell provides.`),globalThis.setTimeout?.(()=>{"u">typeof window&&"development"===window.spaEnv&&(window.stores=I)},1e3);var D=n(1156),W=n(3591),B=n(4888),U=n(9352),F=n(602),H=n(8395),V=((S={}).Array="Array",S.Boolean="Boolean",S.ConceptUuid="ConceptUuid",S.Number="Number",S.Object="Object",S.String="String",S.UUID="UUID",S.PersonAttributeTypeUuid="PersonAttributeTypeUuid",S.PatientIdentifierTypeUuid="PatientIdentifierTypeUuid",S);function G(e,t){return n=>{if(!e(n))if("function"==typeof t)return t(n);else return t}}let z=G(e=>Array.isArray(e),"must be an array"),q=G(e=>"boolean"==typeof e,"must be a boolean"),J=G(e=>"number"==typeof e,"must be a number"),K=G(e=>"string"==typeof e,"must be a string"),X=G(e=>"object"==typeof e&&!Array.isArray(e)&&null!==e,"must be an object (not an array or null)"),Y=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"),Z=R("config-internal",{providedConfigs:[],schemas:{},moduleLoaded:{}}),Q=R("temporary-config",{config:function(){try{return JSON.parse(localStorage.getItem("openmrs:temporaryConfig")||"{}")}catch(e){return{}}}()});Q.subscribe(e=>{var t=e.config;try{localStorage.setItem("openmrs:temporaryConfig",JSON.stringify(t))}catch(e){}});let ee=R("config-store-of-extension-state",{mountedExtensions:[]});function et(e){return T(`config-module-${e}`,{config:null,loaded:!1,translationOverridesLoaded:!1})}function en(){return T("config-extension-slots",{slots:{}})}function eo(e){return er(en().getState(),e)}function er(e,t){return e.slots[t]??{loaded:!1,config:{}}}function ei(){return T("config-extensions",{configs:{}})}function ea(e,t){if("string"!=typeof e||"string"!=typeof t||"__proto__"===e||"__proto__"===t||"constructor"===e||"constructor"===t||"prototype"===e||"prototype"===t)throw Error("Attempted to call `getExtensionConfig()` with invalid argument");let n=ei(),o=n=>n.configs[e]?.[t];return{getInitialState:()=>o(n.getInitialState()),getState:()=>o(n.getState())??{loaded:!1,config:null},subscribe:e=>n.subscribe((t,n)=>{let r=o(t),i=o(n);x(r,i)||e(r,i)})}}function es(e,t,n){return e.configs[t]?.[n]??{loaded:!1,config:null}}function el(e,t,n){return e.configure?.[n]??null}let ec=(0,E.y)()(()=>({config:{}})),eu=0,ed=!0,em=!1;function ef(e){o=e}function ep(){ed=!0,eu>0&&eg()}function eg(){if(ed&&o&&!em){em=!0,ed=!1;try{o()}catch(e){ed=!0,eh(e),console.error("Failed to derive the implementer tools config",e)}finally{em=!1}}}function eh(e){ec.setState({derivationError:e instanceof Error?e.message:String(e)})}function ew(){ec.getState().derivationError&&ec.setState({derivationError:void 0})}let e_=$("config-implementer-tools",{...ec,getState:()=>(0===eu&&eg(),ec.getState()),setState:(...e)=>(ed=!1,ec.setState(...e)),subscribe(e){eu++,eg();let t=ec.subscribe(e),n=!1;return()=>{!n&&(n=!0,eu--),t()}}});function ev(e,t){if(Array.isArray(t))return t}function ey(e,t){return(0,B.A)({},e,t,ev)}let eb=[];function ex(){let e=Z.getState(),t=Q.getState(),n=ee.getState();if(eS?.configState===e&&eS.tempConfigState===t)return void eC(e,n,t,eS.slotConfigs,!0);!function(e,t){for(let n of Object.keys(e.schemas)){let o,r=et(n),i=e.schemas[n],a=!!e.moduleLoaded[n],s=eE.get(n);if(s&&s.schema===i&&s.moduleLoaded===a&&s.providedConfigs===e.providedConfigs&&s.temporaryConfig===t.config)o=s.state;else{let r=a?function(e,t,n){let o=t.schemas[e],r=eV(e,eF(t,n));ez(o,r,e);let i=eX(o,r);return eq(o,i,e),delete i.extensionSlots,i}(n,e,t):function(e,t,n){let o=eX(e6,eV(e,eF(t,n)));return eq(e6,o,e),delete o.extensionSlots,o}(n,e,t);o={translationOverridesLoaded:!0,loaded:a,config:r},eE.set(n,{schema:i,moduleLoaded:a,providedConfigs:e.providedConfigs,temporaryConfig:t.config,state:o})}let l=r.getState();l.loaded===o.loaded&&l.translationOverridesLoaded===o.translationOverridesLoaded&&(0,U.A)(l.config,o.config)||r.setState(o)}}(e,t);let o=function(e,t){let n=eG(eF(e,t)),o=Object.keys(n).reduce((e,t)=>(n[t]?.extensionSlots&&(e[t]=n[t]?.extensionSlots),e),{});var r=o;for(let[e,t]of Object.entries(r))for(let[n,o]of Object.entries(t))!function(e,t,n){let o=`${t}.extensionSlots.${n}`,r=`Extension slot config '${o}'`,i=Object.keys(e).filter(e=>!["add","remove","order","configure"].includes(e));i.length&&e0(o,r+`' contains invalid keys '${i.join("', '")}'`),!e.add||Array.isArray(e.add)&&e.add.every(e=>"string"==typeof e)||e0(o,r+".add' is invalid. Must be an array of strings (extension IDs)"),!e.remove||Array.isArray(e.remove)&&e.remove.every(e=>"string"==typeof e)||e0(o,r+".remove' is invalid. Must be an array of strings (extension IDs)"),!e.order||Array.isArray(e.order)&&e.order.every(e=>"string"==typeof e)||e0(o,r+".order' is invalid. Must be an array of strings (extension IDs)"),e.configure&&!eZ(e.configure)&&e0(o,r+".configure' is invalid. Must be an object with extension IDs for keys")}(o,e,n);let i={},a={};for(let e of Object.values(o))for(let[t,n]of Object.entries(e))i[t]=n,n.configure&&(a[t]??(a[t]=[])).push(n.configure);for(let[e,t]of Object.entries(a)){let n=1===t.length?t[0]:eG(t);i[e].configure!==n&&(i[e]={...i[e],configure:n})}return i}(e,t);(function(e){let t=en(),n=t.getState().slots,o={},r=!1;for(let[t,i]of Object.entries(e)){let e=n[t];e?.loaded&&(0,U.A)(e.config,i)?o[t]=e:(o[t]={loaded:!0,config:i},r=!0)}(r||Object.keys(n).length!==Object.keys(o).length)&&t.setState({slots:o})})(o),eC(e,n,t,o,!1),eS={configState:e,tempConfigState:t,slotConfigs:o},ep()}let eS=null,ej=new WeakMap;function ek(){o=()=>{var e,t;let n,o;return e=Z.getState(),t=Q.getState(),n=e_.getState(),o={config:function(e,t){let n=function(e){let t={};for(let[n,o]of Object.entries(e)){let e=eU.get(n);if(e&&e.schema===o)t[n]=e.annotated;else{let e=function e(t){return t.hasOwnProperty("_default")?{...t,_value:t._default,_source:"default"}:eZ(t)?Object.keys(t).reduce((n,o)=>(n[o]=e(t[o]),n),{}):{}}((0,H.A)(o));eU.set(n,{schema:o,annotated:e}),t[n]=e}}return t}(e.schemas),o=[...e.providedConfigs.map(e=>[e.config,e.source]),[t.config,"temporary config"]],r=new Set(Object.keys(n));for(let[e]of o)for(let t of Object.keys(e))r.add(t);let i={};for(let e of r){let t=n[e],r=o.map(([t])=>t[e]),a=o.map(([,e])=>e),s=eB.get(e);if(s&&s.annotatedSchema===t&&s.configSlices.length===r.length&&s.configSlices.every((e,t)=>e===r[t])&&s.sources.every((e,t)=>e===a[t])){i[e]=s.result;continue}let l=t??{};o.forEach(([,e],t)=>{let n=r[t];void 0!==n&&(l=ey(l,function e(t,n){return eZ(t)?Object.keys(t).reduce((o,r)=>(o[r]=e(t[r],n),o),{}):{_value:t,_source:n}}(n,e)))}),eB.set(e,{annotatedSchema:t,configSlices:r,sources:a,result:l}),i[e]=l}return i}(e,t)},void((0,U.A)(n.config,o.config)||e_.setState(o))},ex(),eb.push(Z.subscribe(eN),Q.subscribe(eN),ee.subscribe(eN))}function eN(){ew();try{ex()}catch(e){eh(e),console.error("Failed to recompute the configuration",e)}}ek();let eE=new Map;function eC(e,t,n,o,r){let i=ei(),a=i.getState().configs,s={},l=!1,c=0;for(let i of t.mountedExtensions){let t,u=a[i.slotName]?.[i.extensionId],d=u&&ej.get(u);if(r&&u?.loaded&&d?.slotModuleName===i.slotModuleName&&d.extensionModuleName===i.extensionModuleName)t=u;else{let r=function(e,t,n,o,r,i,a){let s=function(e){let[t]=e.split("#");return t}(o),l=r.schemas[s],c=JSON.stringify([n,o,e,t]),u=eW.get(c);if(u&&u.extensionSchema===l&&u.extensionModuleSchema===r.schemas[t]&&u.providedConfigs===r.providedConfigs&&u.temporaryConfig===i.config)return u.config;let d=l?s:t,m=eF(r,i),f=a?.configure?.[o]??{},p=eV(e,m),g=p?.extensionSlots?.[n]?.configure?.[o]??{},h=eG([eV(d,m),f,g]),w=l??r.schemas[t];ez(w,h,d);let _=eX(w,h);return eq(w,_,d),delete _.extensionSlots,eW.set(c,{extensionSchema:l,extensionModuleSchema:r.schemas[t],providedConfigs:r.providedConfigs,temporaryConfig:i.config,config:_}),_}(i.slotModuleName,i.extensionModuleName,i.slotName,i.extensionId,e,n,o[i.slotName]);t=u?.loaded&&(0,U.A)(u.config,r)?u:{config:r,loaded:!0}}ej.set(t,i),t!==u&&(l=!0),s[i.slotName]||(s[i.slotName]={}),s[i.slotName][i.extensionId]=t,c++}for(let[e,t]of Object.entries(s)){let n=a[e];n&&Object.keys(n).length===Object.keys(t).length&&Object.entries(t).every(([e,t])=>n[e]===t)&&(s[e]=n)}l||(l=Object.keys(a).length!==Object.keys(s).length||Object.values(a).reduce((e,t)=>e+Object.keys(t).length,0)!==c),l&&i.setState({configs:s})}function eI(e,t){eH(e,t);let n=ey(t,e6);Z.setState(t=>({...t,schemas:{...t.schemas,[e]:n},moduleLoaded:{...t.moduleLoaded,[e]:!0}}))}function eA(e){Z.setState(t=>({...t,schemas:{...t.schemas,[e]:e6}}))}function eP(e){Z.setState(t=>({...t,moduleLoaded:{...t.moduleLoaded,[e]:!0}}))}function eO(e){Z.setState(t=>({...t,schemas:{...t.schemas,[e]:e5}}))}function eR(e,t){eH(e,t);let n=ey(t,e6);Z.getState().schemas[e]&&console.error(`Config schema for extension ${e} already exists. If there are multiple extensions with this same name, one will probably crash.`),Z.setState(t=>({...t,schemas:{...t.schemas,[e]:n}}))}function e$(e,t="provided"){Z.setState(n=>({...n,providedConfigs:[...n.providedConfigs,{source:t,config:e}]}))}function eT(e,t,n){return new Promise(o=>{let r,i=!1;function a(e){!i&&t(e)&&(i=!0,o(n(e)),r?.())}a(e.getState()),i||(r=e.subscribe(a))})}function eM(e){return eT(et(e),e=>!!(e.loaded&&e.config),e=>(0,F.A)(e.config,["Display conditions","Translation overrides"]))}function eL(e,t,n){let o=[eT(et(e),e=>!!(e.translationOverridesLoaded&&e.config),e=>e.config["Translation overrides"]??{})];return t&&n&&o.push(eT(ea(t,n),e=>!!(e.loaded&&e.config),e=>e.config["Translation overrides"]??{})),Promise.all(o)}function eD(e,t,n){ez(e,t,n);let o=eX(e,t);return eq(e,o,n),o}let eW=new Map,eB=new Map,eU=new Map;function eF(e,t){return[...e.providedConfigs.map(e=>e.config),t.config]}function eH(e,t,n=""){let o="Please verify that you are running the latest version and, if so, alert the maintainer.";for(let r of Object.keys(t).filter(e=>!e.startsWith("_"))){let i=n+(n&&".")+r,a=t[r];if("Display conditions"===i&&console.error(`${e} declares a configuration option called "Display conditions"; the "Display conditions" option is a reserved name. ${o}`),"Translation overrides"===i&&console.error(`${e} declares a configuration option called "Translation overrides"; the "Translation overrides" option is a reserved name. ${o}`),!eZ(a)){console.error(`${e} has bad config schema definition for key '${i}'. ${o}`);continue}a.hasOwnProperty("_default")||eH(e,a,i);let s=a._elements;if(eY(s)&&eH(e,s,i+"._elements"),a._validators)for(let t of a._validators)"function"!=typeof t&&console.error(`${e} has invalid validator for key '${i}' ${o}.
|
|
4
|
+
|
|
5
|
+
If you're the maintainer: validators must be functions that return either undefined or an error string. Received ${t}.`);let l=a._type;l&&!Object.values(V).includes(l)&&console.error(`${e} has invalid type for key '${i}' ${o}.
|
|
6
|
+
|
|
7
|
+
If you're the maintainer: the allowed types are ${Object.values(V).join(", ")}. Received '${l}'`),Object.keys(a).every(e=>["_description","_validators","_elements","_type"].includes(e))&&!n.includes("._elements")&&console.error(`${e} has bad config schema definition for key '${i}'. ${o}.
|
|
8
|
+
|
|
9
|
+
If you're the maintainer: all config elements must have a default. Received ${JSON.stringify(a)}`),s&&l&&![V.Array,V.Object].includes(l)&&console.error(`${e} has bad config schema definition for key '${i}'. ${o}.
|
|
10
|
+
|
|
11
|
+
If you're the maintainer: the 'elements' key only works with '_type' equal to 'Array' or 'Object'. Received ${JSON.stringify(l)}`)}}function eV(e,t){return eG(t.map(({[e]:t})=>t).filter(e=>!!e))}function eG(e){return e.reduce((e,t)=>(0,B.A)(e,t,ev),{})}function ez(e,t,n=""){for(let o of Object.keys(t)){let r=t[o],i=n+"."+o,a=e[o];if(!e.hasOwnProperty(o)){("extensionSlots"!==o||""===n)&&e0(i,`Unknown config key '${i}' provided. Ignoring.`);continue}(function e(t,n,o){eJ(o,t._type,n),eZ(n)?t._type===V.Object?function(t,n,o){if(t._elements)for(let r of Object.keys(n)){let i=n[r];e(t._elements,i,`${o}.${r}`)}}(t,n,o):t.hasOwnProperty("_default")||t.hasOwnProperty("_type")||ez(t,n,o):t._type===V.Array&&function(t,n,o){if(eJ(o,V.Array,n)){if(eY(t._elements))for(let r=0;r<n.length;r++)e(t._elements,n[r],`${o}[${r}]`);for(let e=0;e<n.length;e++)eJ(`${o}[${e}]`,t._elements?._type,n[e])}}(t,n,o)})(a,r,i)}}function eq(e,t,n=""){if(e){if(t!==e._default&&eK(n,e._validators,t),eZ(t))for(let o of Object.keys(t)){let r=t[o],i=n+"."+o,a=e[o];e._type===V.Object&&e._elements?eq(e._elements,r,i):eq(a,r,i)}else if(Array.isArray(t)&&e._elements)for(let o=0;o<t.length;o++)eq(e._elements,t[o],`${n}[${o}]`)}}function eJ(e,t,n){return!t||eK(e,[{Array:z,Boolean:q,ConceptUuid:Y,Number:J,Object:X,String:K,UUID:Y,PersonAttributeTypeUuid:Y,PatientIdentifierTypeUuid:Y}[t]],n)}function eK(e,t,n){let o=!0;if(t)try{for(let r of t){let t=r(n);if("string"==typeof t){let r="object"==typeof n?`Invalid configuration for ${e}: ${t}`:`Invalid configuration value ${n} for ${e}: ${t}`;e0(e,r),o=!1}}}catch(t){console.error(`Skipping invalid validator at "${e}". Encountered error
|
|
12
|
+
${t}`)}return o}let eX=(e,t)=>{let n=structuredClone(t);if(!e)return n;for(let t of Object.keys(e)){let o=n[t],r=e[t];if(r&&(r.hasOwnProperty("_type")||r.hasOwnProperty("_default"))){n.hasOwnProperty(t)||(n[t]=r._default);let e=r._elements;if(o&&eY(e)){if(r._type===V.Array&&Array.isArray(o)){let r=o.map(t=>eX(e,t));n[t]=r}else if(r._type===V.Object)for(let t of Object.keys(o))o[t]=eX(e,o[t])}}else if(eZ(r)){let e=o??{};eZ(e)&&(n[t]=eX(r,e))}}return n};function eY(e){return!!e&&Object.keys(e).filter(e=>!["_default","_validators"].includes(e)).length>0}function eZ(e){return"object"==typeof e&&!Array.isArray(e)&&null!==e}let eQ=new Set;function e0(e,t){let n=`${e}:::${t}`;eQ||(eQ=new Set),eQ.has(n)||(console.error(t),eQ.add(n))}function e1(e){e?eQ.forEach(t=>{t.startsWith(e)&&eQ.delete(t)}):eQ.clear()}function e2(){eb.forEach(e=>e()),eb.length=0,eE.clear(),eW.clear(),eU.clear(),eB.clear(),eS=null,ej=new WeakMap,ek()}let e5={"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:V.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(", ")}.`})]}},e6={"Display conditions":{privileges:{_description:"The privilege(s) the user must have to use this extension",_type:V.Array,_default:[]},expression:{_description:"The expression that determines whether the extension is displayed",_type:V.String,_default:void 0}},...e5},e3=(e,t)=>G(n=>e<=n&&n<=t,`must be between ${e} and ${t}`),e8=e=>{let t=e.concat(["openmrsBase","openmrsSpaBase"]);return G(e=>{if(!e||"string"!=typeof e)return!1;let n=/\${(.*?)}/g,o=n.exec(e);for(;o;){if(!t.includes(o[1]))return!1;o=n.exec(e)}return!0},"Should be a URL or path. The allowed template parameters are "+t.map(e=>"${"+e+"}").join(", "))},e4=e8([]),e7=e=>G(t=>e.includes(t),`Must be one of the following: '${e.join("', '")}'.`),e9={inRange:e3,isUrl:e4,isUrlWithTemplateParameters:e8,oneOf:e7};var te=n(4913);let tt=R("breadcrumbs",[]);function tn(e){return to([e])}function to(e){let t=[...tr(),...e.map(e=>({matcher:e.matcher instanceof RegExp?e.matcher:"string"==typeof e.matcher?(0,te.pathToRegexp)(e.matcher).regexp:(0,te.pathToRegexp)(e.path).regexp,settings:e}))];tt.setState(t,!0)}function tr(){return tt.getState()}function ti(e,t){if(t)return function(e,t){let[n]=e.filter(e=>e.matcher.test(t));return n}(e,t)||function(e,t){let n=t.split("/");for(;n.length>1;){n.pop();let t=ti(e,n.join("/"));if(t)return t}}(e,t)}function ta(e,t){if(e.length>0){let n=ti(e,t);if(n){let t=[n],o=ti(e,n.settings.parent);for(;void 0!==o;)t.push(o),o=ti(e,o.settings.parent);return t.reverse()}}return[]}function ts(e){return ta(tr(),e)}var tl=n(2267);let tc={address1:"Address line 1",address2:"Address line 2",address3:"Address line 3",address4:"Address line 4",address5:"Address line 5",address6:"Address line 6",city:"City",cityVillage:"City",country:"Country",countyDistrict:"District",district:"District",postalCode:"Postal code",state:"State",stateProvince:"State",closeAllOpenedWorkspaces:"Discard changes in {{count}} workspaces",closingAllWorkspacesPromptBody:"There may be unsaved changes in the following workspaces. Do you want to discard changes in the following workspaces? {{workspaceNames}}",closingAllWorkspacesPromptTitle:"You have unsaved changes",discard:"Discard",hide:"Hide",maximize:"Maximize",minimize:"Minimize",openAnyway:"Open anyway",unsavedChangesInOpenedWorkspace:"You may have unsaved changes in the opened workspace. Do you want to discard these changes?",unsavedChangesInWorkspace:'There may be unsaved changes in "{{workspaceName}}". Please save them before opening another workspace.',unsavedChangesTitleText:"Unsaved changes",workspaceHeader:"Workspace header",discardUnsavedChangesPromptBodyMultiple:"{{count}} workspaces have unsaved changes. Closing them will discard the changes:",discardUnsavedChangesPromptBodySingle:"<strong>{{workspaceTitle}}</strong> has unsaved changes. Closing it will discard them.",discardUnsavedChangesPromptTitle:"Discard unsaved changes?",keepEditing:"Keep editing",abnormalValue:"Abnormal value",actions:"Actions",actionableNotification:"Actionable notification",address:"Address",age:"Age",applicationError:"Application Error",batchActionItemSelected:"{{totalSelected}} item selected",batchActionsItemsSelected:"{{totalSelected}} items selected",cancel:"Cancel",change:"Change",Clinic:"Clinic",clearDevOverrides:"Clear dev overrides",close:"Close",closesActionableNotification:"Close actionable notification",closeSnackbar:"Close snackbar",confirm:"Confirm",contactAdministratorIfIssuePersists:"Contact your system administrator if the problem persists.",contactDetails:"Contact details",copied:"Copied!",copyToClipboard:"Copy to clipboard",delete:"Delete",discardChanges:"Discard changes",edit:"Edit",emptyStateText:"There are no {{displayText}} to display",error:"Error",errorCopy:"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.",errorLoadingLoginLocations:"Unable to load login locations. Please try again or contact support if the problem persists.",female:"Female",leftNavigation:"Left navigation",loading:"Loading",localVersion:"Local Build",male:"Male",navigateNonHttp:"Could not navigate to the requested page as it is not a safe URL",noResultsToDisplay:"No results to display",notAvailable:"Not available",other:"Other",paginationItemsCount:"{{pageItemsCount}} / {{totalItems}} items",paginationOfPages:"of {{count}} pages",patientAvatarAlt:"Avatar for {{patientName}}",patientIdentifierSticker:"Patient identifier sticker",patientLists:"Patient lists",patientPhotoAlt:"Profile photo of {{patientName}}",patientPhotoPlaceholder:"Photo placeholder for {{patientName}}",prereleaseVersion:"Prerelease",print:"Print",printError:"Print error",printErrorExplainer:"An error occurred in {{errorLocation}}",printIdentifierSticker:"Print identifier sticker",printing:"Printing",recordNewEntry:"Record {{displayText}}",relationships:"Relationships",reload:"Reload",resetOverrides:"Reset overrides",save:"Save",scriptLoadingFailed:"Error: Script failed to load",scriptLoadingError:"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",searchForLocation:"Search for a location",seeAll:"See all",seeMoreLists:"See {{count}} more lists",selectAll:"Select all",serverStartingUp:"The server is starting",serverStartingUpExplainer:"This can take a few minutes. OpenMRS will open automatically when the server is ready.",serverStartingUpSlowExplainer:"This is taking longer than usual. First startup after an upgrade can take 10 minutes or more. You can leave this page open.",sex:"Sex",showLess:"Show less",showMore:"Show more",snackbarNotification:"Snackbar notification",somethingWentWrongTryReloading:"Something went wrong. Please try reloading.",toggleDevTools:"Toggle dev tools",unknown:"Unknown",viewSetupProgress:"View setup progress",waitingForServer:"Waiting for the server",yearAbbreviation:"yr",yearsAbbreviation:"yrs"};var tu=n(2279);let td=tu.Ay.default||tu.Ay;function tm(e,t,n,o){return td.t(t,{ns:e,defaultValue:n,...o})}function tf(e,t,n){return tc[e]?tm("core",e,t??tc[e],n):(console.error(`O3 Core Translations does not provide key '${e}'. The key itself is being rendered as text.`),e)}function tp(e,t){let n=window.getOpenmrsSpaBase().replace(/\/$/,""),o=tg(e,{openmrsBase:window.openmrsBase,openmrsSpaBase:n,...t});return e.startsWith("//")?o:o.replace(/^\/\//,"/")}function tg(e,t){return Object.keys(t).reduce((e,n)=>e.split("${"+n+"}").join(t[n]),e)}function th({to:e,templateParams:t}){let n=window.getOpenmrsSpaBase().replace(/\/$/,""),o=tp(e,t).replace(window.location.origin,""),r=new URL(o,window.location.origin);if("http:"!=r.protocol&&"https:"!=r.protocol)throw console.error(`Received request to navigate to non-http URL: ${r.toString()}`),Error(tf("navigateNonHttp"));o.startsWith(n)?(0,tl.EH)(o):window.location.assign(o)}td.on("initialized",function(){window.i18next.loadNamespaces(["core"])});let tw="openmrs:history";function t_(e){let t=JSON.parse(sessionStorage.getItem(tw)??"[]")||[];t.push(e),t.length>50&&(t=t.slice(-50)),sessionStorage.setItem(tw,JSON.stringify(t))}function tv(){0===JSON.parse(sessionStorage.getItem(tw)??"[]").length&&document.referrer&&t_(document.referrer),window.addEventListener("single-spa:routing-event",e=>{let t=ty();e.detail.originalEvent?.singleSpaTrigger=="replaceState"?(t[t.length-1]=window.location.href,sessionStorage.setItem(tw,JSON.stringify(t))):!e.detail.originalEvent?.singleSpa&&t.includes(window.location.href)?tb({toUrl:window.location.href}):t[t.length-1]!==window.location.href&&t_(window.location.href)})}function ty(){return JSON.parse(sessionStorage.getItem(tw)??"[]")}function tb({toUrl:e}){let t=ty(),n=t.lastIndexOf(e);if(-1!=n){let e=t.slice(0,n+1);th({to:t[n]}),sessionStorage.setItem(tw,JSON.stringify(e))}else throw Error(`URL ${e} not found in history; cannot go back to it.`)}function tx(){sessionStorage.removeItem(tw)}let tS="${openmrsSpaBase}/login",tj={redirectAuthFailure:{enabled:{_type:V.Boolean,_default:!0,_description:"Whether to redirect logged-out users to `redirectAuthFailure.url`"},url:{_type:V.String,_default:tS,_validators:[e9.isUrl],_description:"The url to which users will be redirected when they are logged out. If set to blank, the `location` header from the response will be used."},errors:{_type:V.Array,_default:[401],_elements:{_type:V.Number,_validators:[e9.inRange(100,600)]},_description:"The HTTP error codes for which users will be redirected"},resolvePromise:{_type:V.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:V.Boolean,_default:!0,_description:"Whether openmrsFetch should support redirects returned from the backend"}};function tk(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}let tN="/ws/rest/v1",tE="/ws/fhir2/R4",tC=`${tN}/session`;function tI(e){return e&&e.startsWith("http")?e:("/"!==e[0]&&(e="/"+e),window.openmrsBase+e)}function tA(e,t={}){if("string"!=typeof e)throw Error("The first argument to @openmrs/api's openmrsFetch function must be a url string");if("object"!=typeof t)throw Error("The second argument to @openmrs/api's openmrsFetch function must be a plain object.");if(!window.openmrsBase)throw Error("@openmrs/api is running in a browser that doesn't have window.openmrsBase, which is provided by openmrs-module-spa's HTML file.");let n=tI(e);t.headers||(t.headers={}),(0,W.A)(t.body)&&(t.body=JSON.stringify(t.body)),void 0===t.headers.Accept&&(t.headers.Accept="application/json"),null===t.headers.Accept&&delete t.headers.Accept;let o=!1;try{let e=new URL(n,window.location.href),t=new URL(tI(tN),window.location.href),r=e.pathname.replace(/\/{2,}/g,"/"),i=t.pathname.replace(/\/{2,}/g,"/");o=e.origin===t.origin&&(r===i||r.startsWith(`${i}/`))}catch{}if(o){let e=!1;for(let[n,o]of Object.entries(t.headers))"disable-www-authenticate"===n.toLowerCase()&&(void 0===o?delete t.headers[n]:e=!0);e||(t.headers["Disable-WWW-Authenticate"]="true")}if(e.startsWith(tE)){let e=new URL(n,window.location.toString());e.searchParams.has("_summary")||(e.searchParams.set("_summary","data"),n=e.toString())}let r=Error();return window.fetch(n,t).then(async e=>{let{redirectAuthFailure:o,followRedirects:i}=await eM("@openmrs/esm-api");if(e.ok){let t=e.headers.get("location");return(i&&t&&(n===tI(tC)||204===e.status)&&th({to:t}),204===e.status)?(e.data=null,e):e.clone().text().then(t=>{try{t&&(e.data=JSON.parse(t))}catch(e){}return e})}return(n===tI(tC)&&403===e.status||o.enabled&&o.errors.includes(e.status))&&(tx(),th({to:o.url||e.headers.get("location")||tS}),!0!==t.rejectAuthFailure)?o.resolvePromise?Promise.resolve():new Promise(()=>{}):e.clone().text().then(t=>{let o=t;try{o=JSON.parse(t)}catch(e){}throw new tP(n,e,o,r)},()=>{throw new tP(n,e,null,r)})})}class tP extends Error{constructor(e,t,n,o){super(),tk(this,"response",void 0),tk(this,"responseBody",void 0),this.message=`Server responded with ${t.status} (${t.statusText}) for url ${e}. Check err.responseBody or network tab in dev tools for more info`,o.message=this.message,this.responseBody=n,this.response=t,this.stack=`Stacktrace for outgoing request:
|
|
13
|
+
${o.stack}
|
|
14
|
+
Stacktrace for incoming response:
|
|
15
|
+
${this.stack}`}}let tO=R("session",{loaded:!1,session:null}),tR=0,t$=null;function tT(){return t$||(tO.getState().loaded&&tR>=Date.now()-6e4?null:tW())}function tM(e){let t=e?.includeAuthStatus??!0,n=e=>t?e:e.user,o=tT();return o?new Promise(e=>{let t=()=>{let t=tO.getState();t.loaded&&(r(),e(n(t.session)))},r=tO.subscribe(t);o.then(t,t)}):Promise.resolve(n(tO.getState().session))}function tL(){return tT(),tO}function tD(e){let t=e.locale??e.user?.userProperties?.defaultLocale;t&&t.includes("_")&&(t=t.replaceAll("_","-")),function(e){if(void 0===e||"string"!=typeof e)return!1;try{new Intl.Locale(e)}catch(e){return!1}return!0}(t)&&t!==document.documentElement.getAttribute("lang")&&document.documentElement.setAttribute("lang",t)}function tW(e,t){tR=Date.now(),r??(r=tR);let n={};e&&t&&(n.Authorization=`Basic ${window.btoa(`${e}:${t}`)}`);let o=tK(tA(tC,{headers:n,rejectAuthFailure:!0})),i=()=>{t$===o&&(t$=null)};return o.then(i,i),t$=o,o}function tB(){tO.setState({loaded:!0,session:{authenticated:!1,sessionId:""}},!0)}function tU(e,t){var n,o;if(void 0===t)return!e;if(!e)return!0;return n=e,o=t,("string"==typeof n?!(0,D.A)(o.privileges.find(e=>n===e.display)):Array.isArray(n)?n.every(e=>!(0,D.A)(o.privileges.find(t=>e===t.display))):((0,D.A)(n)||console.error(`Could not understand privileges "${n}"`),!0))||!(0,D.A)(t.roles.find(e=>"System Developer"===e.display))}function tF(){let e,t;return new Promise(n=>{let o=o=>{o.loaded&&o.session.user&&(e=o.session.user,n(o.session.user),t&&t())};o(tO.getState()),e||(t=tO.subscribe(o))})}async function tH(){return(await tM()).sessionLocation}async function tV(e,t){return tK(tA(tC,{method:"POST",body:{sessionLocation:e},headers:{"Content-Type":"application/json"},rejectAuthFailure:!0,signal:t?.signal}))}async function tG(e,t){return await tA(tC,{method:"POST",body:{locale:e},headers:{"Content-Type":"application/json"},signal:t?.signal}),tW()}async function tz(e,t,n){return n||(n=new AbortController),await tA(`${tN}/user/${e}`,{method:"POST",body:{userProperties:t},headers:{"Content-Type":"application/json"},signal:n.signal}),tW()}async function tq(e,t=!1){let n=await tA(t?`${tC}?rememberMe=true`:tC,{headers:{"X-Totp-Code":e}});return n.data?.authenticated?(await tW()).session:n.data}async function tJ(){try{await tA(tC,{method:"DELETE",rejectAuthFailure:!0})}catch(e){if(!tX(e))throw e}tB(),await tW().catch(()=>{})}function tK(e){return new Promise((t,n)=>{e.then(e=>{if("object"==typeof e?.data){let n={loaded:!0,session:e.data};tO.setState(n,!0),t(n)}else!function(e){if(!e?.redirected||!e.url)return!1;try{return new URL(e.url,window.location.href).pathname.replace(/\/+$/,"").endsWith("/initialsetup")}catch{return!1}}(e)?n(tY(Error("The session endpoint did not respond with a session"))):n(tY(Error("The server is still starting up"),!0))}).catch(e=>{var o,i;if(tX(e)){"object"==typeof(o=e.responseBody)&&null!==o&&!1===o.authenticated?tO.setState({loaded:!0,session:e.responseBody},!0):tB(),t(tO.getState());return}(i=e)instanceof tP&&502===i.response.status&&!tO.getState().loaded&&void 0!==r&&Date.now()-r<18e4?n(tY(e,!0)):(v(`Failed to fetch new session information: ${e}`),n(tY(e)))})})}function tX(e){return e instanceof tP&&(401===e.response.status||403===e.response.status)}function tY(e,t=!1){return tO.getState().loaded||tO.setState({loaded:!1,session:null,error:e instanceof Error?e:Error(String(e)),initializing:t},!0),tO.getState()}function tZ(){return"development"===window.spaEnv||"true"===localStorage.getItem("openmrs:devtools")}tO.subscribe(e=>{e.loaded&&e.session&&tD(e.session)});let tQ={"webservices.rest":"2.24.0",fhir2:"1.0.0-SNAPSHOT"};function t0(){eI("@openmrs/esm-api",tj),tW()}let t1="import-map-override:",t2="import-map-overrides-disabled",t5="import-map-overrides:change",t6=!1,t3=null,t8=null;async function t4(){return t8??(t8=t7().then(({map:e,complete:t})=>(t||(t8=null),e))),t8}async function t7(){let e=document.querySelectorAll('script[type="systemjs-importmap"]'),t=[],n=!0;for(let o=0;o<e.length;o++){let r=e[o];try{if(r.src){let e=await fetch(r.src);if(!e.ok)throw Error(`Request for ${r.src} returned ${e.status} ${e.statusText}`);t.push(await e.json())}else r.textContent&&t.push(JSON.parse(r.textContent))}catch(e){n=!1,console.warn(`[import-maps] Failed to parse import map from script tag at index ${o}`,e)}}return{map:t9(t),complete:n}}function t9(e){let t={imports:{}};for(let n of e)n?.imports&&Object.assign(t.imports,n.imports);return t}function ne(){let e={};try{let t=ni();for(let n=0;n<localStorage.length;n++){let o=localStorage.key(n);if(o?.startsWith(t1)){let n=o.slice(t1.length);if(!t.includes(n)){let t=localStorage.getItem(o);t&&(e[n]=t)}}}}catch(e){console.warn("[import-maps] Failed to read import-map overrides from localStorage",e)}return{imports:e}}async function nt(){let e=await t4();return t6?t9([e,t3??ne()]):e}async function nn(){return t4()}async function no(){return t6?t9([await t4(),ne()]):t4()}function nr(e){if(!t6)return{imports:{}};if(e){let e={};for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n?.startsWith(t1)){let t=localStorage.getItem(n);t&&(e[n.slice(t1.length)]=t)}}return{imports:e}}return ne()}function ni(){if(!t6)return[];try{let e=localStorage.getItem(t2);if(e){let t=JSON.parse(e);if(Array.isArray(t))return t}}catch{}return[]}function na(e){return!!t6&&ni().includes(e)}function ns(e,t){if(!t6)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.setItem(t1+e,t),window.dispatchEvent(new CustomEvent(t5))}catch(e){console.warn("[import-maps] Failed to write import-map override to localStorage",e)}}function nl(e){if(!t6)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{localStorage.removeItem(t1+e);let t=ni().filter(t=>t!==e);t.length>0?localStorage.setItem(t2,JSON.stringify(t)):localStorage.removeItem(t2),window.dispatchEvent(new CustomEvent(t5))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}function nc(){if(!t6)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n?.startsWith(t1)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e)),localStorage.removeItem(t2),window.dispatchEvent(new CustomEvent(t5))}catch(e){console.warn("[import-maps] Failed to clear import-map overrides from localStorage",e)}}function nu(e){if(!t6)return void console.warn("[Security] Import map overrides are disabled in production mode.");try{let t=ni().filter(t=>t!==e);t.length>0?localStorage.setItem(t2,JSON.stringify(t)):localStorage.removeItem(t2),window.dispatchEvent(new CustomEvent(t5))}catch(e){console.warn("[import-maps] Failed to update import-map overrides in localStorage",e)}}let nd=!1;function nm(){!nd&&(nd=!0,(t6="development"===window.spaEnv)&&(t3=ne()))}function nf(e){return e.replace(/[\/\-@]/g,"_")}async function np(e,t="./start",o){var r;let i,a=!o?.maxLoadingTime||o.maxLoadingTime<=0?6e5:o.maxLoadingTime;await Promise.race([ng(e,o?.importMap),new Promise((t,n)=>{i=setTimeout(()=>{var t;n(Error(`Could not resolve requested script, ${e}, within ${(t=a)<1e3?`${t} milliseconds`:t<6e4?`${Math.floor(t/1e3)} seconds`:t<36e5?`${Math.floor(t/6e4)} minutes`:t<864e5?`${Math.floor(t/36e5)} hours`:`${Math.floor(t/864e5)} days`}.`))},a)})]),i&&clearTimeout(i);let s=nf(e),l=window[s];if(!("object"==typeof(r=l)&&null!==r&&"init"in r&&"function"==typeof r.init&&"get"in r&&"function"==typeof r.get)){let e=`The global variable ${s} does not refer to a federated module`;throw console.error(e),Error(e)}l.init(n.S.default);let c=(await l.get(t))();if("object"!=typeof c||null===c){let t=`Container for ${e} did not return an ESM module as expected`;throw console.error(t),Error(t)}return c}async function ng(e,t){if("string"!=typeof e||0===e.trim().length){let e="Attempted to call importDynamic() without supplying a package to load";throw console.error(e),Error(e)}let n=nf(e);if(!window[n]){let n=t??await nh();if(!n.imports.hasOwnProperty(e)){let t=`Could not find the package ${e} defined in the current importmap`;throw console.error(t),Error(t)}let o=n.imports[e];o.startsWith("./")&&(o=window.spaBase+o.substring(1));let r=e in nr().imports;try{return await function(e){var t;let n=(t=window)[nw]??(t[nw]=new Map),o=n.get(e);if(o)return o;if(document.head.querySelector(`script[src="${e}"]`))return console.warn(`Script at ${e} already loaded. Not loading it again.`),Promise.resolve();let r=document.createElement("script");r.src=e,r.type="text/javascript",r.async=!0;let i=new Promise((t,o)=>{let i=setTimeout(()=>{console.error(`The script at ${e} did not load within 5 seconds. This may indicate an issue with the imports in the script's entry-point file or with the script's bundler configuration.`)},5e3);function a(){clearTimeout(i),r.removeEventListener("load",s),r.removeEventListener("error",l)}function s(){a(),t()}function l(t){a(),n.delete(e),r.remove();let i=`Failed to load script from ${e}`;console.error(i,t),o(t.message??i)}r.addEventListener("load",s),r.addEventListener("error",l),document.head.appendChild(r)});return n.set(e,i),i}(o)}catch(e){return r&&f({kind:"error",title:tf("scriptLoadingFailed","Error: Script failed to load"),description:tf("scriptLoadingError","Failed to load overridden script from {{- url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",{url:o}),actionButtonLabel:tf("resetOverrides","Reset overrides"),onActionButtonClick(){nc(),window.location.reload()}}),Promise.reject(e)}}return Promise.resolve()}async function nh(){return nt()}let nw=Symbol.for("__openmrs_script_loading");function n_(e){return!!e&&"object"==typeof e&&!(Object.hasOwn(e,"pages")&&(!e.pages||!Array.isArray(e.pages))||Object.hasOwn(e,"extensions")&&(!e.extensions||!Array.isArray(e.extensions))||Object.hasOwn(e,"modals")&&(!e.modals||!Array.isArray(e.modals))||Object.hasOwn(e,"workspaces2")&&(!e.workspaces2||!Array.isArray(e.workspaces2))||Object.hasOwn(e,"workspaceWindows2")&&(!e.workspaceWindows2||!Array.isArray(e.workspaceWindows2))||Object.hasOwn(e,"workspaceGroups2")&&(!e.workspaceGroups2||!Array.isArray(e.workspaceGroups2)))}function nv(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&&n_(t))}let ny="openmrs-routes:",nb="openmrs-routes:change",nx=!1,nS=null,nj=null;async function nk(){return nj??(nj=nN().then(({map:e,complete:t})=>(t||(nj=null),e))),nj}async function nN(){let e=document.querySelectorAll("script[type='openmrs-routes']"),t=[],n=!0;for(let o=0;o<e.length;o++){let r=e[o];try{let e;if(r.src){let t=await fetch(r.src);if(!t.ok)throw Error(`Request for ${r.src} returned ${t.status} ${t.statusText}`);e=await t.json()}else r.textContent&&(e=JSON.parse(r.textContent));e&&nv(e)&&t.push(e)}catch(e){n=!1,console.warn(`[route-maps] Failed to parse routes from script tag at index ${o}`,e)}}return{map:nE(t),complete:n}}function nE(e){let t={routes:{}};for(let n of e)n&&"object"==typeof n&&!Array.isArray(n)&&(Object.assign(t.routes,n.routes),void 0===t.version&&void 0!==n.version&&(t.version=n.version));return t}async function nC(){let e={version:void 0,routes:{}};try{let t=[];for(let e=0;e<localStorage.length;e++){let n=localStorage.key(e);if(n?.startsWith(ny)){let e=localStorage.getItem(n);e&&t.push({moduleName:n.slice(ny.length),raw:e})}}for(let n of(await Promise.allSettled(t.map(async({moduleName:e,raw:t})=>{let n=JSON.parse(t);if(n_(n))return{moduleName:e,routes:n};if("string"==typeof n&&n.startsWith("http")){let t=await fetch(n),o=await t.json();if(n_(o))return{moduleName:e,routes:o};throw Error(`${n} did not resolve to a valid OpenmrsAppRoutes object`)}throw Error(`Override for ${e} is neither a valid routes object nor a URL`)}))))"fulfilled"===n.status?e.routes[n.value.moduleName]=n.value.routes:console.warn("[route-maps] Failed to load route override",n.reason)}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}async function nI(){let e=await nk();return nx?nE([e,nS??await nC()]):e}async function nA(){return nk()}async function nP(){return nx?nE([await nk(),await nC()]):nk()}function nO(){if(!nx)return{};let e={};try{for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);if(n?.startsWith(ny)){let t=localStorage.getItem(n);t&&(e[n.slice(ny.length)]=t)}}}catch(e){console.warn("[route-maps] Failed to read route overrides from localStorage",e)}return e}function nR(e,t){if(!nx)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{if("string"==typeof t)if(t.startsWith("http"))localStorage.setItem(ny+e,JSON.stringify(t));else{let n=JSON.parse(t);if(!n_(n))return void console.error(`The supplied routes for ${e} is not a valid OpenmrsAppRoutes object`,t);localStorage.setItem(ny+e,JSON.stringify(n))}else if(t instanceof URL)localStorage.setItem(ny+e,JSON.stringify(t.toString()));else{if(!n_(t))return void console.error(`Override for ${e} is not in a valid format. Expected either a Javascript Object, a JSON string of a Javascript object, or a URL`,t);localStorage.setItem(ny+e,JSON.stringify(t))}window.dispatchEvent(new CustomEvent(nb))}catch(e){console.warn("[route-maps] Failed to write route override to localStorage",e)}}function n$(e){if(!nx)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{localStorage.removeItem(ny+e),window.dispatchEvent(new CustomEvent(nb))}catch(e){console.warn("[route-maps] Failed to remove route override from localStorage",e)}}function nT(){if(!nx)return void console.warn("[Security] Route overrides are disabled outside development mode.");try{let e=[];for(let t=0;t<localStorage.length;t++){let n=localStorage.key(t);n?.startsWith(ny)&&e.push(n)}e.forEach(e=>localStorage.removeItem(e)),window.dispatchEvent(new CustomEvent(nb))}catch(e){console.warn("[route-maps] Failed to clear route overrides from localStorage",e)}}let nM=null;function nL(){return nM||(nM=(nx="development"===window.spaEnv)?nC().then(e=>{nS=e}):Promise.resolve())}let nD=`${tN}/attachment`;function nW(e,t){return tA(`${nD}/${e}`,{signal:t.signal})}function nB(e,t,n,o){return tA(nU(e,t,o),{signal:n.signal})}function nU(e,t,n){return n?`${nD}?patient=${e}&encounter=${n}`:`${nD}?patient=${e}&includeEncounterless=${t}`}async function nF(e,t,n){let o=new FormData;return o.append("fileCaption",t.fileDescription),o.append("patient",e),n&&o.append("encounter",n),t.file?o.append("file",t.file,t.fileName):(o.append("file",new File([""],t.fileName),t.fileName),o.append("base64Content",t.base64Content)),tA(`${nD}`,{method:"POST",body:o})}function nH(e,t){return tA(`${nD}/${e}`,{method:"DELETE",signal:t.signal})}async function nV(e,t){return e?(await tA(`${tE}/Patient/${e}`,t)).data:null}function nG(e,t){let n=new CustomEvent(`openmrs:${e}`,{detail:t??void 0,cancelable:!0,bubbles:!0});return window.dispatchEvent(n)}function nz(e,t){let n=e=>{t("detail"in e&&null!==e.detail?e.detail:void 0)};return window.addEventListener(`openmrs:${e}`,n),()=>{window.removeEventListener(`openmrs:${e}`,n)}}function nq(e){return{uuid:e.uuid,display:e.display}}function nJ(e=null,t=null){let n=new URLSearchParams;e&&n.set("tag",e),t&&n.set("q",t);let o=n.toString();return tA(`${tN}/location${o?"?"+o:""}`).then(e=>e.data.results.map(nq))}function nK(e){return{uuid:e.uuid,display:e.display,name:e.name}}let nX=`${tN}/visittype`;function nY(e=nX){return tA(e).then(e=>e.data.results.map(nK))}var nZ=((j={}).NEWVISIT="startVisit",j.EDITVISIT="editVisit",j.LOADING="loadingVisit",j),nQ=((k={}).NOTSTARTED="notStarted",k.ONGOING="ongoing",k);let n0="custom:(uuid,display,voided,indication,startDatetime,stopDatetime,encounters:(uuid,display,encounterDatetime,form:(uuid,name),location:ref,encounterType:ref,encounterProviders:(uuid,display,provider:(uuid,display))),patient:(uuid,display),visitType:(uuid,name,display),attributes:(uuid,display,attributeType:(name,datatypeClassname,uuid),value),location:(uuid,name,display))",n1=function(){try{return JSON.parse(sessionStorage.getItem("openmrs:visitStoreState")||"null")}catch(e){return null}}()||{patientUuid:null,manuallySetVisitUuid:null};function n2(){return T("visit",n1)}function n5(e,t){n2().setState({patientUuid:e,manuallySetVisitUuid:t})}function n6(e,t){return tA(`${tN}/visit`,{signal:t.signal,method:"POST",headers:{"Content-type":"application/json"},body:e})}function n3(e,t,n){return tA(`${tN}/visit/${e}`,{signal:n.signal,method:"POST",headers:{"Content-type":"application/json"},body:t})}function n8(e,t,n){return tA(`${tN}/visit?patient=${e}&v=${n??n0}`,{signal:t.signal,method:"GET",headers:{"Content-type":"application/json"}})}n2().subscribe(e=>{var t;t=e,sessionStorage.setItem("openmrs:visitStoreState",JSON.stringify(t))});var n4=n(9225),n7=n(6881),n9=n(6828),oe=n(1956),ot=n(3635),on=n(7839),oo=n(2298);let or={Array,Boolean,Symbol,Infinity,NaN,Math,Number,BigInt,String,RegExp,JSON,isFinite,isNaN,parseFloat,parseInt,decodeURI,encodeURI,encodeURIComponent,Object:{__proto__:void 0,assign:Object.assign.bind(null),fromEntries:Object.fromEntries.bind(null),hasOwn:Object.hasOwn.bind(null),keys:Object.keys.bind(null),is:Object.is.bind(null),values:Object.values.bind(null)}},oi={...or,Promise};function oa(e,t={}){return om(e,t,og)}async function os(e,t={}){return of(e,t,og)}function ol(e,t={}){return om(e,t,oh)}function oc(e,t={}){return of(e,t,oh)}function ou(e,t={}){return om(e,t,ow)}function od(e,t={}){return of(e,t,ow)}function om(e,t={},n){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let o=ox(t,or),r=o_("string"==typeof e?(0,n4.A)(e):e,o);if(n(r))return r;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}}async function of(e,t={},n){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))return Promise.reject(`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`);if("string"==typeof e&&0===e.trim().length)throw{type:"Empty expression",message:"Expression cannot be an empty string"};null==t&&(t={});let o=ox(t,oi);return Promise.resolve(o_("string"==typeof e?(0,n4.A)(e):e,o)).then(t=>{if(n(t))return t;throw{type:"Invalid result",message:"string"==typeof e?`The expression ${e} did not produce a valid result`:"The expression did not produce a valid result"}})}function op(e){return(0,n4.A)(e)}function og(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||null==e||e instanceof Date}function oh(e){return"boolean"==typeof e}function ow(e){return"number"==typeof e}function o_(e,t){switch(e.type){case"UnaryExpression":var n,o,r,i,a,s,l,c,u,d,m,f,p,g=e,h=t;let w=o_(g.argument,h);switch(g.operator){case"+":return+w;case"-":return-w;case"~":return~w;case"!":return!w;default:throw`Expression evaluator does not support operator '${g.operator}''`}case"BinaryExpression":var _=e,v=t;switch(_.operator){case"&&":return o_(_.left,v)&&o_(_.right,v);case"||":return o_(_.left,v)||o_(_.right,v);case"??":return o_(_.left,v)??o_(_.right,v)}let y=o_(_.left,v),b=o_(_.right,v);switch(_.operator){case"+":return y+b;case"-":return y-b;case"*":return y*b;case"/":return y/b;case"%":return y%b;case"**":return y**b;case"==":return y==b;case"===":return y===b;case"!=":return y!=b;case"!==":return y!==b;case">":return y>b;case">=":return y>=b;case"<":return y<b;case"<=":return y<=b;case"in":return y in b;default:throw`Expression evaluator does not support operator '${_.operator}' operator`}case"ConditionalExpression":return n=e,o=t,o_(n.test,o)?o_(n.consequent,o):o_(n.alternate,o);case"CallExpression":return ok(oy(e,t));case"ArrowFunctionExpression":let x;return r=e,i=t,x=r.params?.map(e=>{if("Identifier"===e.type)return e.name;throw`Cannot handle parameter of type ${e.type}`})??[],(function(...e){if(e.length<x.length)throw`Required argument(s) ${x.slice(e.length,-1).join(", ")} were not provided`;let t=Object.fromEntries(x.reduce((t,n,o)=>{let r=e[o];return function e(t){if("string"==typeof t||"number"==typeof t||"boolean"==typeof t||"function"==typeof t||null===t||t instanceof RegExp)return!0;if("object"==typeof t){for(let n of Object.keys(t))if(!e(t[n]))return!1;return!0}if(Array.isArray(t)){for(let n of t)if(!e(n))break}return!1}(r)&&t.push([n,r]),t},[]));return o_(r.body,i.addVariables(t))}).bind(null);case"MemberExpression":return ok(ob(e,t));case"ArrayExpression":return a=e,s=t,a.elements?.map(oN(s));case"SequenceExpression":let S;return l=e,c=t,(S=l.expressions.map(oN(c)))[S.length-1];case"NewExpression":var j=e,k=t;if(j.callee&&"Identifier"===j.callee.type){let e=j.arguments?.map(oN(k));switch(j.callee.name){case"Date":return new Date(...e);case"RegExp":return new RegExp(...e);default:throw`Cannot instantiate object of type ${j.callee.name}`}}if(j.callee)throw"new must be called with either Date or RegExp";throw'Could not handle "new" without a specified class';case"Literal":return e.value;case"Identifier":return u=e,d=t,(oE(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,E;return m=e,f=t,N=m.expressions?.map(oN(f))??[],(E=m.quasis?.map(oN(f))??[]).filter(e=>!e.tail).map(e=>e.value).join("")+N.join("")+E.filter(e=>e.tail).map(e=>e.value).join("");case"TemplateElement":return{value:(p=e).cooked,tail:p.tail};default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function ov(e,t){switch(e.type){case"Literal":return e.value;case"Identifier":return e.name;case"MemberExpression":return ov(e.property,t);default:throw`VisitExpressionName does not support expression of type '${e.type}'`}}function oy(e,t){let n=oj(e.callee,t);if(n===oS||e.optional&&null==n)return oS;let o=e.arguments?.map(oN(t));if(n){if("function"!=typeof n)throw`${oA(e.callee)} is not a function`}else throw`No function named ${oA(e.callee)} is defined in this context`;return n(...o)}function ob(e,t){let n=oj(e.object,t);if(n===oS||e.optional&&null==n)return oS;if(null===n)throw TypeError(`TypeError: cannot read properties of null (reading '${oI(e.property,t)}')`);if(void 0===n)switch(e.object.type){case"Identifier":{let n=ov(e.object,t);throw ReferenceError(`ReferenceError: ${n} is not defined`)}case"MemberExpression":throw TypeError(`TypeError: cannot read properties of undefined (reading '${oI(e.property,t)}')`);default:throw`VisitMemberExpression does not support operator '${e.object.type}' type`}if("object"!=typeof n&&"function"!=typeof n&&"string"!=typeof n&&"number"!=typeof n)throw`VisitMemberExpression does not support member access on type ${typeof n}`;let o=e.computed?function(e){if(void 0===e)throw{type:"Illegal property access",message:"No property was supplied to the property access"};if("string"!=typeof e&&"number"!=typeof e)throw{type:"Illegal property access",message:`Cannot use a value of type ${null===e?"null":typeof e} as a property name`};return e}(o_(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);oE(o),function(e,t){if(oC.has(String(t)))return;let n=Object(e);for(;null!==n;){if(Object.hasOwn(n,t)){if(n===Object.prototype||n===Function.prototype)throw{type:"Illegal property access",message:`Cannot access the ${t} property of objects`};return}n=Object.getPrototypeOf(n)}}(n,o);let r=n[o];return"function"==typeof r?r.bind(n):r}function ox(e,t){let n={variables:{...e},globals:{...t},addVariables(e){return this.variables={...this.variables,...e},this}};return n.addVariables.bind(n),n}n4.A.plugins.register(n7.A),n4.A.plugins.register(n9.A),n4.A.plugins.register(oe.A),n4.A.plugins.register(ot.A),n4.A.plugins.register(on.A),n4.A.plugins.register(oo.A),n4.A.addBinaryOp("in",7),n4.A.addBinaryOp("??",1);let oS=Symbol("optional chain short-circuited");function oj(e,t){switch(e.type){case"MemberExpression":return ob(e,t);case"CallExpression":return oy(e,t);default:return o_(e,t)}}function ok(e){return e===oS?void 0:e}function oN(e){return function(t){return null===t?null:o_(t,e)}}function oE(e){if("__proto__"===e||"prototype"===e||"constructor"===e)throw{type:"Illegal property access",message:`Cannot access the ${e} property of objects`}}let oC=new Set(["toString","valueOf","hasOwnProperty"]);function oI(e,t){try{return ov(e,t)}catch{return"<computed>"}}function oA(e){return e?"MemberExpression"===e.type?e.property?.name:e.name:null}function oP(e){if("string"!=typeof e&&("object"!=typeof e||!e||!("type"in e)))throw`Unknown expression type ${e}. Expressions must either be a string or pre-compiled string.`;let t={globals:{...oi},isLocalExpression:!1,variables:new Set};return oO("string"==typeof e?(0,n4.A)(e):e,t),[...t.variables]}function oO(e,t){switch(e.type){case"UnaryExpression":return o=e,r=t,oO(o.argument,r);case"BinaryExpression":return i=e,a=t,[oO(i.left,a),oO(i.right,a)].filter(Boolean);case"ConditionalExpression":return s=e,l=t,[oO(s.consequent,l),oO(s.test,l),oO(s.alternate,l)].filter(Boolean);case"CallExpression":let n;return c=e,u=t,n=oO(c.callee,u),c.arguments?.map(oR(u)),n;case"ArrowFunctionExpression":var o,r,i,a,s,l,c,u,d,m,f,p,g,h,w,_,v=e,y=t;let b={...y};b.isLocalExpression=!0;let x=v.params?.map(oR(b))??[],S=oO(v.body,b)??[];if(S&&Array.isArray(S))for(let e of S)x.includes(e)||y.variables.add(e);return;case"MemberExpression":var j=e,k=t;if(oO(j.object,k),j.computed)return void oO(j.property,k);let N={...k};N.isLocalExpression=!0,oO(j.property,N);return;case"ArrayExpression":return d=e,m=t,void d.elements?.map(oR(m));case"SequenceExpression":return f=e,p=t,void f.expressions?.map(oR(p));case"NewExpression":return g=e,h=t,void g.arguments?.map(oR(h));case"Literal":case"TemplateElement":return;case"Identifier":var E=e,C=t;if(!(E.name in C.globals))if(C.isLocalExpression)return E.name;else C.variables.add(E.name);return;case"TemplateLiteral":return w=e,_=t,void(w.expressions?.map(oR(_)),w.quasis?.map(oR(_)));default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function oR(e){return function(t){return null===t?null:oO(t,e)}}let o$=T("feature-flags",{flags:function(){let e={};for(let t of Object.keys(localStorage))if(t.startsWith("openmrs:feature-flag:")){let n=t.replace("openmrs:feature-flag:",""),o=JSON.parse(localStorage.getItem(`openmrs:feature-flag-meta:${n}`)||"{}");e[n]={enabled:"true"===localStorage.getItem(t),...o}}return e}()});function oT(e,t,n){o$.setState(o=>({flags:{...o.flags,[e]:{enabled:o.flags[e]?.enabled??!1,label:t,description:n}}}))}function oM(){let e=o$.getState().flags;Object.keys(localStorage).filter(e=>e.startsWith("openmrs:feature-flag:")).forEach(t=>{let n=t.replace("openmrs:feature-flag:","");e[n]||(localStorage.removeItem(t),localStorage.removeItem(`openmrs:feature-flag-meta:${n}`))})}function oL(e){return o$.getState().flags[e].enabled}function oD(e,t){o$.subscribe(n=>{t(n.flags[e].enabled)})}function oW(e,t){o$.setState(n=>({flags:{...n.flags,[e]:{...n.flags[e],enabled:t}}}))}o$.subscribe(e=>{for(let[t,n]of Object.entries(e.flags))localStorage.setItem(`openmrs:feature-flag:${t}`,n.enabled.toString()),localStorage.setItem(`openmrs:feature-flag-meta:${t}`,JSON.stringify({label:n.label,description:n.description}))});var oB=n(1216);let oU=R("extensionsInternal",{slots:{},extensions:{}}),oF=R("extensionRenderings",{renderings:new Map}),oH=()=>T("extensionsInternal",{slots:{},extensions:{}}),oV=()=>T("extensionRenderings",{renderings:new Map});function oG(e){let t=oU.getState(),n=e(t);n!==t&&oU.setState(n)}let oz=null,oq=null;function oJ(){let e=oF.getState();return oz&&e===oq||(oz=new Map(e.renderings),oq=e,function(e){for(let t of(o6.clear(),e.values()))o8(t,1);o3=!0}(oz)),oz}function oK(e){oq={renderings:e},oF.setState(oq,!0)}function oX(e){let t=oJ();t.has(e.renderingId)||(t.set(e.renderingId,e),o8(e,1),oK(t))}function oY(e){let t=oJ(),n=t.get(e);n&&(t.delete(e),o8(n,-1),oK(t))}let oZ=()=>T("extensions",{slots:{}}),oQ=0,o0=new Set;function o1(e){oQ++;try{return e()}finally{if(0==--oQ&&o0.size>0){let e=Array.from(o0);for(let t of(o0.clear(),e))o2(t)}}}function o2(e){try{e()}catch(t){console.error(`The extension system's '${e.name}' recomputation failed`,t)}}function o5(e){oQ>0?o0.add(e):o2(e)}let o6=new Map,o3=!1;function o8(e,t){let n=JSON.stringify([e.slotName,e.extensionId,e.slotModuleName,e.extensionModuleName]),o=o6.get(n);if(!o){if(t<0)return;o6.set(n,{count:1,record:{slotModuleName:e.slotModuleName,extensionModuleName:e.extensionModuleName,slotName:e.slotName,extensionId:e.extensionId}}),o3=!0;return}o.count+=t,o.count<1&&(o6.delete(n),o3=!0)}function o4(){var e,t;if(oJ(),!o3)return;o3=!1;let n=Array.from(o6.values(),({record:e})=>e);n.sort(o7),e=ee.getState().mountedExtensions,t=n,e.length===t.length&&e.every((e,n)=>0===o7(e,t[n]))||ee.setState({mountedExtensions:n})}function o7(e,t){return o9(e.slotName,t.slotName)||o9(e.extensionId,t.extensionId)||o9(e.slotModuleName,t.slotModuleName)||o9(e.extensionModuleName,t.extensionModuleName)}function o9(e,t){return e===t?0:e<t?-1:1}o4(),oF.subscribe(()=>o5(o4));let re=oH(),rt=oZ(),rn=en(),ro=ei(),rr=new Set,ri=!1;function ra(e){if(null===e)rr=null;else if(null!==rr)for(let t of e)rr.add(t);o5(rs)}function rs(){if(!ri){ri=!0;try{for(let e=1;;e++){let t=rr;if(null!==t&&0===t.size)return;rr=new Set;try{!function(e,t,n,o,r,i=null){let a=rt.getState().slots,s={},l=!1,c=Object.entries(o.flags).filter(([,{enabled:e}])=>e).map(([e])=>e);for(let[o,u]of Object.entries(e.slots)){let d=a[o];if(d&&i&&!i.has(o)){s[o]=d;continue}let{config:m}=er(t,u.name),f=function(e,t,n,o,r,i){let a=function(e,t){let n=e.add||[],o=e.remove||[],r=e.order||[],{extensions:i}=re.getState(),a=new Set(o),s=[...t,...n].filter(e=>!a.has(e)),l=rw(r),c=rw(t),u=new Map(s.map(e=>[e,function(e,t,n,o){let r=t.get(e);if(void 0!==r)return r;{if(void 0!==n)return 1e3+n;let t=o.get(e);return void 0!==t?2e3+t:3e3}}(e,l,i[ru(e)]?.order,c)]));return s.sort((e,t)=>u.get(e)-u.get(t))}(n,t.slots[e].attachedIds),s=[];for(let l of a){let{config:a}=es(o,e,l),c=el(n,e,l),u=c?(0,oB.A)({},a,c):a,d=ru(l),m=t.extensions[d];if(m){let e=u?.["Display conditions"]?.privileges??m.privileges??[];if(e&&("string"==typeof e||Array.isArray(e)&&e.length>0)&&(!i?.user||!tU(e,i.user))||m.featureFlag&&!r.includes(m.featureFlag))continue;s.push({id:l,name:d,moduleName:m.moduleName,config:u,featureFlag:m.featureFlag,meta:m.meta,displayConditionExpression:u?.["Display conditions"]?.expression||m.displayExpression})}}return s}(o,e,m,n,c,r.session);d&&d.moduleName===u.moduleName&&(0,U.A)(d.candidateExtensions,f)?s[o]=d:(s[o]={moduleName:u.moduleName,candidateExtensions:f},l=!0)}(l||Object.keys(a).length!==Object.keys(s).length)&&rt.setState({slots:s})}(re.getState(),rn.getState(),ro.getState(),o$.getState(),tO.getState(),t)}catch(e){throw rr=null===t||null===rr?null:new Set([...t,...rr]),e}if(e>=20)return void console.error("The extension system stopped recomputing after 20 passes because something keeps invalidating slots in response to the extension store being written. Some slots are left stale until the next write.")}}finally{ri=!1}}}function rl(e,t){let n=new Set;for(let o of Object.keys(e))e[o]!==t[o]&&n.add(o);for(let o of Object.keys(t))o in e||n.add(o);return n}function rc(e,t){return{moduleName:t,name:e,attachedIds:[]}}function ru(e){let[t]=e.split("#");return t}function rd(e,t){let n=ru(t);return e.extensions[n]}function rm(e){return rd(re.getState(),e)}re.subscribe((e,t)=>{ra(e.extensions!==t.extensions?null:rl(e.slots,t.slots))}),rn.subscribe((e,t)=>{ra(rl(e.slots,t.slots))}),ro.subscribe((e,t)=>{ra(rl(e.configs,t.configs))}),o$.subscribe(()=>ra(null)),tO.subscribe(()=>ra(null)),ra(null);let rf=e=>oG(t=>({...t,extensions:{...t.extensions,[e.name]:{...e}}}));function rp(e,t){oG(n=>{let o=n.slots[e];return o?{...n,slots:{...n.slots,[e]:{...o,attachedIds:[...o.attachedIds,t]}}}:{...n,slots:{...n.slots,[e]:{...rc(e),attachedIds:[t]}}}})}function rg(e,t){oG(n=>{let o=n.slots[e];return o&&o.attachedIds.includes(t)?{...n,slots:{...n.slots,[e]:{...o,attachedIds:o.attachedIds.filter(e=>e!==t)}}}:n})}function rh(e){oG(t=>{let n=t.slots[e];return n?{...t,slots:{...t.slots,[e]:{...n,attachedIds:[]}}}:t})}function rw(e){let t=new Map;return e.forEach((e,n)=>{t.has(e)||t.set(e,n)}),t}function r_(e,t){return function(e,t,n=null,o){let r;return e.filter(e=>{let i=e.displayConditionExpression;if("string"!=typeof i||0===i.trim().length)return!0;r??(r=t&&"object"==typeof t?{session:n,...t}:{session:n});try{return!!ol(i,r)}catch(t){return console.error(`Error while evaluating expression '${i}' for ${e.id}`+(o?` in ${o}`:""),t),!1}})}(rv(e),t,tO.getState().session,e)}function rv(e){return rt.getState().slots[e]?.candidateExtensions??[]}let ry=(e,t)=>re.setState(n=>{let o=n.slots[t]?.moduleName;if(o&&o!=e)return console.warn(`An extension slot with the name '${t}' already exists. Refusing to register the same slot name twice (in "registerExtensionSlot"). The existing one is from module ${o}.`),n;if(o&&o==e)return n;if(n.slots[t])return{...n,slots:{...n.slots,[t]:{...n.slots[t],moduleName:e}}};let r=rc(t,e);return{...n,slots:{...n.slots,[t]:{...r}}}}),rb=()=>{rr=null,oG(()=>({slots:{},extensions:{}})),oV().setState({renderings:new Map}),rt.setState({slots:{}})},rx=R("left-nav",{slotName:null,basePath:window.spaBase,mode:"normal"});function rS({name:e,basePath:t,mode:n,componentContext:o,state:r}){rx.setState({slotName:e,basePath:t,mode:n??"normal",componentContext:o,state:r})}function rj(e){rx.getState().slotName===e&&rx.setState(rx.getInitialState(),!0)}let rk=R("modalRegistry",{modals:{}});function rN(e){rk.setState(t=>(t.modals[e.name]=e,t))}function rE(e){let t=rk.getState().modals[e];if(!t){let n=rm(e);n&&(t={name:e,load:n.load,moduleName:n.moduleName},console.warn(`Modal ${e} was registered as an extension. This is deprecated and will be removed in the future. Please register it in the "modals" section of routes.json instead of the "extensions" section.`),rN(t))}return t}let rC=R("workspace2",{registeredGroupsByName:{},registeredWindowsByName:{},registeredWorkspacesByName:{},openedGroup:null,openedWindows:[],workspaceTitleByWorkspaceName:{},isMostRecentlyOpenedWindowHidden:!1});function rI(e){let{registeredWorkspacesByName:t,registeredWindowsByName:n}=rC.getState(),o=t[e];if(o){let t=n[o.window];if(t)return t;throw Error(`No workspace window found with name: ${o.window} for workspace: ${e}`)}throw Error(`No workspace found with name: ${e}`)}function rA(e){let{registeredGroupsByName:t,registeredWindowsByName:n}=rC.getState(),o=n[e];if(o){let n=t[o.group];if(n)return n;throw Error(`No workspace group found with name: ${o.group} for window: ${e}`)}throw Error(`No workspace window found with name: ${e}`)}function rP(e){let{openedWindows:t}=rC.getState();return t.findIndex(t=>t.openedWorkspaces.find(t=>t.workspaceName===e))}function rO(e,t){if(0==t.length)return;let{registeredGroupsByName:n}=rC.getState(),o={...n};for(let n of t){if(o[n.name])throw Error(`Cannot register workspace group ${n.name} more than once`);o[n.name]={...n,moduleName:e}}rC.setState({registeredGroupsByName:o})}function rR(e,t){if(0==t.length)return;let{registeredWindowsByName:n}=rC.getState(),o={...n};for(let n of t){if(o[n.name])throw Error(`Cannot register workspace window ${n.name} more than once`);let t={...n,moduleName:e};o[n.name]=t}rC.setState({registeredWindowsByName:o})}function r$(e,t){if(0==t.length)return;let{registeredWorkspacesByName:n}=rC.getState(),o={...n};for(let n of t){if(o[n.name])throw Error(`Cannot register workspace ${n.name} more than once`);let t={...n,moduleName:e};o[n.name]=t}rC.setState({registeredWorkspacesByName:o})}let rT=0,rM=null,rL={bootstrap:15e3,mount:15e3,unmount:15e3};function rD(e,t){if(e.timeouts)return e;let n=e.name??"parcel",o=Object.fromEntries(Object.keys(rL).filter(t=>e[t]).map(o=>{var r,i;let a,s;return[o,(r=e[o],i=rL[o],a=Array.isArray(r)?r:[r],s=e=>a.reduce((t,r,i)=>t.then(()=>{let t=r(e);return"function"==typeof t?.then&&"function"==typeof t?.catch?t:Promise.reject(Error(`Lifecycle function ${o} at array index ${i} for parcel ${n} did not return a promise`))}),Promise.resolve(void 0)),e=>{let r,a=new Promise((e,t)=>{r=setTimeout(()=>t(Error(`Lifecycle function ${o} for parcel ${n} did not settle within ${i}ms`)),i)});return Promise.race([s(e),a]).finally(()=>clearTimeout(r)).then(e=>(t(o,!1),e),e=>{throw t(o,!0),e})})]}));return{...e,...o}}async function rW(e,t){var n,o;let r,i,a,s,l,c=await (rM??(rM=new Promise((e,t)=>{(0,tl.xL)({name:"openmrs-extension-host",bootstrap:()=>Promise.resolve(),mount:t=>(e(t.mountParcel),Promise.resolve()),unmount:()=>Promise.resolve()},{domElement:document.createElement("div")}).mountPromise.catch(t)}).catch(e=>(console.error("The host parcel used to mount extensions could not be mounted. Falling back to mounting extensions as root parcels, which leaks their DOM elements.",e),tl.xL))),rM),u={...t},d=(r=u,i=!1,{retarget:e=>r={...e},release:a=()=>(function(e){for(let t of Object.keys(e))delete e[t]})(r),onSettled(e,t){switch(e){case"bootstrap":t&&a();return;case"mount":i||(i=t);return;case"unmount":(t||i)&&a();return}}});return o=c((n=d.onSettled,"function"==typeof e?()=>e().then(e=>rD(e,n)):rD(e,n)),u),s=e=>t=>e.call(o,d.retarget(t)).catch(e=>{throw"SKIP_BECAUSE_BROKEN"===o.getStatus()&&d.release(),e}),l=o.update&&s(o.update),Object.defineProperty(o,"update",{configurable:!0,enumerable:!0,get:()=>l,set:e=>{l=e&&s(e)}})}function rB(){return rU}function rU(e,t){let n,o=rW(e,t).then(e=>n=e);return{mount:()=>o.then(e=>e.mount()),unmount:()=>o.then(e=>e.unmount()),update:e=>o.then(t=>t.update?.(e)),getStatus:()=>n?.getStatus()??"LOADING_SOURCE_CODE",get loadPromise(){return o.then(e=>e.loadPromise)},get bootstrapPromise(){return o.then(e=>e.bootstrapPromise)},get mountPromise(){return o.then(e=>e.mountPromise)},get unmountPromise(){return o.then(e=>e.unmountPromise)}}}async function rF(e,t,n,o,r=e=>e,i={}){let a=ru(o),s=rm(o),l=null;if(e){let c;if(!s)throw Error(`Couldn't find extension '${a}' to attach to '${t}'`);let{meta:u,moduleName:d,load:m}=s,f=rT++,p=`${t}/${o}-${f}`;e.dataset.extensionRenderingId=p;let g=e=>{try{oY(p)}catch(t){console.error(e,t)}};try{oX({renderingId:p,extensionName:a,extensionModuleName:d,extensionId:o,slotName:t,slotModuleName:n})}catch(e){throw g(`Recomputing configuration after registering '${o}' failed also failed`),e}try{c=await m()}catch(e){throw g(`Recomputing configuration after '${o}' failed to load also failed`),e}try{l=await rW(r({...c,name:`${t}/${a}-${f}`}),{...i,_meta:u,_extensionContext:{extensionId:o,extensionSlotName:t,extensionSlotModuleName:n,extensionModuleName:d,extensionMeta:u},domElement:e})}catch(e){throw g(`Recomputing configuration after '${o}' failed to mount also failed`),e}l.mountPromise.then(void 0,e=>{console.error(`Extension '${o}' in slot '${t}' failed to mount`,e),g(`Recomputing configuration after '${o}' failed to mount also failed`)}),l.unmountPromise.then(()=>g(`Recomputing configuration after unmounting '${o}' failed`),e=>{console.error(`Extension '${o}' in slot '${t}' failed to unmount`,e),g(`Recomputing configuration after '${o}' failed to unmount also failed`)})}else console.warn(`Tried to render ${o} into ${t} but no DOM element was available.`);return l}var rH=n(6925),rV=n.n(rH);let rG=(0,rH.createContext)({moduleName:"",featureName:""});function rz({to:e,templateParams:t,onBeforeNavigate:n,children:o,...r}){return(0,rH.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}`)},[]),rV().createElement("a",{onClick:o=>{0===o.button&&!o.ctrlKey&&!o.shiftKey&&!o.altKey&&!o.metaKey&&(o.preventDefault(),n?.(o),th({to:e,templateParams:t})),0===o.button&&(o.ctrlKey||o.metaKey)&&n?.(o),0===o.button&&o.shiftKey&&n?.(o),1===o.button&&n?.(o)},href:tp(e,t),...r},o)}let rq=({state:e,children:t,...n})=>{let{extension:o}=(0,rH.useContext)(rG),r=(0,rH.useRef)(null),i=(0,rH.useRef)(Promise.resolve()),a=(0,rH.useRef)(!1),s=(0,rH.useRef)(!1),l=(0,rH.useRef)(e),c=(0,rH.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,rH.useCallback)((e,t)=>{e.update&&"UNMOUNTING"!==e.getStatus()&&(i.current=Promise.all([e.mountPromise,i.current]).then(()=>{if(r.current?.getStatus()==="MOUNTED"&&r.current.update)return r.current.update({...t})}).catch(e=>{let t=r.current?.getStatus();"UNMOUNTING"!==t&&"NOT_MOUNTED"!==t&&"UNLOADING"!==t&&console.error(`The extension '${o?.extensionId}' failed to update`,e)}))},[]),d=(0,rH.useCallback)(t=>{t&&!r.current&&!s.current&&o?.extensionSlotName&&o.extensionSlotModuleName&&(s.current=!0,rF(t,o.extensionSlotName,o.extensionSlotModuleName,o.extensionId,void 0,e).then(t=>{(s.current=!1,r.current=t,a.current)?c(t):t&&l.current!==e&&u(t,l.current)},()=>{s.current=!1}))},[]);return(0,rH.useEffect)(()=>(a.current=!1,()=>{a.current=!0,c(r.current)}),[]),(0,rH.useEffect)(()=>{l.current=e,r.current&&u(r.current,e)},[e]),o?rV().createElement("div",{ref:d,"data-extension-id":o?.extensionId,style:{position:"relative"},...n}):null};function rJ(e){let t=(0,rH.useRef)(e);return x(t.current,e)||(t.current=e),t.current}function rK(e,t){"function"==typeof t&&(t=t(e));let n={};for(let[o,r]of Object.entries(t)){let t=function(...t){e.setState(e=>r(e,...t))};n[o]=t}return n}let rX=e=>e;function rY(e,t=rX,n){let o=(0,rH.useCallback)(t=>e.subscribe(t),[e]),r=(0,rH.useCallback)(()=>t(e.getState()),[e,t]),i=(0,rH.useSyncExternalStore)(o,r,r),a=(0,rH.useMemo)(()=>n?rK(e,n):null,[e,n]);return(0,rH.useMemo)(()=>a?{...i,...a}:i,[i,a])}function rZ(e,t){return rY(e,rX,t)}function rQ(e){return function(t){let n=(0,rH.useCallback)(t=>e.subscribe(t),[]),o=(0,rH.useCallback)(()=>e.getState(),[]),r=(0,rH.useSyncExternalStore)(n,o,o),i=(0,rH.useMemo)(()=>t?rK(e,t):null,[t]);return(0,rH.useMemo)(()=>i?{...r,...i}:r,[r,i])}}let r0=[];Object.freeze(r0);let r1={candidateExtensions:r0};Object.freeze(r1);let r2=e=>{let t=(0,rH.useCallback)(t=>t.slots?.[e]??r1,[e]);return rY(oZ(),t)},r5=e=>e.session;function r6(e,t){let{candidateExtensions:n}=r2(e),o=rY(tO,r5),r=rJ(t);return(0,rH.useMemo)(()=>r_(e,r),[e,r,o,n])}function r3(e,t){let{moduleName:n}=(0,rH.useContext)(rG);if(!n)throw Error("ComponentContext has not been provided. This should come from @openmrs/esm-react-utils.");return(0,rH.useEffect)(()=>{ry(n,e)},[n,e]),{extensions:r6(e,t),extensionSlotName:e,extensionSlotModuleName:n}}function r8(e){return e}function r4({name:e,extensionSlotName:t,select:n=r8,children:o,state:r,style:i,...a}){if(o&&r)throw Error("Both children and state have been provided. If children are provided, the state must be passed as a prop to the `Extension` component.");let s=e??t,l=(0,rH.useRef)(null),{extensions:c,extensionSlotModuleName:u}=r3(s,r),d=(0,rH.useMemo)(()=>n(c),[n,c]),m=(0,rH.useMemo)(()=>{if("function"==typeof o&&!rV().isValidElement(o))return d.map(e=>o(e,r))},[o,d]);return rV().createElement("div",{ref:l,"data-extension-slot-name":s,"data-extension-slot-module-name":u,style:{...i,position:"relative"},...a},s&&d?.map((e,t)=>rV().createElement(rG.Provider,{key:e.id,value:{moduleName:u,featureName:"",extension:{extensionId:e.id,extensionSlotName:s,extensionSlotModuleName:u,extensionMeta:e.meta}}},m?.[t]??("function"!=typeof o?o:null)??rV().createElement(rq,{state:r}))))}var r7=n(3776),r9=n(9568),ie=n(9737),it=n(2324),io=n(242);let ir={strictMode:!0,throwErrorsToConsole:!0,disableTranslations:!1},ii=new Map;(0,io.y)(ii);let ia={errorRetryCount:3,fetcher:tA,focusThrottleInterval:18e5,revalidateIfStale:!0,revalidateOnFocus:!1,revalidateOnReconnect:!1,refreshInterval:0,shouldRetryOnError:e=>{if(e instanceof tP){let t=e.response.status;return!!(t>=500)||401===t||403===t||429===t}return!0},provider:()=>ii};function is(e){if("object"!=typeof e||"string"!=typeof e.featureName||"string"!=typeof e.moduleName)throw Error("Invalid options");let t=Object.assign({},ir,e),n={...ia,...t.swrConfig};return function(e){var o,r,i,a,s;return i=r=class extends(o=rV().Component){componentDidCatch(e,n){n&&n.componentStack&&(e.extra=Object.assign(e.extra||{},{componentStack:n.componentStack})),t.throwErrorsToConsole&&setTimeout(()=>{throw e}),this.setState({caughtError:e,caughtErrorInfo:n})}render(){if(this.state.caughtError)return rV().createElement("div",null,"An error has occurred. Please try reloading the page.");{let o=rV().createElement(rH.Suspense,{fallback:null},rV().createElement(it.S,{value:n},rV().createElement(rG.Provider,{value:this.state.config},t.disableTranslations?rV().createElement(e,this.props):rV().createElement(ie.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},rV().createElement(e,this.props)))));return t.strictMode&&rV().StrictMode?rV().createElement(rV().StrictMode,null,o):o}}constructor(e){super(e),this.state={caughtError:null,caughtErrorInfo:null,config:{moduleName:t.moduleName,featureName:t.featureName,extension:e._extensionContext}}}},a="displayName",s=`OpenmrsReactComponent(${t.featureName})`,a in i?Object.defineProperty(i,a,{value:s,enumerable:!0,configurable:!0,writable:!0}):i[a]=s,r}}function il(e,t){return(0,r9.A)({React:rV(),ReactDOMClient:r7,rootComponent:is(t)(e)})}function ic(e,t){return()=>e().then(({default:e})=>il(e,t))}function iu(e,t){return()=>Promise.resolve(il(e,t))}let id=ic,im=(0,E.y)()(()=>({}));$("openmrs-app-context",im);let ip={};function ig(e,t=e=>e){let n=im.getState();return e in n?Object.freeze(Object.assign({},t?t(n[e]):n[e])):null}function ih(e,t){im.setState(n=>(e in n||(n[e]={}),n[e]=t(n[e]),Object.assign({},n)))}function iw(e){return null===e?null:Object.freeze(Object.assign({},e))}let i_=new Map;function iv(e,t){let n=(0,rH.useRef)(t??{}),o=(0,rH.useRef)(t=>ih(e,t)),r=(0,rH.useRef)(Symbol());return(0,rH.useEffect)(()=>{let n=t??{},o=r.current;return null===ig(e)?!function(e,t=ip){im.setState(n=>{if(e in n)throw Error(`Attempted to re-register namespace ${e} in the app context. Each namespace must be unregistered before the name can be registered again.`);return Object.assign({},n,{[e]:t===ip?{}:t})})}(e,n):(console.warn(`Namespace ${e} is already registered in the app context. This is likely a race condition during navigation, but may indicate two components are trying to own the same namespace. Updating the existing context.`),ih(e,()=>n)),i_.set(e,o),()=>{i_.get(e)===o&&(im.setState(t=>(e in t&&delete t[e],t)),i_.delete(e))}},[e]),(0,rH.useEffect)(()=>{let o=t??{};x(n.current,o)||(ih(e,()=>o),n.current=o)},[t]),o.current}function iy({namespace:e,value:t}){return iv(e,t),null}let ib=({children:e,value:t,fallback:n})=>t?rV().createElement(rV().Fragment,null,e):n?rV().createElement(rV().Fragment,null,n):null;function ix(){let e=(0,rH.useRef)();return(!e.current||e.current.signal.aborted)&&(e.current=new AbortController),(0,rH.useEffect)(()=>{let t=e.current;return()=>t?.abort()},[]),e.current}function iS(e,t=e=>e??{}){let[n,o]=(0,rH.useState)(()=>{if(ij(e))return;let n=ig(e);if(null!==n)return t?t(n):n});return(0,rH.useEffect)(()=>{if(ij(e))throw Error(`The namespace supplied to useAppContext must be a non-empty string, but was "${e}".`)},[e]),(0,rH.useEffect)(()=>{var n;let r;return(n=e=>{if(null==e)return void o(void 0);let n=t?t(e):e;o(e=>x(e,n)?e:n)})(iw(r=ig(e))),im.subscribe(t=>{let o=e in t?t[e]:null;o!==r&&(r=o,n(iw(o)))})},[e,t]),n}function ij(e){return"string"!=typeof e||0===e.trim().length}function ik(e){let t=r6(e);return(0,rH.useMemo)(()=>t.map(e=>e.id),[t])}function iN(e){return r2(e).candidateExtensions}function iE(e,t,n){let{data:o,error:r,mutate:i,isLoading:a,isValidating:s}=(0,it.u)(e?nU(e,t,n):null,tA);return(0,rH.useMemo)(()=>({isLoading:a,data:o?.data.results??[],error:r,mutate:i,isValidating:s}),[o,r,a,s,i])}function iC(e){(0,rH.useEffect)(()=>{if(e){let e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}},[e])}let iI={},iA=`No ComponentContext has been provided. This should come from "openmrsComponentDecorator".
|
|
16
|
+
Usually this is already applied when using "getAsyncLifecycle" or "getSyncLifecycle".`;function iP(e){let{moduleName:t,extension:n}=(0,rH.useContext)(rG),o=e?.externalModuleName??t;if(!o&&!n)throw Error(iA);let r=function(e){let t=(0,rH.useMemo)(()=>et(e),[e]),n=function(e){let[t,n]=(0,rH.useState)(()=>{let t=e.getState();return t.loaded&&t.config?t.config:null});return(0,rH.useEffect)(()=>e?.subscribe(e=>{e.loaded&&e.config&&n(e.config)}),[e]),t}(t);if(!n)throw iI[e]||(iI[e]=new Promise(e=>{let n=t.subscribe(t=>{t.loaded&&t.config&&(e(t.config),n())})})),iI[e];return n}(o),i=function(e){let t=(0,rH.useMemo)(ei,[]),n=function(e,t){let[n,o]=(0,rH.useState)(t?()=>{let n=es(e.getState(),t.extensionSlotName,t.extensionId);if(n.loaded&&n.config)return n.config}:null);return(0,rH.useEffect)(()=>{if(t)return e.subscribe(e=>{let r=es(e,t.extensionSlotName,t.extensionId);r.loaded&&r.config&&!(0,U.A)(r.config,n)&&o(r.config)})},[e,t,n]),n}(t,e);if(!n&&e){let n=`${e.extensionSlotName}-${e.extensionId}`;throw!iI[n]&&t&&(iI[n]=new Promise(n=>{let o=t.subscribe(t=>{let r=es(t,e.extensionSlotName,e.extensionId);r.loaded&&r.config&&(n(r.config),o())})})),iI[n]}return n||{}}(n);return(0,rH.useMemo)(()=>e?.externalModuleName&&o===e.externalModuleName?{...r}:{...r,...i},[o,e?.externalModuleName,r,i])}let iO=r6;function iR(e,t=300){let[n,o]=(0,rH.useState)(e);return(0,rH.useEffect)(()=>{let n=setTimeout(()=>{o(e)},t);return()=>{clearTimeout(n)}},[e,t]),n}var i$=n(6269);let iT=`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 iM(){let e=`${tN}/emrapi/configuration?v=${iT}`,t=(0,i$.A)(e,tA);return(0,rH.useMemo)(()=>({emrConfiguration:t.data?.data,isLoadingEmrConfiguration:t.isLoading,mutateEmrConfiguration:t.mutate,errorFetchingEmrConfiguration:t.error}),[t])}function iL(){return(0,rH.useContext)(rG).extension}let iD=rQ(oH());function iW(e){let t=r6(e);return(0,rH.useMemo)(()=>Object.fromEntries(t.map(e=>[e.name,e.meta])),[t])}let iB=rQ(oZ());function iU(e){let{flags:t}=rY(o$);return t[e]?.enabled??!1}function iF(){let[,e]=(0,rH.useState)(0);return(0,rH.useCallback)(()=>{e(e=>e+1)},[])}function iH(e,t,n={}){return iG(e,t,iV,n)}let iV={getPaginatedUrl:(e,t,n)=>{if(!e)return null;{let o=new URL(tI(e.toString()),window.location.toString());return o.searchParams.set("limit",""+t),o.searchParams.set("startIndex",""+n),o.searchParams.set("totalCount","true"),o.toString()}},getNextUrl:e=>{let t=e?.links?.find(e=>"next"==e.rel)?.uri;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.totalCount??NaN,getCurrentPageSize:e=>e?.results?.length??NaN,getData:e=>e?.results};function iG(e,t,n,o={}){let{getPaginatedUrl:r,getTotalCount:i,getCurrentPageSize:a,getData:s}=n,{immutable:l,swrConfig:c}=o,u=o.fetcher??tA,[d,m]=(0,rH.useState)(1),f=(0,rH.useRef)(NaN),p=(0,rH.useRef)(NaN),g=(0,rH.useRef)(d),h=(0,rH.useRef)(!1),w=(0,rH.useRef)(!1),_=e?.toString()??"",[v,y]=(0,rH.useState)(_);_!==v&&(y(_),m(1),g.current=1,f.current=NaN,p.current=NaN,h.current=!1,w.current=!1);let b=(d-1)*t,x=(0,rH.useMemo)(()=>r(e,t,b),[e,t,b]),{data:S,...j}=(l?i$.A:it.u)(x,u,c);S?.data&&(f.current=i(S?.data),p.current=a(S?.data),h.current=!0);let k=Math.ceil(f.current/t),N=(0,rH.useCallback)(e=>{if(!Number.isInteger(e)||e<1)return void console.warn(`useServerPagination: ignoring goTo(${e}); page must be a positive integer.`);let n=Math.ceil(f.current/t);!h.current||Number.isNaN(n)||e<=n?(g.current=e,m(e)):console.warn("Invalid attempt to go to out of bounds page: "+e)},[t]);(0,rH.useEffect)(()=>{if(!h.current)return;if(Number.isNaN(f.current)){w.current||(w.current=!0,console.warn(`useServerPagination: ${_} returned no total count, so out-of-range pages cannot be detected.`));return}let e=Math.max(1,Math.ceil(f.current/t));d>e&&(console.warn(`Invalid attempt to go to out of bounds page: ${d}; returning to page ${e}.`),g.current=e,m(e))},[d,t,_,S]);let E=(0,rH.useCallback)(()=>{N(g.current+1)},[N]),C=(0,rH.useCallback)(()=>{N(g.current-1)},[N]);return{data:s(S?.data),totalPages:k,totalCount:f.current,currentPage:d,currentPageSize:p.current,paginated:k>1,showNextButton:d<k,showPreviousButton:d>1,goTo:N,goToNext:E,goToPrevious:C,...j}}function iz(e,t,n={}){return iG(e,t,iq(),n)}function iq(){return{getPaginatedUrl:(e,t,n)=>{if(!e)return null;{let o=new URL(tI(e.toString()),window.location.toString());return o.searchParams.set("_count",""+t),o.searchParams.set("_getpagesoffset",""+n),o.toString()}},getNextUrl:e=>{let t=e?.link?.find(e=>"next"==e.relation)?.url;if(!t)return null;{let e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}},getTotalCount:e=>e?.total??NaN,getCurrentPageSize:e=>e?.entry?.length??NaN,getData:e=>e?.entry?.map(e=>e.resource)}}var iJ=n(3709);function iK(e,t={}){return iX(e,iV,t)}function iX(e,t,n={}){let{swrInfiniteConfig:o,immutable:r}=n,{getNextUrl:i,getTotalCount:a,getData:s}=t,l=n.fetcher??tA,c=(0,rH.useCallback)((n,o)=>0==n?e?.toString()??null:t.getNextUrl(o.data),[e]),{data:u,size:d,setSize:m,...f}=(0,iJ.Ay)(c,l,{...o,...r?{revalidateIfStale:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1}:{}}),p=i(u?.[u.length-1].data),g=a(u?.[0]?.data);return{data:u?.flatMap(e=>s(e.data)),totalCount:g,hasMore:null!=p,loadMore:()=>{m((u?.length??0)+1)},nextUri:p,...f}}function iY(e,t={}){return iZ(e,iV,t)}function iZ(e,t,n={}){let o=iX(e,t,n),{hasMore:r,error:i,data:a,loadMore:s,isLoading:l,nextUri:c}=o;return((0,rH.useEffect)(()=>{r&&!i&&s()},[r,c]),n.partialData)?o:{...o,data:r||i?void 0:a,isLoading:l||r}}function iQ(e,t={}){return iZ(e,iq(),t)}function i0(e,t={}){return iX(e,iq(),t)}function i1(){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 i2(){let[e,t]=(0,rH.useState)(i1);return(0,rH.useEffect)(()=>{let e=()=>{t(i1())};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)},[]),e}let i5=e=>"small-desktop"===e||"large-desktop"===e;function i6(e){let t=(0,rH.useContext)(rG);(0,rH.useEffect)(()=>(t&&t.moduleName&&(e.componentContext=t),rS(e),()=>{rj(e.name)}),[t,e])}function i3(){return rY(rx)}let i8=[];function i4(e=null,t=null){let n=new URLSearchParams;e&&n.set("tag",e),t&&n.set("q",t);let o=n.toString(),{data:r}=iY(`${tN}/location${o?"?"+o:""}`,{immutable:!0});return r??i8}function i7(e,t=!0){let n=(0,rH.useRef)(null);return(0,rH.useEffect)(()=>{let o=o=>{t&&n.current&&o.target&&o.target instanceof Node&&(n.current.contains(o.target)||e(o))};return window.addEventListener("mousedown",o),window.addEventListener("touchstart",o),()=>{window.removeEventListener("mousedown",o),window.removeEventListener("touchstart",o)}},[e,t]),n}function i9(e){let t=(0,rH.useRef)();return(0,rH.useEffect)(()=>{let n=new IntersectionObserver(t=>{for(let n of t)if(n.isIntersecting)return void e()},{threshold:1});return t.current&&n.observe(t.current),()=>{t.current&&n.unobserve(t.current)}},[t.current,e]),t}function ae(e,t={}){let{abortController:n,fetchInit:o,url:r,swrConfig:i}=t,a=ix(),s=(0,rH.useMemo)(()=>o?.signal??n?.signal??a.signal,[n?.signal,o?.signal,a.signal]),l=(0,rH.useCallback)(e=>tA(function(e,t){if(t)return"function"==typeof t?t(e):t;if("string"==typeof e)return e;throw Error(`When using useOpenmrsSWR with a key that is not a string, you must provide a url() function that converts the key to a valid url. The key for this hook is ${e}.`)}(e,r),{...o,signal:s}),[s,o,r]);return(0,it.u)(e,l,i)}function at(e=[],t=10){let[n,o]=(0,rH.useState)(1),r=(0,rH.useMemo)(()=>"number"==typeof t&&t>0?Math.max(1,Math.ceil(e.length/t)):1,[e.length,t]);n>r&&o(r);let i=Math.min(Math.max(1,n),r),a=(0,rH.useMemo)(()=>{let n=(i-1)*t,o=(i+0)*t;return e.slice(n,o)},[e,i,t]),s=(0,rH.useCallback)(e=>{!Number.isInteger(e)||e<1?console.warn(`usePagination: ignoring goTo(${e}); page must be a positive integer.`):o(e)},[]),l=(0,rH.useCallback)(()=>{o(e=>e+1)},[]),c=(0,rH.useCallback)(()=>{o(e=>Math.max(1,e-1))},[]);return(0,rH.useMemo)(()=>({results:a,totalPages:r,currentPage:i,paginated:e.length>t,showNextButton:i<r,showPreviousButton:i>1,goTo:s,goToNext:l,goToPrevious:c}),[a,r,e.length,t,i,s,l,c])}function an(e,t,n,o){return{pageSizes:(0,rH.useMemo)(()=>{let n=Math.ceil(t/e);return isNaN(n)&&(n=0),[...Array(n).keys()].map(t=>(t+1)*e)},[e,t]),pageItemsCount:(0,rH.useMemo)(()=>e>t?t:e*n>t?e*(n-1)+o:e*n,[e,t,n,o])}}function ao(){let e=/\/patient\/([a-zA-Z0-9\-]+)\/?/.exec(location.pathname);return e&&e[1]}function ar(e){let[t,n]=(0,rH.useState)(e??ao()),{data:o,error:r,isValidating:i}=(0,it.u)(t?["patient",t]:null,()=>nV(t,{}));return(0,rH.useEffect)(()=>{let e=()=>{let e=ao();e!==t&&n(e)};return window.addEventListener("single-spa:routing-event",e),()=>window.removeEventListener("single-spa:routing-event",e)},[t]),(0,rH.useMemo)(()=>({isLoading:i&&!r&&!o,patient:o,patientUuid:t,error:r}),[i,r,o,t])}function ai(){let e=`${tN}/metadatamapping/termmapping?v=custom:(metadataUuid)&code=emr.primaryIdentifierType`,{data:t,error:n,isLoading:o}=(0,it.u)(e,tA);return(0,rH.useMemo)(()=>({primaryIdentifierCode:t?.data?.results[0]?.metadataUuid,isLoading:o,error:n}),[t,n,o])}function aa(e){let{extensions:t,extensionSlotModuleName:n}=r3(e);return e?t.map(t=>({state:o})=>rV().createElement(rG.Provider,{value:{moduleName:n,featureName:"",extension:{extensionId:t.id,extensionSlotName:e,extensionSlotModuleName:n,extensionMeta:t.meta}}},rV().createElement(rq,{state:o}))):[]}function as(){let e=(0,rH.useRef)(),[t,n]=(0,rH.useState)(null),o=null;if(!t){if(i){let e=tL().getState();e.loaded&&(o=e.session)}else i=new Promise(t=>{let n=({loaded:n,session:r})=>{n&&(t(r),o=r,e.current&&(e.current(),e.current=void 0))};n(tL().getState()),o||(e.current=tL().subscribe(n))});if(o)n(o);else throw i}(0,rH.useEffect)(()=>(e.current||(e.current=tL().subscribe(({loaded:e,session:t})=>{e&&(o=t,n(t))})),()=>{e.current&&(e.current(),e.current=void 0)}),[]);let r=t||o;if(!r)if(i)throw console.warn("useSession is in an unexpected state. Attempting to recover."),i;else throw Error("useSession is in an invalid state.");return r}let al=({privilege:e,fallback:t,children:n})=>{let[o,r]=(0,rH.useState)(null);return((0,rH.useEffect)(()=>{let e=tL(),t=e.subscribe(({loaded:e,session:t})=>{r(e?t?.user??null:null)}),{loaded:n,session:o}=e.getState();return n&&r(o?.user??null),t},[]),o&&tU(e,o))?rV().createElement(rV().Fragment,null,n):t?rV().createElement(rV().Fragment,null,t):null};var ac=n(4343),au=n.n(ac),ad=n(3355);let am=new Map;function af(){for(let e of Array.from(am.values()))e()}let ap={setVisitContext:(e,t)=>null==t?{manuallySetVisitUuid:null}:{manuallySetVisitUuid:t.uuid,patientUuid:t.patient?.uuid}};function ag(e){let t=(0,rH.useId)();return(0,rH.useEffect)(()=>{if(e)return am.set(t,e),()=>{am.delete(t)}},[t,e]),{...rZ(n2(),ap),mutateVisit:af}}function ah(e,t=n0){let n=(0,rH.useRef)(void 0),{patientUuid:o,manuallySetVisitUuid:r,setVisitContext:i}=ag((0,rH.useCallback)(()=>n.current?.(),[])),a=e&&o==e?r:null,s=`?patient=${e}&v=${t}&includeInactive=false`,l=`/${a}?v=${t}`,{data:c,error:u,mutate:d,isValidating:m}=(0,it.u)(e?`${tN}/visit${s}`:null,tA),{data:f,error:p,mutate:g,isValidating:h}=(0,it.u)(e&&a?`${tN}/visit${l}`:null,tA),w=(0,rH.useMemo)(()=>c?.data.results.find(e=>null===e.stopDatetime)??null,[c]),_=(0,rH.useMemo)(()=>a&&f?f.data:null,[f,a]),v=(0,rH.useRef)(null);(0,rH.useEffect)(()=>{!m&&w&&o===e&&null===r&&i(w),h||(v.current&&_&&v.current.uuid===_.uuid&&!v.current.stopDatetime&&_.stopDatetime&&i(null),v.current=_)},[_,r,w,m,h,o]);let y=(0,rH.useCallback)(()=>{d(),g()},[d,g]);(0,rH.useEffect)(()=>{n.current=y},[y]);let b=!!(!c||a&&!f),x=!!(a?p:u);return{error:u||p,mutate:y,isValidating:m||h,activeVisit:w,currentVisit:_,currentVisitIsRetrospective:!!a,isLoading:b&&!x}}ac.extend(ad);let aw=[];function a_(){let{data:e}=(0,i$.A)(nX,nY);return e??aw}let av=new Map;async function ay(e,t){let n=t.indexOf("#"),o=n>=0,r=o?t.substring(0,n):e,i=o?t.substring(n+1):t,a=await np(r);return a&&Object.hasOwn(a,i)&&"function"==typeof a[i]?ax(r,a).then(()=>a[i]()):(a?a&&Object.hasOwn(a,i)?console.warn(`The export ${t}, defined in ${e}'s routes.json, is not a function`):console.warn(`${r} does not define a component called "${i}", referenced in ${e}'s routes.json. This cannot be loaded.`):console.warn(`Unknown app ${r} for ${t} defined in ${e}'s routes.json`),ab)}let ab={bootstrap:()=>Promise.resolve(),mount:()=>Promise.resolve(),unmount:()=>Promise.resolve()};async function ax(e,t){if(e in av)await av[e];else{let n=t??await np(e);await (av[e]=new Promise((t,o)=>{if(Object.hasOwn(n,"startupApp")){let r=n.startupApp;if("function"==typeof r)return Promise.resolve(r()).then(()=>{eP(e),t(null)}).catch(o)}eP(e),t(null)}))}}function aS(e,t){let n=t.name;if(!n)return void console.error(`An extension definition in ${e} is missing an name and thus cannot be
|
|
17
|
+
registered. To fix this, ensure that you define the "name" field inside the
|
|
18
|
+
extension definition.`,t);t.slots&&t.slot&&console.warn(`The extension ${n} from ${e} declares both a 'slots' property and
|
|
19
|
+
a 'slot' property. Only the 'slots' property will be honored.`);let o=t.slots?t.slots:t.slot?[t.slot]:[];if(!t.component)return void console.error(`The extension ${n} from ${e} is missing a 'component' entry and thus cannot be registered.
|
|
20
|
+
To fix this, ensure that you define a 'component' field inside the extension definition.`,t);for(let r of(rf({name:n,load:()=>ay(e,t.component),meta:t.meta||{},order:t.order,moduleName:e,privileges:t.privileges,featureFlag:t.featureFlag,displayExpression:t.displayExpression}),o))rp(r,n)}let aj=[];function ak(e,t){o1(()=>(function(e,t){if(e&&t&&"object"==typeof t){eA(e);let n=t.extensions??[],o=t.modals??[],r=t.featureFlags??[],i=t.workspaceGroups2??[],a=t.workspaceWindows2??[],s=t.workspaces2??[];t.pages?.forEach(t=>{t&&"object"==typeof t&&Object.hasOwn(t,"component")&&(Object.hasOwn(t,"route")||Object.hasOwn(t,"routeRegex")||Object.hasOwn(t,"routes"))?aj.push({...t,appName:e}):console.warn(`A page for ${e} could not be registered as it does not appear to have the required properties`,t)}),n.forEach(t=>{t&&"object"==typeof t&&Object.hasOwn(t,"name")&&Object.hasOwn(t,"component")?aS(e,t):console.warn(`An extension for ${e} could not be registered as it does not appear to have the required properties`,t)}),o.forEach(t=>{if(t&&"object"==typeof t&&Object.hasOwn(t,"name")&&Object.hasOwn(t,"component")){let n;(n=t.name)?t.component?rN({name:n,moduleName:e,load:()=>ay(e,t.component)}):console.error(`The modal ${n} from ${e} is missing a 'component' entry and thus cannot be registered.
|
|
21
|
+
To fix this, ensure that you define a 'component' field inside the modal definition.`,t):console.error(`A modal definition in ${e} is missing an name and thus cannot be
|
|
22
|
+
registered. To fix this, ensure that you define the "name" field inside the
|
|
23
|
+
modal definition.`,t)}else console.warn(`A modal for ${e} could not be registered as it does not appear to have the required properties`,t)}),(Object.hasOwn(t,"workspaces")||Object.hasOwn(t,"workspaceGroups"))&&console.warn(`${e} defines workspaces or workspaceGroups in its routes.json, which are no longer supported and won't be registered. Use workspaces2, workspaceWindows2 and workspaceGroups2 instead.`),rO(e,i);for(let t of(rR(e,a),a))t.icon&&aS(e,{name:t.name,component:t.icon,slot:t.group,order:t.order});r$(e,s),r.forEach(t=>{if(t&&"object"==typeof t&&Object.hasOwn(t,"flagName"))t.flagName?t.label?t.description?oT(t.flagName,t.label,t.description):console.error(`A feature flag definition in ${e} is missing a description and thus cannot be registered.
|
|
24
|
+
To fix this, ensure that you define the "description" field inside the feature flag definition.`,t):console.error(`A feature flag definition in ${e} is missing a description and thus cannot be registered.
|
|
25
|
+
To fix this, ensure that you define the "label" field inside the feature flag definition.`,t):console.error(`A feature flag definition in ${e} is missing a name and thus cannot be registered.
|
|
26
|
+
To fix this, ensure that you define the "name" field inside the feature flag definition.`,t);else console.warn(`A feature flag for ${e} could not be registered as it does not appear to have the required properties`,t)})}})(e,t))}function aN(){aj.sort((e,t)=>e.appName.localeCompare(t.appName,"en"));let e=new Map;for(let t of aj){e.has(t.appName)?e.set(t.appName,e.get(t.appName)+1):e.set(t.appName,0);let n=e.get(t.appName),o=`${t.appName}-page-${n}`,r=t.containerDomId??"omrs-apps-container",i=document.getElementById(r),a=`single-spa-application:${o}`;if(i){let e=document.createElement("div");e.id=a,i?.appendChild(e)}else throw Error(`${t.appName} ${t.component} cannot be mounted to "${r}"; DOM element does not exist.`);!function(e,t){let n=void 0!==t.route?t.route:void 0!==t.routeRegex&&new RegExp(t.routeRegex);if(!1===n)return console.warn(`A registered page definition is missing a route and thus cannot be registered.
|
|
27
|
+
To fix this, ensure that you define the "route" (or alternatively the "routeRegex") field inside the extension definition.`,e);if(!t.component)return console.warn(`A registered page definition is missing a component and thus cannot be registered.
|
|
28
|
+
To fix this, ensure that you define the "component" field inside the page definition.`,e);let o=function(e,{featureFlag:t}){return t?n=>!!oL(t)&&e(n):e}(function e(t){if(Array.isArray(t)){let n=t.map(e);return e=>n.some(t=>t(e))}return"string"==typeof t?(0,tl.fz)(window.getOpenmrsSpaBase()+t):t instanceof RegExp?e=>t.test(e.pathname.replace(window.getOpenmrsSpaBase(),"")):()=>t}(n),t);(0,tl.AG)(e,()=>ay(t.appName,t.component),o)}(o,t)}}let aE={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 aC(){document.body.classList.toggle("omrs-breakpoint-lt-tablet",window.innerWidth<aE.TABLET_MIN),document.body.classList.toggle("omrs-breakpoint-gt-phone",window.innerWidth>aE.PHONE_MAX),document.body.classList.toggle("omrs-breakpoint-gt-tablet",window.innerWidth>aE.TABLET_MAX),document.body.classList.toggle("omrs-breakpoint-lt-desktop",window.innerWidth<aE.SMALL_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-lt-small-desktop",window.innerWidth<aE.SMALL_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-lt-large-desktop",window.innerWidth<aE.LARGE_DESKTOP_MIN),document.body.classList.toggle("omrs-breakpoint-gt-small-desktop",window.innerWidth>aE.SMALL_DESKTOP_MAX)}let aI=!1;function aA(){aI||(window.addEventListener("resize",aC),aC(),aI=!0)}var aP=n(6870),aO=n(5530),aR=n.n(aO);function a$({title:e,children:t}){let n="tablet"===i2();return(0,aP.jsxs)("div",{className:aR()({"-esm-devtools__card-header-module__tabletHeader___Vkmd-":n,"-esm-devtools__card-header-module__desktopHeader___ocWGq":!n}),children:[(0,aP.jsx)("h4",{children:e}),t]})}let aT=["red","magenta","purple","blue","teal","cyan","gray","green","warm-gray","cool-gray","high-contrast","outline"],aM={primaryColor:{_type:V.String,_description:"The color for displaying primary diagnoses tags",_default:"red",_validators:[e9.oneOf(aT)]},secondaryColor:{_type:V.String,_description:"The color for displaying secondary diagnoses tags",_default:"blue",_validators:[e9.oneOf(aT)]}},aL={"Brand color #1":{_default:"#005d5d",_type:V.String},"Brand color #2":{_default:"#004144",_type:V.String},"Brand color #3":{_default:"#007d79",_type:V.String},excludePatientIdentifierCodeTypes:{uuids:{_type:V.Array,_description:"List of UUIDs of patient identifier types to exclude from rendering in the patient banner",_default:[],_elements:{_type:V.UUID}}},implementationName:{_type:V.String,_description:"A name of the place (or authority) where all possible locations a user can choose are located.",_default:"Clinic"},logo:{src:{_type:V.String,_default:"",_description:"The path or URL to the logo shown on the login page and while the server is starting up. If set to an empty string, the default OpenMRS logo is used.",_validators:[e9.isUrl]},alt:{_type:V.String,_default:"Logo",_description:"The alternative text for the logo image, displayed when the image cannot be loaded or on hover."}},patientPhotoConceptUuid:{_type:V.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:V.Object,_description:"Keys should be locale codes, and values should be the preferred calendar for that locale. For example, {'am': 'ethiopic'}.",_default:{am:"ethiopic"},_elements:{_validators:[e9.oneOf(["buddhist","chinese","coptic","dangi","ethioaa","ethiopic","gregory","hebrew","indian","islamic","islamic-umalqura","islamic-tbla","islamic-civil","islamic-rgsa","iso8601","japanese","persian","roc","islamicc"])]}},preferredDateLocale:{_type:V.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:V.String}},diagnosisTags:aM};var aD=n(8326);let aW={"carbon.table.batch.cancel":"cancel","carbon.table.batch.items.selected":"batchActionsItemsSelected","carbon.table.batch.item.selected":"batchActionItemSelected","carbon.table.batch.selectAll":"selectAll"},aB=e=>(0,aP.jsx)(aD.TableBatchActions,{translateWithId:(e,t)=>{let n=aW[e];return n?tf(n,e,t):e},...e}),aU="-esm-devtools__custom-overflow-menu-module__container___8PykS",aF="-esm-devtools__custom-overflow-menu-module__menu___qsOLn",aH="-esm-devtools__custom-overflow-menu-module__show___BserJ",aV="-esm-devtools__custom-overflow-menu-module__overflowMenuButton___n86Gz",aG=(0,rH.createContext)(null);function az(){let e=(0,rH.useContext)(aG);if(!e)throw Error("useCustomOverflowMenu must be used within a CustomOverflowMenu");return e}function aq({menuTitle:e,children:t}){let[n,o]=rV().useState(!1),r=i7(()=>o(!1),n),i="tablet"===i2(),a=(0,rH.useCallback)(()=>o(e=>!e),[]),s=(0,rH.useRef)(null),l=(0,rH.useRef)(null),c=(0,rH.useId)(),u=`custom-overflow-menu-trigger-${c}`,d=`custom-overflow-menu-${c}`,m=(0,rH.useCallback)(()=>{o(!1),s.current?.focus()},[]),f=(0,rH.useMemo)(()=>({closeMenu:m}),[m]),p=(0,rH.useCallback)(e=>{"Escape"===e.key&&n&&(e.stopPropagation(),m())},[m,n]),g=rH.Children.toArray(t);(0,rH.useEffect)(()=>{if(n&&l.current){let e=l.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[n]);let h=(0,rH.useCallback)(({currentIndex:e,direction:t})=>{let n=l.current?.querySelectorAll('[role="menuitem"]:not([disabled])');if(!n?.length)return;let o=document.activeElement?.closest?.('[role="menuitem"]')??document.activeElement,r=Array.from(n).indexOf(o);if(-1===r)return void n[t>0?0:n.length-1]?.focus();let i=r+t,a=i<0?n.length-1:i>=n.length?0:i;n[a]?.focus()},[]),w=g.map((e,t)=>(0,rH.isValidElement)(e)?(0,rH.cloneElement)(e,{closeMenu:m,handleOverflowMenuItemFocus:h,index:t}):e);return(0,aP.jsxs)("div",{"data-overflow-menu":!0,className:aR()("cds--overflow-menu",aU),ref:r,children:[(0,aP.jsx)("button",{className:aR()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":n},aV),"aria-controls":d,"aria-expanded":n,"aria-haspopup":"true",id:u,onClick:a,onKeyDown:p,ref:s,children:e}),(0,aP.jsxs)("div",{className:aR()("cds--overflow-menu-options","cds--overflow-menu--flip",aF,{[aH]:n}),"aria-labelledby":u,"data-floating-menu-direction":"bottom",id:d,onKeyDown:p,ref:l,role:"menu",tabIndex:-1,children:[(0,aP.jsx)("ul",{className:aR()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":i}),children:(0,aP.jsx)(aG.Provider,{value:f,children:w})}),(0,aP.jsx)("span",{})]})]})}function aJ(e){let t=(0,rH.useContext)(aG);return(0,aP.jsx)(aD.OverflowMenuItem,{...e,closeMenu:t?.closeMenu})}var aK=n(2277),aX=n(4194);let aY=["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"],aZ=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-activity",iconProps:e})})),aQ=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-add",iconProps:e})})),a0=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-arrow-down",iconProps:e})})),a1=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-arrow-left",iconProps:e})})),a2=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-arrow-right",iconProps:e})})),a5=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-arrow-up",iconProps:e})})),a6=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-baby",iconProps:e})})),a3=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-calendar-heat-map",iconProps:e})})),a8=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-calendar",iconProps:e})})),a4=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-caret-down",iconProps:e})})),a7=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-caret-left",iconProps:e})})),a9=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-caret-right",iconProps:e})})),se=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-caret-up",iconProps:e})})),st=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-chart-average",iconProps:e})})),sn=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-chart-line",iconProps:e})})),so=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-checkmark-filled",iconProps:e})})),sr=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-checkmark-outline",iconProps:e})})),si=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-chemistry",iconProps:e})})),sa=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-chevron-down",iconProps:e})})),ss=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-chevron-left",iconProps:e})})),sl=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-chevron-right",iconProps:e})})),sc=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-chevron-up",iconProps:e})})),su=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-close",iconProps:e})})),sd=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-close-filled",iconProps:e})})),sm=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-close-outline",iconProps:e})})),sf=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-document",iconProps:e})})),sp=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-document-attachment",iconProps:e})})),sg=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-download",iconProps:e})})),sh=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-drug-order",iconProps:e})})),sw=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-edit",iconProps:e})})),s_=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-event-schedule",iconProps:e})})),sv=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-events",iconProps:e})})),sy=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-gender-female",iconProps:e})})),sb=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-gender-male",iconProps:e})})),sx=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-gender-other",iconProps:e})})),sS=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-gender-unknown",iconProps:e})})),sj=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-generic-order-type",iconProps:e})})),sk=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-group",iconProps:e})})),sN=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-group-access",iconProps:e})})),sE=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-hospital-bed",iconProps:e})})),sC=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-image-medical",iconProps:e})})),sI=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-information",iconProps:e})})),sA=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-information-filled",iconProps:e})})),sP=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-information-square",iconProps:e})})),sO=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-inventory-management",iconProps:e})})),sR=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-lab-order",iconProps:e})})),s$=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-list-checked",iconProps:e})})),sT=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-location",iconProps:e})})),sM=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-material-order",iconProps:e})})),sL=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-maximize",iconProps:e})})),sD=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-medication",iconProps:e})})),sW=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-message-queue",iconProps:e})})),sB=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-microscope",iconProps:e})})),sU=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-mobile-check",iconProps:e})})),sF=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-money",iconProps:e})})),sH=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-mother",iconProps:e})})),sV=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-movement",iconProps:e})})),sG=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),sz=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-overflow-menu--horizontal",iconProps:e})})),sq=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-password",iconProps:e})})),sJ=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-pedestrian-family",iconProps:e})})),sK=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-pen",iconProps:e})})),sX=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-printer",iconProps:e})})),sY=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-procedure-order",iconProps:e})})),sZ=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-programs",iconProps:e})})),sQ=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-referral-order",iconProps:e})})),s0=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-renew",iconProps:e})})),s1=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-report",iconProps:e})})),s2=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-reset",iconProps:e})})),s5=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-save",iconProps:e})})),s6=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-search",iconProps:e})})),s3=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-settings",iconProps:e})})),s8=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-switcher",iconProps:e})})),s4=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-shopping-cart",iconProps:e})})),s7=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-shopping-cart--arrow-down",iconProps:e})})),s9=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-sticky-note-add",iconProps:e})})),le=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-syringe",iconProps:e})})),lt=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-table-of-contents",iconProps:e})})),ln=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-table",iconProps:e})})),lo=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-time",iconProps:e})})),lr=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-tools",iconProps:e})})),li=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-translate",iconProps:e})})),la=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-trash-can",iconProps:e})})),ls=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-tree-view--alt",iconProps:e})})),ll=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-two-factor-authentication",iconProps:e})})),lc=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-user-avatar",iconProps:e})})),lu=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-user-follow",iconProps:e})})),ld=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-user-xray",iconProps:e})})),lm=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-user",iconProps:e})})),lf=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-view-off",iconProps:e})})),lp=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-view",iconProps:e})})),lg=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(lx,{ref:t,icon:"omrs-icon-warning",iconProps:e})})),lh=lg,lw=sp,l_=s$,lv=sC,ly=s7,lb=(0,rH.memo)((0,rH.forwardRef)(function({icon:e,fallback:t,...n},o){let r=(0,rH.useRef)(e?document.getElementById(e):void 0);return(0,rH.useEffect)(()=>{let t=document.getElementById("omrs-svgs-container"),n=new MutationObserver(t=>{for(let n of t)"childList"===n.type&&(r.current=e?document.getElementById(e):void 0)});return t&&n.observe(t,{childList:!0}),()=>n.disconnect()},[e]),(0,aP.jsx)(ib,{value:r.current,fallback:t,children:(0,aP.jsx)(lx,{ref:o,icon:e,iconProps:n})})})),lx=(0,rH.memo)((0,rH.forwardRef)(function({icon:e,iconProps:t},n){let{className:o,fill:r,size:i}=Object.assign({},{fill:"currentColor",size:20},t);(i<=0||i>72)&&(console.error(`Invalid size '${i}' specified for ${e}. Defaulting to 20.`),i=20);let a=(0,rH.useRef)(null);return(0,rH.useImperativeHandle)(n,()=>a.current),(0,rH.useEffect)(()=>{a.current&&"currentColor"!==r&&a.current.style.setProperty("--omrs-icon-fill",r)},[]),(0,aP.jsx)("svg",{ref:a,className:aR()("omrs-icon","-esm-devtools__icons-module__icon___BfFhd",o),height:i,width:i,viewBox:"0 0 16 16",children:(0,aP.jsx)("use",{href:`#${e}`})})})),lS=({path:e,title:t,basePath:n,icon:o})=>{let{t:r}=(0,ie.useTranslation)(),i=(0,aK.zy)(),a=(0,rH.useMemo)(()=>{if(!e)return!1;let t=e.startsWith("/")?e.slice(1):e;if(t.startsWith("http"))return t===window.location.href;let n=t.split("/").map(e=>decodeURIComponent(e)),o=(i.pathname??"").split("/").slice(1).map(e=>decodeURIComponent(e));return o.some((e,t)=>n.every((e,n)=>o[t+n]===e))},[i.pathname,e]);return(0,aP.jsx)("div",{children:(0,aP.jsx)(rz,{className:aR()("cds--side-nav__link",{"active-left-nav-link":a}),to:`${n}/${encodeURIComponent(e)}`,children:(0,aP.jsxs)("span",{className:"-esm-devtools__dashboard-module__menu___ds1tf",children:[(0,aP.jsx)(lb,{icon:o,className:"-esm-devtools__dashboard-module__icon___4Zrrh",size:16}),(0,aP.jsx)("span",{children:r(t)})]})})},e)};function lj(e){return function({basePath:t}){return(0,aP.jsx)(aX.Kd,{children:(0,aP.jsx)(lS,{basePath:t,...e})})}}var lk=n(7715),lN=n(7532),lE=n(3692),lC=n(7615),lI=n(700),lA=n(6816),lP=n(1168);function lO(e){return rV().createElement(lP.C,e)}var lR=n(3010),l$=n(6513),lT=n(6190);function lM(e,t,n=!1){if(null==e)return n?e:void 0;if("string"==typeof e&&!e)return n?null:void 0;if(e instanceof lR.ng||e instanceof lR._l||e instanceof lR.Ip)return t?(0,l$.yP)(e,t):e;{let n=au()(e).toDate(),o=new lR.ng(n.getFullYear(),n.getMonth()+1,n.getDate());return t?(0,l$.yP)(o,t):o}}function lL(e){if(e)return e.toDate((0,lT.Xj)())}var lD=n(9002);function lW(e){if("string"==typeof e&&0!==e.trim().length)try{return new Intl.Locale(e.replace(/[_@]/g,"-")).toString()}catch{return}}function lB(e){let t=e??"",n=lW(t);if(!n)return t;try{return new Intl.DisplayNames([n],{type:"language"}).of(n)??t}catch{return t}}function lU(){let e=window.i18next.language,t=lW(e)??e;return"ht"===t&&(t="fr-HT"),t}var lF=n(7883),lH=n(424),lV=n(1492),lG=n(8271);function lz(e,t){var n=function(e,t){if(!t.has(e))throw TypeError("attempted to get private field on non-instance");return t.get(e)}(e,t);return n.get?n.get.call(e):n.value}ac.extend(ad),ac.extend(lV),ac.extend(lH);let lq="YYYY-MM-DDTHH:mm:ss.SSSZZ";function lJ(e){return null!=e&&28===e.trim().length&&"T"===(e=e.trim())[10]&&":"===e[13]&&":"===e[16]&&"."===e[19]&&("+"===e[23]||"-"===e[23])&&ac(e,lq).isValid()}function lK(e){return ac(e).isToday()}function lX(e){return lJ(e)?ac(e,lq).toDate():null}function lY(e,t=!1){let n=ac(e);return t&&(n=n.utc()),n.format(lq)}function lZ(e){return ac(e).toDate()}var lQ=new WeakMap;let l0=new class{register(e,t){lz(this,lQ).set(e,t)}getCalendar(e){if(!e)return;if(e.calendar)return e.calendar;if(e.region){let t=`${e.language}-${e.region}`;if(lz(this,lQ).has(t))return lz(this,lQ).get(t)}if(e.language&&lz(this,lQ).has(e.language))return lz(this,lQ).get(e.language);let t=new Intl.DateTimeFormat(e.toString()).resolvedOptions().calendar;return lz(this,lQ).set(`${e.language}${e.region?`-${e.region}`:""}`,t),t}constructor(){!function(e,t,n){if(t.has(e))throw TypeError("Cannot initialize the same private elements twice on an object");t.set(e,n)}(this,lQ,{writable:!0,value:new Map})}};function l1(e,t){l0.register(e,t)}function l2(e){let t=e??lU();return l0.getCalendar(t instanceof Intl.Locale?t:new Intl.Locale(t))}let l5={mode:"standard",time:"for today",day:!0,month:!0,year:!0,noToday:!1};function l6(e,t={}){let n=lU(),o=(0,lF.CD)(e,n);if(o.invalid)return console.warn(`Could not parse invalid date '${e}'`),null;!(0,lG.A)(o.day)&&(0,lG.A)(o.month)&&(o=Object.assign({},(0,F.A)(o,"day"),{month:o.day})),o.month&&(o.month-=1),o.day&&(o=Object.assign({},(0,F.A)(o,"day"),{date:o.day}));let r=ac().set(o).toDate();return(0,lG.A)(o.year)&&(t.year=!1),(0,lG.A)(o.month)&&(t.month=!1),(0,lG.A)(o.date)&&(t.day=!1),l3(r,t)}function l3(e,t){let n,o=t?.locale??lU(),r=new Intl.Locale(o),{calendar:i,mode:a,time:s,day:l,month:c,year:u,noToday:d,numberingSystem:m}={...l5,...{noToday:"am"===r.language},...t},f={calendar:i??l2(r),year:u?"numeric":void 0,month:c?"short":void 0,day:l?"2-digit":void 0,numberingSystem:m},p=ac(e).isToday();if(p&&!d)n=(n=new Intl.RelativeTimeFormat(o,{numeric:"auto"}).format(0,"day"))[0].toLocaleUpperCase(o)+n.slice(1);else{"en"===r.language&&(o="en-GB");let t=new Intl.DateTimeFormat(o,f).formatToParts(e);("en"===r.language||"am"===r.language)&&"standard"==a&&u&&l&&(t=t.map(l8("-"))),"wide"==a&&(t=t.map(l8(" — "))),"ethiopic"===f.calendar&&(t=t.filter((e,t,n)=>"era"!==e.type&&("literal"!==e.type||!(t<n.length-1)||"era"!==n[t+1].type))),n=t.map(e=>e.value).join("")}return(!0===s||p&&"for today"===s)&&(n+=`, ${l4(e)}`),n}let l8=e=>(t,n,o)=>"literal"!==t.type||" "!==t.value||n<o.length-1&&"era"===o[n+1].type?t:{type:"literal",value:e};function l4(e){return e.toLocaleTimeString(lU(),{hour:"2-digit",minute:"2-digit"})}function l7(e,t){return l3(e,{...t,time:!0})}function l9(e,t){let n=l2("string"==typeof t?new Intl.Locale(t):t);return n?(0,l$.yP)(e,(0,lD.d)(n)):e}function ce(e,t){return new Intl.DurationFormat(lU(),t).format(e)}function ct(e,t){if(null==e)return null;if("string"==typeof e){let n=lU(),o=(0,lF.CD)(e,n);return o.invalid?(console.warn(`Could not interpret '${e}' as a date`),null):(o.day&&!o.month&&(o={...(0,F.A)(o,"day"),...{month:o.day}}),o.month&&(o.month-=1),o.day&&(o={...(0,F.A)(o,"day"),...{date:o.day}}),ac(t).set(o))}return ac(e)}let cn=["years","months","days","hours","minutes","seconds"],co={second:"seconds",minute:"minutes",hour:"hours",day:"days",month:"months",year:"years"},cr={seconds:45,minutes:45,hours:22,days:26,months:11,years:1/0};function ci(e,t=ac(),n){let o,r=ac(t),i=ct(e,r);if(null==i)return null;if("string"==typeof n){let e=co[n]??n;return{[e]:r.diff(i,e)}}let{thresholds:a,largestUnit:s,smallestUnit:l}=n??{};if(void 0!==s||void 0!==l){let e,t=l?co[l]??l:void 0;return e="auto"===s||void 0===s?function(e,t,n){let o=cn.indexOf(n);for(let r=0;r<cn.length;r++){let i=cn[r];if(t.diff(e,i)>0)return r<=o?i:n}return n}(i,r,t??"seconds"):co[s]??s,function(e,t,n,o){let r=cn.indexOf(n),i=cn.indexOf(o),a=cn.slice(r,i+1),s={},l=e;for(let e of a){let n=t.diff(l,e);s[e]=n,l=l.add(n,e)}return s}(i,r,e,t??e)}let c=(o=function(e){let t={...cr};if(e)for(let[n,o]of Object.entries(e))void 0!==o&&(t[co[n]??n]=o);return t}(a),r.diff(i,"seconds")<o.seconds?"seconds":r.diff(i,"minutes")<o.minutes?"minutes":r.diff(i,"hours")<o.hours?"hours":r.diff(i,"days")<o.days?"days":r.diff(i,"months")<o.months?"months":"years");return{[c]:r.diff(i,c)}}let ca={style:"short",localeMatcher:"lookup"};function cs(e,t=ac(),n){let o=ci(e,t,n);return null==o?null:ce(o,"object"==typeof n&&n.formatOptions?{...ca,...n.formatOptions}:ca)}let cl=(0,rH.createContext)(null);function cc(){let e=iP({externalModuleName:"@openmrs/esm-styleguide"}).preferredDateLocale,t=(0,rH.useMemo)(()=>{let t=lU();return e[t]&&(t=e[t]),t},[window.i18next.language]),n=(0,rH.useMemo)(()=>{let e=l2(t);return void 0!==e?(0,lD.d)(e):void 0},[t]),o=(0,rH.useMemo)(()=>new Intl.Locale(t,{calendar:n?.identifier}),[t,n]),r=(0,rH.useMemo)(()=>n?(0,l$.yP)((0,lT.Ec)((0,lT.Xj)()),n):(0,lT.Ec)((0,lT.Xj)()),[n]);return{calendar:n,intlLocale:o,today_:r}}let cu=new lR.ng(1793,1,1);var cd=n(5830),cm=n(6156),cf=n(4745),cp=n(1202);function cg(e,t){return Number.parseInt(l3(e,{calendar:t.calendar,locale:t.baseName,day:!1,month:!1,noToday:!0,numberingSystem:"latn"}))}let ch=(0,rH.forwardRef)(function(e,t){let{className:n}=e,o=(0,rH.useContext)(cd.f2),r=(0,rH.useContext)(cd._I),i=o??r,a=(0,rH.useContext)(cl),s=(0,lT.Xj)(),l=l3(i.visibleRange.start.toDate(s),{calendar:a.calendar,locale:a.baseName,day:!1,year:!1,noToday:!0}),c=cg(i.visibleRange.start.toDate(s),a),u=i.maxValue?cg(i.maxValue.toDate(s),a):void 0,d=i.minValue?cg(i.minValue.toDate(s),a):void 0,m=(0,rH.useCallback)(e=>{i.setFocusedDate(i.focusedDate.cycle("year",e-i.focusedDate.year))},[]);return i&&(0,aP.jsxs)("span",{ref:t,className:n,children:[(0,aP.jsx)("span",{children:l}),(0,aP.jsxs)(cf.oz,{formatOptions:{useGrouping:!1},maxValue:u,minValue:d,onChange:m,value:c,children:[(0,aP.jsx)(cp.p,{}),(0,aP.jsxs)(lC.Y,{children:[(0,aP.jsx)(lI.$,{slot:"increment",children:(0,aP.jsx)(se,{size:8})}),(0,aP.jsx)(lI.$,{slot:"decrement",children:(0,aP.jsx)(a4,{size:8})})]})]})]})});var cw=n(9588);let c_="-esm-devtools__datepicker-module__inputGroup___+4zks",cv="-esm-devtools__datepicker-module__inputSegment___wiExn",cy="-esm-devtools__datepicker-module__dateInputWrapper___uiyAC",cb="-esm-devtools__datepicker-module__invalidText___SxtTL",cx="-esm-devtools__datepicker-module__flatButton___UU1Qp",cS="-esm-devtools__datepicker-module__flatButtonMd___fhR-1",cj="-esm-devtools__datepicker-module__flatButtonSm___5INZ7",ck="-esm-devtools__datepicker-module__flatButtonLg___RFMrl";function cN({children:e}){let t=(0,rH.useContext)(lN.Pg),n=(0,rH.useContext)(lN.a8),o=t??n,r=i7(()=>o?.close());return(0,aP.jsx)(cw.lG,{className:"-esm-devtools__datepicker-module__dialog___qllIf",ref:r,children:e})}let cE=(0,rH.forwardRef)(function({variant:e,today_:t,minDate:n,maxDate:o},r){let i="range"===e,a=i?cd._e:cd.Vv;return(0,aP.jsx)(cm.A,{ref:r,className:"-esm-devtools__datepicker-module__popover___16UMX",placement:"bottom start",offset:1,isNonModal:!0,children:(0,aP.jsx)(cN,{children:(0,aP.jsxs)(a,{...i?{minValue:n,maxValue:o,className:"cds--date-picker__calendar"}:{},children:[(0,aP.jsxs)("header",{className:"-esm-devtools__datepicker-module__header___WAVlD",children:[(0,aP.jsx)(lI.$,{className:aR()(cx,cS),slot:"previous",children:(0,aP.jsx)(ss,{size:16})}),(0,aP.jsx)(ch,{className:"-esm-devtools__datepicker-module__monthYear___A3aKF"}),(0,aP.jsx)(lI.$,{className:aR()(cx,cS),slot:"next",children:(0,aP.jsx)(sl,{size:16})})]}),(0,aP.jsx)(cd.r8,{className:"-esm-devtools__datepicker-module__calendarGrid___6qRB2",children:e=>(0,aP.jsx)(cd.Zr,{className:aR()("cds--date-picker__day",{"-esm-devtools__datepicker-module__today___TZl6M":0===t.compare(e)}),date:e},e.toString())})]})})})});var cC=n(8017),cI=n(9774),cA=n(7956);let cP=(0,rH.forwardRef)(function(e,t){let n=(0,rH.useContext)(lN.Pg),[o,r]=(0,lk.JT)({slot:e.slot},t,cI.cQ),{locale:i}=(0,lP.Y)(),a=(0,cA.F)({...o,locale:i,createCalendar:lD.d}),s=(0,rH.useRef)(null),{fieldProps:l,inputProps:c}=(0,cC.cJ)({...o,inputRef:s},a,r),u=(0,rH.useCallback)(()=>{a.isDisabled||n.toggle()},[]);return(0,aP.jsxs)(lk.Kq,{values:[[cI.$,a],[cp.E,{...c,ref:s}],[lC.t,{...l,ref:r,isInvalid:a.isInvalid}]],children:[(0,aP.jsx)(lC.Y,{...e,id:e.id,ref:t,slot:e.slot||void 0,className:e.className,isDisabled:a.isDisabled,isInvalid:a.isInvalid,onClick:u,children:a.segments.map((t,n)=>(0,rH.cloneElement)(e.children(t),{key:n}))}),(0,aP.jsx)(cp.p,{})]})}),cO=(0,rH.forwardRef)(function(e,t){let n=(0,rH.useContext)(lN.Pg),o=(0,rH.useContext)(lN.a8);return(n??o).isInvalid?(0,aP.jsx)(lg,{ref:t,size:16,...e}):(0,aP.jsx)(a8,{ref:t,size:16,...e})});var cR=n(64),c$=n(5503),cT=n(1697),cM=n(7866),cL=n(8035),cD=n(2231);let cW=(0,rH.forwardRef)(function({segment:e,...t},n){let o=(0,rH.useContext)(cI.$),r=(0,cR.U)(n),{segmentProps:i}=(0,c$.V)(e,o,r),{focusProps:a,isFocused:s,isFocusVisible:l}=(0,cT.o)(),{hoverProps:c,isHovered:u}=(0,cM.M)({...t,isDisabled:o.isDisabled||"literal"===e.type}),d=function(e){let{className:t,style:n,children:o,defaultClassName:r,defaultChildren:i,defaultStyle:a,values:s}=e;return(0,rH.useMemo)(()=>{let e,l,c;return e="function"==typeof t?t({...s,defaultClassName:r}):t,l="function"==typeof n?n({...s,defaultStyle:a||{}}):n,c="function"==typeof o?o({...s,defaultChildren:i}):null==o?i:o,{className:e??r,style:l||a?{...a,...l}:void 0,children:c??i,"data-rac":""}},[t,n,o,r,i,a,s])}({...t,values:{...e,isReadOnly:!e.isEditable,isInvalid:o.isInvalid,isDisabled:o.isDisabled,isHovered:u,isFocused:s,isFocusVisible:l},defaultChildren:e.text}),m=(0,rH.useCallback)(e=>{e.stopPropagation()},[]);return(0,aP.jsx)("span",{...(0,cL.v)((0,cD.$)(t),i,a,c),...d,ref:r,style:i.style,"data-placeholder":e.isPlaceholder||void 0,"data-invalid":o.isInvalid||void 0,"data-readonly":!e.isEditable||void 0,"data-disabled":o.isDisabled||void 0,"data-type":e.type,"data-hovered":u||void 0,"data-focused":s||void 0,"data-focus-visible":l||void 0,onClick:m})}),cB={short:!1,size:"md"},cU=(0,rH.forwardRef)(function(e,t){let{className:n,defaultValue:o,isDisabled:r,invalid:i,invalidText:a,isInvalid:s,label:l,labelText:c,light:u,maxDate:d,minDate:m,onChange:f,onChangeRaw:p,short:g,size:h,value:w,..._}={...cB,...e},{calendar:v,intlLocale:y,today_:b}=cc(),x=(0,rH.useId)(),S=!!(c??l),j=(0,rH.useMemo)(()=>lM(o,v),[o,v]),k=(0,rH.useMemo)(()=>lM(w,v,!0),[w,v]),N=(0,rH.useMemo)(()=>lM(d,v),[d,v]),E=(0,rH.useMemo)(()=>lM(m??cu,v),[m,v]),C=(0,rH.useMemo)(()=>i||s,[i,s]),I=(0,rH.useMemo)(()=>(p&&f&&console.error("An OpenmrsDatePicker component was created with both onChange and onChangeRaw handlers defined. Only onChangeRaw will be used."),p??(e=>f?.(lL(e)))),[p,f]);return(0,aP.jsx)(lO,{locale:y.toString(),children:(0,aP.jsx)("div",{className:aR()("cds--form-item",n),children:(0,aP.jsx)(lk.Kq,{values:[[cl,y]],children:(0,aP.jsxs)(lN.lr,{className:aR()("cds--date-picker","cds--date-picker--single",{"cds--date-picker--short":g,"cds--date-picker--light":u}),defaultValue:j,isDisabled:r,isInvalid:C,maxValue:N,minValue:E,value:k,shouldForceLeadingZeros:"en"===y.language||void 0,..._,onChange:I,children:[(0,aP.jsxs)("div",{className:"cds--date-picker-container",children:[S&&(0,aP.jsx)(lE.J,{className:aR()("cds--label",{"cds--label--disabled":r}),htmlFor:x,children:c??l}),(0,aP.jsxs)(lC.Y,{className:c_,children:[(0,aP.jsx)(cP,{id:S?x:void 0,ref:t,className:aR()("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,aP.jsx)(cW,{className:cv,segment:e}):(0,aP.jsx)(rV().Fragment,{})}),(0,aP.jsx)(lI.$,{className:aR()(cx,{[cj]:"sm"===h,[cS]:"md"===h||!h||0===h.length,[ck]:"lg"===h}),children:(0,aP.jsx)(cO,{})})]}),(0,aP.jsx)(lA.b,{className:cb,children:a})]}),(0,aP.jsx)(cE,{variant:"single",today_:b})]})})})})}),cF=(0,rH.forwardRef)(function({className:e,defaultValue:t,invalid:n,invalidText:o,isDisabled:r,isInvalid:i,label:a,labelText:s,light:l,maxDate:c,minDate:u,onChange:d,onChangeRaw:m,size:f="md",value:p,...g},h){let{calendar:w,intlLocale:_,today_:v}=cc(),y=(0,rH.useId)(),b=!!(s??a),x=(0,rH.useMemo)(()=>{if(p)return{start:lM(p[0],w,!1),end:lM(p[1],w,!1)}},[p,w]),S=(0,rH.useMemo)(()=>{if(t)return{start:lM(t[0],w,!1),end:lM(t[1],w,!1)}},[t,w]),j=(0,rH.useMemo)(()=>lM(u??cu,w,!0),[u,w]),k=(0,rH.useMemo)(()=>lM(c,w,!0),[c,w]),N=(0,rH.useMemo)(()=>n||i,[n,i]),E=(0,rH.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?.([lL(e.start),lL(e.end)]))),[m,d]);return(0,aP.jsx)(lO,{locale:_.toString(),children:(0,aP.jsx)("div",{className:aR()("cds--form-item",e),children:(0,aP.jsx)(lk.Kq,{values:[[cl,_]],children:(0,aP.jsx)(lN.Ur,{id:b?y:void 0,className:aR()("cds--date-picker",{"cds--date-picker--light":l,"cds--date-picker--disabled":r}),isInvalid:N,shouldForceLeadingZeros:"en"===_.language||void 0,maxValue:k,minValue:j,value:x,defaultValue:S,ref:h,isDisabled:r,...g,onChange:E,children:(0,aP.jsxs)("div",{className:"cds--date-picker-container",children:[b&&(0,aP.jsx)(lE.J,{className:aR()("cds--label",{"cds--label--disabled":r}),htmlFor:y,children:s??a}),(0,aP.jsxs)(lC.Y,{className:c_,children:[(0,aP.jsxs)("div",{className:aR()("-esm-devtools__datepicker-module__inputsWrapper___YlkGh",{"-esm-devtools__datepicker-module__inputsWrapperSm___fAKhS":"sm"===f,"-esm-devtools__datepicker-module__inputsWrapperMd___XVgGP":"md"===f||!f||0===f.length,"-esm-devtools__datepicker-module__inputsWrapperLg___UgHJ1":"lg"===f}),children:[(0,aP.jsx)(cI.J3,{className:aR()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__startInput___qgbQm",cy),slot:"start",children:e=>(0,aP.jsx)(cW,{className:cv,segment:e})}),(0,aP.jsx)("div",{className:"-esm-devtools__datepicker-module__separator___79vXZ",children:(0,aP.jsx)("span",{"aria-hidden":"true","data-readonly":!0,children:"–"})}),(0,aP.jsx)(cI.J3,{className:aR()("cds--date-picker-input__wrapper","-esm-devtools__datepicker-module__endInput___huv7x",cy),slot:"end",children:e=>(0,aP.jsx)(cW,{className:cv,segment:e})})]}),(0,aP.jsx)(lI.$,{className:aR()(cx,{[cj]:"sm"===f,[cS]:"md"===f||!f||0===f.length,[ck]:"lg"===f}),children:(0,aP.jsx)(cO,{})})]}),(0,aP.jsx)(lA.b,{className:cb,children:o}),(0,aP.jsx)(cE,{variant:"range",today_:v,minDate:j,maxDate:k})]})})})})})}),cH=({diagnoses:e})=>{let{diagnosisTags:t}=iP({externalModuleName:"@openmrs/esm-styleguide"});return(0,aP.jsx)("div",{className:"-esm-devtools__diagnosis-tags-module__container___8kut8",children:e.map(e=>{let{rank:n,uuid:o,display:r}=e,i=t[1===n?"primaryColor":"secondaryColor"];return(0,aP.jsx)(aD.Tag,{type:i,children:r},o)})})},cV={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"},cG=({width:e="64",height:t="64"})=>(0,aP.jsx)("svg",{width:e,height:t,viewBox:"0 0 64 64",children:(0,aP.jsx)("use",{href:"#omrs-empty-data-illustration"})}),cz=e=>{let t="tablet"===i2(),n=e.launchForm;return(0,aP.jsx)(aD.Layer,{className:cV.layer,children:(0,aP.jsxs)(aD.Tile,{className:cV.tile,children:[(0,aP.jsx)("div",{className:t?cV.tabletHeading:cV.desktopHeading,children:(0,aP.jsx)("h4",{children:e.headerTitle})}),(0,aP.jsx)(cG,{}),(0,aP.jsx)("p",{className:cV.content,children:tf("emptyStateText","There are no {{displayText}} to display",{displayText:e.displayText})}),(0,aP.jsx)("p",{className:cV.action,children:n&&(0,aP.jsx)(aD.Button,{onClick:()=>n(),kind:"ghost",size:t?"lg":"sm",children:tf("recordNewEntry","Record {{ displayText }}",{displayText:e.displayText})})})]})})},cq=({error:e,headerTitle:t})=>{let n="tablet"===i2();return(0,aP.jsx)(aD.Layer,{children:(0,aP.jsxs)(aD.Tile,{className:"-esm-devtools__error-state-module__tile___dd418",children:[(0,aP.jsx)("div",{className:n?"-esm-devtools__error-state-module__tabletHeading___g5rjg":"-esm-devtools__error-state-module__desktopHeading___Nd9u2",children:(0,aP.jsx)("h4",{children:t})}),(0,aP.jsxs)("p",{className:"-esm-devtools__error-state-module__errorMessage___z2RiN",children:[tf("error","Error")," ",`${e?.response?.status}: `,e?.response?.statusText]}),(0,aP.jsx)("p",{className:"-esm-devtools__error-state-module__errorCopy___dq+e2",children:tf("errorCopy")})]})})},cJ=cq,cK=rV().forwardRef((e,t)=>{let{slotName:n,basePath:o,componentContext:r,state:i}=i3(),a=window.location??{pathname:""},s=r6(n??"");return e.isChildOfHeader&&n&&s.length>0?(0,aP.jsxs)(aD.SideNav,{"aria-label":tf("leftNavigation","Left navigation"),className:"-esm-devtools__left-nav-module__leftNav___jzTJK",expanded:!0,isFixedNav:!0,ref:t,...e,children:[(0,aP.jsx)(r4,{name:"global-nav-menu-slot"}),n?(0,aP.jsx)(ib,{value:r,fallback:(0,aP.jsx)(r4,{name:n,state:{basePath:o,currentPath:a,...i}}),children:(0,aP.jsx)(rG.Provider,{value:r,children:(0,aP.jsx)(r4,{name:n,state:{basePath:o,currentPath:a,...i}})})}):null]}):null}),cX=({selectedLocationUuid:e,defaultLocationUuid:t,locationTag:n,locationsPerRequest:o=50,onChange:r})=>{let[i,a]=(0,rH.useState)(""),s=(0,rH.useId)(),{location:l}=function(e){let t=e?`/ws/fhir2/R4/Location?_id=${e}`:null,{data:n,error:o,isLoading:r}=(0,i$.A)(t,tA,{shouldRetryOnError:e=>!!e?.response?.status&&e.response.status>=500});return(0,rH.useMemo)(()=>({location:n?.data?.entry?n.data.entry[0]:null,error:t?o:null,isLoading:!!t&&r}),[n,r,o,t])}(t),{locations:c,isLoading:u,hasMore:d,loadingNewData:m,error:f,setPage:p}=function(e,t=0,n=""){let o=iR(n),{data:r,isLoading:i,isValidating:a,setSize:s,error:l}=(0,iJ.Ay)(function(n,r){if(r){let e=r.data?.link?.find(e=>"next"===e.relation);if(!e)return null;let t=new URL(e.url);return t.origin===window.location.origin?e.url:new URL(`${t.pathname}${t.search?`?${t.search}`:""}`,window.location.origin).toString()}let i=`${tE}/Location?`,a=new URLSearchParams;return a.append("_summary","data"),t&&a.append("_count",""+t),n&&a.append("_getpagesoffset",""+n*t),e&&a.append("_tag",e),"string"==typeof o&&""!==o&&a.append("name:contains",o),i+a.toString()},tA);return(0,rH.useMemo)(()=>({locations:r?.length?r?.flatMap(e=>e?.data?.entry??[]):[],isLoading:i,totalResults:r?.[0]?.data?.total,hasMore:!!r?.length&&r?.[r.length-1]?.data?.link?.some(e=>"next"===e.relation),loadingNewData:a,error:l||null,setPage:s}),[i,r,a,s,l])}(n,o,i),g=(0,rH.useMemo)(()=>l&&!i&&t?[l,...c.filter(({resource:e})=>e.id!==t)]:c??[],[l,c,t,i]),h=(0,rH.useCallback)(e=>{r(),a(e.trim())},[r]),w=i9((0,rH.useCallback)(()=>{!m&&d&&p(e=>e+1)},[m,d,p])),_=d?Math.max(0,Math.floor(g.length-o/2)):-1;return(0,aP.jsxs)(aP.Fragment,{children:[(0,aP.jsx)(aD.Search,{"aria-describedby":f?`${s}-error`:void 0,labelText:tf("searchForLocation"),id:s,placeholder:tf("searchForLocation"),onChange:e=>h(e.target.value),size:"lg"}),f&&(0,aP.jsx)("div",{className:"-esm-devtools__location-picker-module__errorNotification___vWBFD",id:`${s}-error`,children:(0,aP.jsx)(aD.InlineNotification,{kind:"error",subtitle:tf("errorLoadingLoginLocations","Unable to load login locations. Please try again or contact support if the problem persists."),title:tf("error","Error")})}),(0,aP.jsx)("div",{className:"-esm-devtools__location-picker-module__searchResults___Gbet+",children:u?(0,aP.jsx)("div",{className:"-esm-devtools__location-picker-module__loadingContainer___QO-zj",children:Array.from({length:5}).map((e,t)=>(0,aP.jsx)(aD.RadioButtonSkeleton,{className:"-esm-devtools__location-picker-module__radioButtonSkeleton___otoCy",role:"progressbar"},t))}):(0,aP.jsxs)(aP.Fragment,{children:[(0,aP.jsx)("div",{className:"-esm-devtools__location-picker-module__locationResultsContainer___6Pasf",children:g.length>0?(0,aP.jsx)(aD.RadioButtonGroup,{name:"loginLocations",onChange:e=>{r(e?.toString())},orientation:"vertical",valueSelected:e,children:g.map((e,t)=>(0,aP.jsx)(aD.RadioButton,{className:"-esm-devtools__location-picker-module__locationRadioButton___rTDPj",id:e.resource.id,labelText:(0,aP.jsx)("span",{ref:t===_?w:null,children:e.resource.name}),name:e.resource.name,value:e.resource.id},e.resource.id))}):(0,aP.jsx)("div",{className:"-esm-devtools__location-picker-module__emptyState___w4-Ca",children:(0,aP.jsx)("p",{className:"-esm-devtools__location-picker-module__locationNotFound___Of2MJ",children:tf("noResultsToDisplay")})})}),m&&(0,aP.jsx)("div",{className:"-esm-devtools__location-picker-module__loadingIcon___NAwSB",children:(0,aP.jsx)(aD.InlineLoading,{description:tf("loading")})})]})})]})},cY=R("modalState",{modalContainer:null,modalStack:[]}),cZ=0;async function cQ(e,t,n={}){let o=rE(t),r=null;if(e){if(!o)throw Error(`No modal named '${t}' has been registered.`);let{load:i}=o,a=await i(),s=cZ++;r=await rW({...a,name:`${t}-${s}`},{...n,domElement:e})}else v(`Failed to launch modal. Please notify your administrator. Modal name: ${t}`);return r}function c0(e){return"TO_BE_DELETED"===e.state||"DELETED"===e.state}function c1(e,t){t?.unmount&&(t.unmountPromise?.catch(()=>{}),t.unmount().catch(t=>{console.error(`The modal '${e}' failed to unmount`,t)}))}function c2(e){return e.find(e=>!c0(e))}function c5(e,t){e.container&&(e.container.style.visibility=t?"unset":"hidden")}let c6=window.getComputedStyle(document.body).overflow;function c3({modalStack:e,modalContainer:t}){if(t)if(e.length){t.style.visibility||(addEventListener("keydown",c4),document.body.style.overflow="hidden",t.style.visibility="unset");let n=c2(e);e.forEach(e=>{switch(e.state){case"NEW":{let n=function({size:e}){let t=document.createElement("div");return t.className=`cds--modal-container cds--modal-container--${e}`,t.setAttribute("role","dialog"),t.setAttribute("tabindex","-1"),t.setAttribute("aria-modal","true"),t}({size:e.props?.size??"md"});e.container=n,e.state="MOUNTING",cQ(n,e.modalName,e.props).then(o=>{c0(e)?c1(e.modalName,o):o?(e.parcel=o,t.prepend(n),c5(e,c2(cY.getState().modalStack)===e),o.mountPromise.then(()=>{c0(e)||(e.state="MOUNTED")},t=>{v(t),e.parcel=null,c8(e)})):c8(e)},t=>{v(t),c8(e)});break}case"MOUNTING":case"MOUNTED":c5(e,e===n);break;case"TO_BE_DELETED":e.state="DELETED",e.onClose(),c1(e.modalName,e.parcel),e.container?.remove(),setTimeout(()=>{let t=cY.getState();cY.setState({...t,modalStack:t.modalStack.filter(t=>t!==e)})},0)}})}else t.style.removeProperty("visibility"),document.body.style.overflow=c6,removeEventListener("keydown",c4)}function c8(e){if(c0(e))return;e.state="TO_BE_DELETED";let t=cY.getState();cY.setState({...t,modalStack:[...t.modalStack]})}function c4(e){"Escape"===e.key&&function(){let[e]=cY.getState().modalStack;e&&c8(e)}()}function c7(e){cY.subscribe(c3),cY.setState({...cY.getState(),modalContainer:e})}function c9(e,t={},n=()=>{}){let o=()=>{let e=cY.getState().modalStack.find(e=>e.onClose===n);e&&c8(e)};if(rE(e)){var r;let i,a;r={state:"NEW",onClose:n,modalName:e,props:{close:o,...t}},a=[r,...(i=cY.getState()).modalStack],cY.setState({...i,modalStack:a})}else v(`Failed to launch modal. Please notify your administrator. Modal name: "${e}"`);return o}var ue=n(9685);let ut=({notification:e})=>{let{description:t,action:n,kind:o,critical:r,title:i,onAction:a}=e;return(0,aP.jsx)(aD.ActionableNotification,{actionButtonLabel:n,kind:o||"info",lowContrast:r,subtitle:t,title:i||"",inline:!0,onActionButtonClick:a})},un=({subject:e})=>{let[t,n]=(0,rH.useState)([]);return(0,rH.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.description!==e.description||t.action!==e.action||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,aP.jsx)(aP.Fragment,{children:t.map(e=>(0,aP.jsx)(ut,{notification:e},e.id))})},uo=({notification:e})=>{let{actionButtonLabel:t,onActionButtonClick:n=()=>{},subtitle:o,kind:r,title:i,critical:a,progressActionLabel:s,id:l,...c}=e,[u,d]=(0,rH.useState)(t);return(0,aP.jsx)(aD.ActionableNotification,{kind:r||"info",actionButtonLabel:u,ariaLabel:tf("closesActionableNotification","Closes actionable notification"),onActionButtonClick:()=>{n(),s&&d(s)},statusIconDescription:tf("actionableNotification","Actionable notification"),subtitle:o,title:i,lowContrast:a,inline:!0,...c})},ur=({subject:e})=>{let[t,n]=(0,rH.useState)([]);return(0,rH.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.subtitle!==e.subtitle||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,aP.jsx)(aP.Fragment,{children:t.map(e=>(0,aP.jsx)(uo,{notification:e},e.id))})};class ui{subscribe(e){return this.listeners.add(e),{unsubscribe:()=>{this.listeners.delete(e)}}}next(e){for(let t of[...this.listeners])t(e)}constructor(){!function(e,t,n){t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n}(this,"listeners",new Set)}}let ua=new ui,us=0,ul=new ui,uc=0;function uu(e){e&&(0,r7.createRoot)(e).render((0,aP.jsx)(un,{subject:ua}))}function ud(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&(t instanceof Error||!(0,ue.A)(t)))?(e.description instanceof Error&&(e.description=e.description.toLocaleString()),setTimeout(()=>{ua.next({...e,id:us++})},0)):console.error("showNotification must be called with an object having a 'description' property that is a non-empty string or object")}function um(e){e&&(0,r7.createRoot)(e).render((0,aP.jsx)(ur,{subject:ul}))}function uf(e){var t;e&&("string"==typeof(t=e.actionButtonLabel)?t.trim().length>0:"object"==typeof t&&!(0,ue.A)(t))?setTimeout(()=>{ul.next({...e,id:uc++})},0):console.error("showActionableNotification must be called with an actionButtonLabel that is a non-empty string")}let up=["NORMAL","HIGH","CRITICALLY_HIGH","OFF_SCALE_HIGH","LOW","CRITICALLY_LOW","OFF_SCALE_LOW"],ug=["critically_low","critically_high","high","low","normal","off_scale_low","off_scale_high"],uh={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"},uw=({value:e,unit:t,label:n,interpretation:o,referenceRange:r,conceptUuid:i,variant:a="card",patientUuid:s})=>{let l=(0,rH.useId)(),{referenceRange:c,isLoading:u}=function(e,t){let n=null;e&&(n=t?`${tN}/conceptreferencerange/?patient=${t}&concept=${e}&v=full`:`${tN}/conceptreferencerange/?concept=${e}&v=full`);let{data:o,error:r,isLoading:i}=(0,i$.A)(n,tA),a=o?.data?.results?.[0];return{referenceRange:a?{hiNormal:a.hiNormal??null,hiAbsolute:a.hiAbsolute??null,hiCritical:a.hiCritical??null,lowNormal:a.lowNormal??null,lowAbsolute:a.lowAbsolute??null,lowCritical:a.lowCritical??null}:void 0,error:r,isLoading:i}}(r||o?void 0:i,s),d=r??c,m=(0,rH.useMemo)(()=>{if(o)return o?"--"===o?"normal":up.includes(o)?o.toLowerCase():ug.includes(o)?o:"normal":void 0;if(d&&!u){if(!d||null==e||""===e)return"normal";let t="string"==typeof e?Number.parseFloat(e):e;return Number.isNaN(t)?"normal":null!==d.hiAbsolute&&void 0!==d.hiAbsolute&&t>d.hiAbsolute?"off_scale_high":null!==d.hiCritical&&void 0!==d.hiCritical&&t>=d.hiCritical?"critically_high":null!==d.hiNormal&&void 0!==d.hiNormal&&t>d.hiNormal?"high":null!==d.lowAbsolute&&void 0!==d.lowAbsolute&&t<d.lowAbsolute?"off_scale_low":null!==d.lowCritical&&void 0!==d.lowCritical&&t<=d.lowCritical?"critically_low":null!==d.lowNormal&&void 0!==d.lowNormal&&t<d.lowNormal?"low":"normal"}return"normal"},[o,d,e,u])??"normal",f="critically_low"===m||"critically_high"===m||"off_scale_low"===m||"off_scale_high"===m,p="normal"!==m,g=n?`omrs-numeric-obs-label-${n.replaceAll(/\s+/g,"-").toLowerCase()}-${l}`:void 0,h=`omrs-numeric-obs-value-${l}`,w=`omrs-numeric-obs-unit-${l}`,_=null!=e&&""!==e,v=_?e:tf("notAvailable","Not available"),y=aR()({[uh["critically-low"]]:"critically_low"===m||"off_scale_low"===m,[uh["critically-high"]]:"critically_high"===m||"off_scale_high"===m,[uh.low]:"low"===m,[uh.high]:"high"===m,[uh["off-scale-low"]]:"off_scale_low"===m,[uh["off-scale-high"]]:"off_scale_high"===m}),b=aR()({[uh.container]:!0,[uh.card]:!0,[uh["critical-value"]]:f,[uh["abnormal-value"]]:p&&!f}),x=aR()({[uh.cell]:!0,[y]:!0});return"cell"===a?(0,aP.jsxs)("div",{className:x,children:[v,_&&t?` ${t}`:""]}):(0,aP.jsxs)("section",{className:b,"data-testid":"numeric-observation-card",children:[n&&(0,aP.jsxs)("div",{className:uh["label-container"],children:[(0,aP.jsx)("span",{id:g,className:uh.label,children:n}),p&&(0,aP.jsx)("span",{className:uh[m.replace("_","-")],title:tf("abnormalValue","Abnormal value")})]}),(0,aP.jsxs)("div",{className:uh["value-container"],children:[(0,aP.jsx)("span",{id:h,"aria-labelledby":g&&w?`${g} ${w}`:g||w||void 0,className:uh.value,children:v}),_&&t&&(0,aP.jsx)("span",{id:w,className:uh.units,children:t})]})]})},u_="-esm-devtools__page-header-module__pageHeader___YOpQL",uv=e=>{if("children"in e){let{children:t,className:n,...o}=e;return(0,aP.jsx)("div",{className:aR()(u_,n),...o,children:t})}{let{title:t,illustration:n,className:o,...r}=e;return(0,aP.jsx)("div",{className:aR()(u_,o),...r,children:(0,aP.jsx)(uy,{title:t,illustration:n})})}},uy=({title:e,illustration:t,className:n})=>{let[o,r]=(0,rH.useState)(null);return(0,rH.useEffect)(()=>{eM("@openmrs/esm-styleguide").then(e=>{r(e)})},[]),(0,aP.jsxs)("div",{className:aR()("-esm-devtools__page-header-module__pageHeaderContent___PjsJm",n),children:[t,(0,aP.jsxs)("div",{className:"-esm-devtools__page-header-module__pageLabels___pPcKj",children:[o?.implementationName&&(0,aP.jsx)("p",{children:tf(o.implementationName)}),(0,aP.jsx)("p",{className:"-esm-devtools__page-header-module__pageName___3d4IC",children:e})]})]})},ub=({totalItems:e,pageSize:t,onPageNumberChange:n,pageNumber:o,dashboardLinkUrl:r,currentItems:i,dashboardLinkLabel:a})=>{let{pageSizes:s,pageItemsCount:l}=an(t,e,o,i),c="tablet"===i2(),u=tf("paginationItemsCount","{{pageItemsCount}} / {{totalItems}} items",{totalItems:e,pageItemsCount:l});return(0,aP.jsx)(aP.Fragment,{children:e>0&&(0,aP.jsxs)("div",{className:aR()({"-esm-devtools__pagination-module__tablet___lQ3ak":c,"-esm-devtools__pagination-module__desktop___HfUTY":!c}),children:[(0,aP.jsxs)("div",{children:[u,r&&(0,aP.jsx)(rz,{to:r,className:"-esm-devtools__pagination-module__configurableLink___NM9v7",children:a??tf("seeAll","See all")})]}),(0,aP.jsx)(aD.Pagination,{className:"-esm-devtools__pagination-module__pagination___WzkBs",page:o,pageSize:t,pageSizes:s,totalItems:e,onChange:n,pageRangeText:(e,t)=>tf("paginationOfPages","of {{count}} pages",{count:t}),size:c?"lg":"sm"})]})})};function ux(e){return uj(uN(e,"usual","official"))}function uS(e){return ux(e)}function uj(e){var t;let n;return e?e.text??(n=(t=e).given??[],(t.family?n.concat(t.family):n).join(" ")):""}function uk(e){return uj(e)}function uN(e,...t){for(let n of(0==t.length&&(t=["usual"]),t)){let t=e.name?.find(e=>{var t,o;return t=e,o=n,t.use?t.use===o:"usual"===o});if(t)return t}}function uE(e,t=ac()){let n=ac(t),o=ct(e,n);if(null==o)return null;let r=n.diff(o,"hours"),i=n.diff(o,"days"),a=n.diff(o,"weeks"),s=n.diff(o,"months"),l=n.diff(o,"years"),c={};if(r<2)c.minutes=n.diff(o,"minutes");else if(i<2)c.hours=r;else if(a<4)c.days=i;else if(l<1){let e=n.subtract(a,"weeks").diff(o,"days");c.weeks=a,c.days=e}else if(l<2){let e=n.subtract(s,"months").diff(o,"days");c.months=s,c.days=e}else if(l<18){let e=n.subtract(l,"year").diff(o,"months");c.years=l,c.months=e}else c.years=l;return c}function uC(e,t=ac()){let n=uE(e,t);if(null==n)return null;let o={style:"short",localeMatcher:"lookup"};return"minutes"in n&&0===n.minutes&&(o.minutesDisplay="always"),ce(n,o)}let uI={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 uA({showIdentifierLabel:e,type:t,value:n}){return(0,aP.jsx)("span",{className:uI.primaryIdentifier,children:(0,aP.jsxs)(aD.Tag,{className:uI.tag,type:"gray",children:[e&&t?.text&&(0,aP.jsxs)("span",{className:uI.label,children:[t.text,": "]}),(0,aP.jsx)("span",{className:uI.value,children:n})]})})}function uP({showIdentifierLabel:e,type:t,value:n}){return(0,aP.jsxs)(aD.FormLabel,{className:uI.secondaryIdentifier,id:`patient-banner-identifier-${n}`,children:[e&&(0,aP.jsxs)("span",{className:uI.label,children:[t?.text,": "]}),(0,aP.jsx)("span",{className:uI.value,children:n})]})}function uO({identifiers:e,showIdentifierLabel:t}){let{excludePatientIdentifierCodeTypes:n}=iP(),{primaryIdentifierCode:o}=ai(),r=e?.filter(e=>{let t=e.type?.coding?.[0]?.code;return t&&!n?.uuids.includes(t)})??[];return(0,aP.jsx)(aP.Fragment,{children:r?.length?r.map(({value:e,type:n},i)=>(0,aP.jsxs)(rV().Fragment,{children:[(0,aP.jsx)("span",{className:uI.identifier,children:n?.coding?.[0]?.code===o?(0,aP.jsx)(uA,{showIdentifierLabel:t,type:n,value:e}):(0,aP.jsx)(uP,{showIdentifierLabel:t,type:n,value:e})}),i<r.length-1&&(0,aP.jsx)("span",{className:uI.separator,children:"\xb7"})]},e)):""})}let uR={Female:sy,Male:sb,Other:sx,Unknown:sS},u$=({gender:e})=>{let t=uR[e];return t?(0,aP.jsx)(t,{fill:"#525252"}):null},uT={male:"Male",female:"Female",other:"Other",unknown:"Unknown"};function uM({patient:e,renderedFrom:t}){var n;let o,r,i=ux(e),a=e?.gender&&(r=uT[o=(n=e.gender).toLowerCase()]??"Unknown",{displayText:tf(o,n),iconKey:r}),s=(0,rH.useMemo)(()=>({patientUuid:e.id,patient:e,renderedFrom:t}),[e.id,e,t]);return(0,aP.jsxs)("div",{className:uI.patientInfo,children:[(0,aP.jsx)("div",{className:aR()(uI.row,uI.patientNameRow),children:(0,aP.jsxs)("div",{className:uI.flexRow,children:[(0,aP.jsx)("span",{className:uI.patientName,children:i}),a&&(0,aP.jsxs)("div",{className:uI.gender,children:[(0,aP.jsx)(u$,{gender:a.iconKey}),(0,aP.jsx)("span",{children:a.displayText})]}),(0,aP.jsx)(r4,{className:uI.tagsSlot,name:"patient-banner-tags-slot",state:s})]})}),(0,aP.jsxs)("div",{className:uI.demographics,children:[e.birthDate&&(0,aP.jsxs)(aP.Fragment,{children:[(0,aP.jsx)("span",{children:uC(e.birthDate)}),(0,aP.jsx)("span",{className:uI.separator,children:"\xb7"}),(0,aP.jsx)("span",{children:l6(e.birthDate,{time:!1})}),(0,aP.jsx)("span",{className:uI.separator,children:"\xb7"})]}),(0,aP.jsx)(uO,{identifiers:e.identifier,showIdentifierLabel:!0}),(0,aP.jsx)(r4,{className:uI.extensionSlot,name:"patient-banner-bottom-slot",state:s})]})]})}var uL=n(7683);function uD({patient:e,patientUuid:t,actionsSlotName:n,additionalActionsSlotState:o}){let[r,i]=(0,rH.useState)(!1),{extensions:a}=r3(n),s="tablet"===i2(),l=i7(()=>i(!1),r),c=(0,rH.useRef)(null),u=(0,rH.useRef)(null),d=(0,rH.useId)(),m=`patient-actions-menu-trigger-${d}`,f=`patient-actions-menu-${d}`,p=(0,rH.useCallback)(()=>i(e=>!e),[]),g=(0,rH.useCallback)(()=>{i(!1),c.current?.focus()},[]),h=(0,rH.useCallback)(e=>{if("Escape"===e.key&&r){e.stopPropagation(),g();return}if(("ArrowDown"===e.key||"ArrowUp"===e.key)&&r){e.preventDefault();let t=u.current?.querySelectorAll('[role="menuitem"]:not([disabled])');if(!t?.length)return;let n=document.activeElement?.closest?.('[role="menuitem"]')??document.activeElement,o=Array.from(t).indexOf(n);if(-1===o)return void t["ArrowDown"===e.key?0:t.length-1]?.focus();let r=o+("ArrowDown"===e.key?1:-1),i=r<0?t.length-1:r>=t.length?0:r;t[i]?.focus()}},[g,r]);(0,rH.useEffect)(()=>{if(r&&u.current){let e=u.current.querySelector('[role="menuitem"]:not([disabled])');e?.focus()}},[r]);let w=(0,rH.useMemo)(()=>({patientUuid:t,patient:e,closeMenu:g,...o}),[t,e,g,o]);return 0===a.length?null:(0,aP.jsx)("div",{className:"-esm-devtools__patient-banner-actions-menu-module__overflowMenuContainer___lXHHD",children:(0,aP.jsxs)("div",{"data-overflow-menu":!0,className:aR()("cds--overflow-menu",aU),ref:l,children:[(0,aP.jsxs)("button",{className:aR()("cds--btn","cds--btn--ghost","cds--overflow-menu__trigger",{"cds--overflow-menu--open":r},aV),"aria-controls":f,"aria-expanded":r,"aria-haspopup":"true",id:m,onClick:p,onKeyDown:h,ref:c,children:[(0,aP.jsx)("span",{className:"-esm-devtools__patient-banner-actions-menu-module__actionsButtonText___SdOyM",children:tf("actions","Actions")})," ",(0,aP.jsx)(uL.CH,{size:16,style:{marginLeft:"0.5rem",fill:"#78A9FF"}})]}),(0,aP.jsxs)("div",{className:aR()("cds--overflow-menu-options","cds--overflow-menu--flip",aF,{[aH]:r}),"aria-labelledby":m,"data-floating-menu-direction":"bottom",id:f,onKeyDown:h,ref:u,role:"menu",tabIndex:-1,children:[(0,aP.jsx)("ul",{className:aR()("cds--overflow-menu-options__content",{"cds--overflow-menu-options--lg":s}),children:(0,aP.jsx)(r4,{name:n,state:w},n)}),(0,aP.jsx)("span",{})]})]})})}var uW=n(397),uB=n.n(uW);function uU(e){let{patientPhotoConceptUuid:t}=iP({externalModuleName:"@openmrs/esm-styleguide"}),n=t?`${tN}/obs?patient=${e}&concept=${t}&v=full`:null,{data:o,error:r,isLoading:i}=(0,it.u)(e?n:null,tA),a=o?.data?.results[0];return{data:a?{dateTime:a?.obsDatetime,imageSrc:a?.value?.links?.uri}:null,error:r,isLoading:i}}let uF=({width:e=56,height:t=56,"aria-label":n})=>{let{t:o}=(0,ie.useTranslation)();return(0,aP.jsxs)("svg",{"aria-label":n??o("patientPhotoPlaceholder","Patient photo placeholder"),width:e,height:t,fill:"none",xmlns:"http://www.w3.org/2000/svg",children:[(0,aP.jsx)("path",{fill:"#ffffff",d:"M0 0h56v56H0z"}),(0,aP.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"})]})},uH="-esm-devtools__patient-photo-module__avatar___t5TmZ";function uV({patientUuid:e,patientName:t,alt:n}){let{data:o,isLoading:r}=uU(e),[i,a]=(0,rH.useState)(null),[s,l]=(0,rH.useState)(!1),c=(0,rH.useMemo)(()=>uB().generate(e),[e]);(0,rH.useEffect)(()=>{if(o?.imageSrc){let e=new URL(o.imageSrc,window.location.origin).pathname;l(!0);let t=!1,n=new Image;return n.onload=()=>{t||(a(e),l(!1))},n.onerror=()=>{t||(a(null),l(!1))},n.src=e,()=>{t=!0}}a(null),l(!1)},[o?.imageSrc]);let u=(0,rH.useMemo)(()=>n||(i?tf("patientPhotoAlt","Profile photo of {{patientName}}",{patientName:t}):tf("patientAvatarAlt","Avatar for {{patientName}}",{patientName:t})),[n,i,t]);return r||s?(0,aP.jsx)(aD.SkeletonIcon,{className:"-esm-devtools__patient-photo-module__skeleton___ueN8Q","data-testid":"skeleton-icon"}):o?.imageSrc&&!i?(0,aP.jsx)(uF,{"aria-label":tf("patientPhotoPlaceholder","Photo placeholder for {{patientName}}",{patientName:t})}):i?(0,aP.jsx)("div",{"aria-label":u,children:(0,aP.jsx)("img",{className:uH,src:i,alt:u,title:t})}):(0,aP.jsx)("div",{"aria-label":u,children:(0,aP.jsx)("div",{className:uH,title:t,style:{backgroundImage:c.toDataUrl(),backgroundRepeat:"no-repeat",backgroundSize:"cover"},children:(0,aP.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 uG=["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-documents","omrs-pict-patient-search","omrs-pict-patients","omrs-pict-payments-desk","omrs-pict-pharmacy","omrs-pict-pharmacy-2","omrs-pict-registration","omrs-pict-service-queues","omrs-pict-stock-management","omrs-pict-transfer","omrs-pict-triage","omrs-pict-x-ray"],uz=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-appointments",pictogramProps:e})})),uq=uz,uJ=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-assessment-1",pictogramProps:e})})),uK=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-assessment-2",pictogramProps:e})})),uX=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-blood-bank",pictogramProps:e})})),uY=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-cardiology",pictogramProps:e})})),uZ=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-ct-scan",pictogramProps:e})})),uQ=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-dentistry",pictogramProps:e})})),u0=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-digital-trust",pictogramProps:e})})),u1=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-emergency-department",pictogramProps:e})})),u2=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-facility",pictogramProps:e})})),u5=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-geriatrics",pictogramProps:e})})),u6=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-gynaecology",pictogramProps:e})})),u3=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-in-patient",pictogramProps:e})})),u8=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-laboratory",pictogramProps:e})})),u4=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-labs-2",pictogramProps:e})})),u7=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-metadata-export",pictogramProps:e})})),u9=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-obstetrics",pictogramProps:e})})),de=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-patient-documents",pictogramProps:e})})),dt=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-patient-search",pictogramProps:e})})),dn=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-patients",pictogramProps:e})})),dr=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-payments-desk",pictogramProps:e})})),di=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-pharmacy",pictogramProps:e})})),da=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-pharmacy-2",pictogramProps:e})})),ds=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-registration",pictogramProps:e})})),dl=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-service-queues",pictogramProps:e})})),dc=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-stock-management",pictogramProps:e})})),du=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-transfer",pictogramProps:e})})),dd=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-triage",pictogramProps:e})})),dm=(0,rH.memo)((0,rH.forwardRef)(function(e,t){return(0,aP.jsx)(dh,{ref:t,pictogram:"omrs-pict-x-ray",pictogramProps:e})})),df=u2,dp=dn,dg=(0,rH.memo)((0,rH.forwardRef)(function({pictogram:e,fallback:t,...n},o){let r=(0,rH.useRef)(document.getElementById(e));return(0,rH.useEffect)(()=>{let t=document.getElementById("omrs-svgs-container"),n=new MutationObserver(t=>{for(let n of t)"childList"===n.type&&(r.current=document.getElementById(e))});return t&&n.observe(t,{childList:!0}),()=>n.disconnect()},[e]),(0,aP.jsx)(ib,{value:r.current,fallback:t,children:(0,aP.jsx)(dh,{ref:o,pictogram:e,pictogramProps:n})})})),dh=(0,rH.memo)((0,rH.forwardRef)(function({pictogram:e,pictogramProps:t},n){let{className:o,size:r}=Object.assign({},{size:92},t);return(r<=26||r>144)&&(console.error(`Invalid size '${r}' specified for ${e}. Defaulting to 92.`),r=92),(0,aP.jsx)("svg",{ref:n,className:aR()("-esm-devtools__pictograms-module__pictogram___wXX7t",o),height:r,width:r,children:(0,aP.jsx)("use",{href:`#${e}`})})})),dw=({children:e})=>"tablet"===i2()?(0,aP.jsx)(aD.Layer,{children:e}):(0,aP.jsx)(aP.Fragment,{children:e}),d_=({snackbar:e,closeSnackbar:t})=>{let{actionButtonLabel:n="",kind:o="success",onActionButtonClick:r=()=>{},isLowContrast:i="error"!==o,progressActionLabel:a,subtitle:s="",timeoutInMs:l=5e3,autoClose:c="error"!==o,title:u,id:d,...m}=e,[f,p]=(0,rH.useState)(n),[g,h]=(0,rH.useState)(!0),[w,_]=(0,rH.useState)(!1),v=(0,rH.useCallback)(()=>{setTimeout(t,250)},[t]),y=(0,rH.useCallback)(()=>{_(!0),v()},[v]);return(0,rH.useEffect)(()=>{if(c){let e=setTimeout(y,l);return()=>clearTimeout(e)}},[l,c,y]),(0,rH.useEffect)(()=>{h(!1),window.setTimeout(()=>{h(!0)},0)},[]),(0,aP.jsx)(aD.ActionableNotification,{actionButtonLabel:f,"aria-label":tf("closeSnackbar","Close snackbar"),className:aR()("-esm-devtools__snackbar-module__slideIn___-oZIt",{"-esm-devtools__snackbar-module__animated___M2YBU":g,"-esm-devtools__snackbar-module__slideOut___yEmGT":w}),kind:o,lowContrast:i,onActionButtonClick:()=>{r(),y(),a&&p(a)},onClose:v,statusIconDescription:tf("snackbarNotification","Snackbar notification"),subtitle:s,title:u,...m})},dv=({subject:e})=>{let[t,n]=(0,rH.useState)([]),o=(0,rH.useCallback)(e=>{n(t=>t.filter(t=>t!==e))},[]);return(0,rH.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.subtitle!==e.subtitle||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick||t.kind!==e.kind||t.title!==e.title),e]));return()=>t.unsubscribe()},[e]),(0,aP.jsx)(aP.Fragment,{children:t.map(e=>(0,aP.jsx)(d_,{snackbar:e,closeSnackbar:()=>o(e)},e.id))})},dy=new ui,db=0;function dx(e){e&&(0,r7.createRoot)(e).render((0,aP.jsx)(dv,{subject:dy}))}function dS(e){var t;e&&"string"==typeof(t=e.title)&&t.trim().length>0?setTimeout(()=>{dy.next({...e,id:db++})},0):console.error("showSnackbar must be called with an object having a 'title' property that is a non-empty string")}let dj=({toast:e,closeToast:t})=>{let{description:n,kind:o,critical:r,title:i,actionButtonLabel:a,onActionButtonClick:s=()=>{}}=e,l=(0,rH.useCallback)(()=>{s(),t()},[t,s]);return(0,aP.jsx)("div",{children:(0,aP.jsx)(aD.ActionableNotification,{actionButtonLabel:a,kind:o||"info",lowContrast:r,subtitle:n,title:i||"",onActionButtonClick:l,onClose:t})})},dk=({subject:e})=>{let[t,n]=(0,rH.useState)([]),o=(0,rH.useCallback)(e=>{n(t=>t.filter(t=>t!==e))},[]);return(0,rH.useEffect)(()=>{let t=e.subscribe(e=>n(t=>[...t.filter(t=>t.description!==e.description||t.kind!==e.kind||t.title!==e.title||t.actionButtonLabel!==e.actionButtonLabel||t.onActionButtonClick!==e.onActionButtonClick),e]));return()=>t.unsubscribe()},[e]),(0,aP.jsx)(aP.Fragment,{children:t.map(e=>(0,aP.jsx)(dj,{toast:e,closeToast:()=>o(e)},e.id))})},dN=new ui,dE=0;function dC(e){e&&(0,r7.createRoot)(e).render((0,aP.jsx)(dk,{subject:dN}))}function dI(e){var t;e&&("string"==typeof(t=e.description)?t.trim().length>0:"object"==typeof t&&!(0,ue.A)(t))?setTimeout(()=>{dN.next({...e,id:dE++})},0):console.error("showToast must be called with an object having a 'description' property that is a non-empty string or object")}var dA=n(3173),dP=n(185),dO=n(4656);async function dR(e,t){let{openedGroup:n}=rC.getState();if(n){if(n.groupName===e&&dM(n.props,t))return!0;else if(!await dL({reason:"CLOSE_WORKSPACE_GROUP",explicit:!1}))return!1}return rC.setState(n=>({...n,openedGroup:{groupName:e,props:t},openedWindows:[]})),!0}async function d$(e){let{openedGroup:t,openedWindows:n}=rC.getState();if(t){if(n.length>0&&!(e||await dL({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})))return!1;rC.setState(e=>({...e,openedGroup:null,openedWindows:[]}))}return!0}async function dT(e,t=null,n=null,o=null){let r=rC.getState();if(!r.registeredWorkspacesByName[e])throw Error(`Unable to launch workspace ${e}. Workspace is not registered`);let i=rI(e);if(!i)throw Error(`Unable to launch workspace ${e}. Workspace is not registered to a workspace window`);let{openedGroup:a}=r,{name:s}=i,l=rA(s);if(!l)throw Error(`Unable to launch workspace ${e}. Workspace window ${i.name} is not registered to a workspace group`);let c=rP(e);if(a&&(a.groupName!==l.name||!dM(a.props,o)))return!!await dL({reason:"CLOSE_WORKSPACE_GROUP",explicit:!0})&&(rC.setState({...r,openedGroup:{groupName:l.name,props:o},openedWindows:[{windowName:s,openedWorkspaces:[dF(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0);if(c>=0){let o=r.openedWindows[c],i=r.openedGroup?.props??{},a=r.isMostRecentlyOpenedWindowHidden,{openedWorkspaces:u}=o;if(dM(o.props,n)){let d=u.find(t=>t.workspaceName===e);return d&&dM(d.props,t)?((a||c!==r.openedWindows.length-1)&&rC.setState(dD.restoreWindow(r,s)),!0):!!await dL({reason:"CLOSE_WORKSPACE",explicit:!1,windowName:s,workspaceName:e})&&(rC.setState({...r,openedGroup:{groupName:l.name,props:r?.openedGroup?.props??i},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:s,openedWorkspaces:[dF(e,t)],props:o?.props??n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return!!await dL({reason:"CLOSE_WINDOW",explicit:!1,windowName:s})&&(rC.setState({...r,openedGroup:{groupName:l.name,props:i??r?.openedGroup?.props},openedWindows:[...r.openedWindows.filter((e,t)=>t!==c),{windowName:s,openedWorkspaces:[dF(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}return"closable"!=l.persistence?(rC.setState({...r,openedGroup:{groupName:l.name,props:o??r?.openedGroup?.props??null},openedWindows:[...r.openedWindows,{windowName:s,openedWorkspaces:[dF(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0):!!await dL({reason:"CLOSE_OTHER_WINDOWS",explicit:!1,windowNameToSpare:i.name})&&(rC.setState({...r,openedGroup:{groupName:l.name,props:o??r?.openedGroup?.props??null},openedWindows:[{windowName:s,openedWorkspaces:[dF(e,t)],props:n,maximized:!1}],isMostRecentlyOpenedWindowHidden:!1}),!0)}function dM(e,t){return null==e||null==t||x(e,t)}function dL(e){function t(e,t){let n=[];for(let o=e.openedWorkspaces.length-1;o>=0;o--){let r=e.openedWorkspaces[o];if(r.hasUnsavedChanges&&n.push(r),t&&r.workspaceName===t)break}return n}let{openedWindows:n,workspaceTitleByWorkspaceName:o}=rC.getState(),r=[];switch(e.reason){case"CLOSE_WORKSPACE_GROUP":r=n.flatMap(e=>t(e));break;case"CLOSE_WINDOW":{let o=n.find(t=>t.windowName===e.windowName);if(!o)throw Error(`Window ${e.windowName} not found in opened windows.`);r=t(o);break}case"CLOSE_WORKSPACE":{let o=n.find(t=>t.windowName===e.windowName);if(!o)throw Error(`Window ${e.windowName} not found in opened windows.`);r=t(o,e.workspaceName);break}case"CLOSE_OTHER_WINDOWS":r=n.filter(t=>t.windowName!==e.windowNameToSpare).flatMap(e=>t(e))}return 0===r.length?Promise.resolve(!0):new Promise(e=>{let t=c9("workspace2-close-prompt",{size:"sm",onConfirm:()=>{t(),e(!0)},onCancel:()=>{t(),e(!1)},affectedWorkspaceTitles:r.map(e=>o[e.workspaceName])})})}let dD={setWindowMaximized(e,t,n){let o=e.openedWindows.findIndex(e=>e.windowName===t),r=[...e.openedWindows],i={...r[o],maximized:n};return r[o]=i,{...e,openedWindows:r}},hideWindow:e=>({...e,isMostRecentlyOpenedWindowHidden:!0}),restoreWindow(e,t){let n=e.openedWindows.findIndex(e=>e.windowName===t),o=e.openedWindows[n],r=[...e.openedWindows.filter((e,t)=>t!==n),o];return{...e,openedWindows:r,isMostRecentlyOpenedWindowHidden:!1}},closeWorkspace(e,t){let n=rP(t);if(n<0)return e;let o={...e.openedWindows[n]},r=o.openedWorkspaces.findIndex(e=>e.workspaceName===t),i=[...e.openedWindows];o.openedWorkspaces=o.openedWorkspaces.slice(0,r);let a=e.isMostRecentlyOpenedWindowHidden;if(0===o.openedWorkspaces.length){let t=n===e.openedWindows.length-1;i.splice(n,1),t&&i.length>0&&(a=!1)}else i[n]=o;return{...e,openedWindows:i,isMostRecentlyOpenedWindowHidden:a}},openChildWorkspace(e,t,n,o){let r=e.registeredWorkspacesByName[n];if(!r)throw Error(`No workspace named "${n}" registered`);let i=e.registeredWorkspacesByName[t];if(!i)throw Error(`No workspace named "${t}" registered`);if(i.window!==r.window)throw Error(`Child workspace ${n} does not belong to the same workspace window as parent workspace ${t}`);let a=e.openedWindows.findIndex(e=>e.windowName===r.window);if(-1==a)throw Error(`Cannot open child workspace ${n} as window ${r.window} is not opened`);let{openedWorkspaces:s}=e.openedWindows[a],l=s.findIndex(e=>e.workspaceName===t);if(-1===l)throw Error(`Cannot open child workspace ${n} from parent workspace ${t} as the parent is not opened within the workspace window`);let c=s.slice(0,l+1);return{openedWindows:e.openedWindows.map((e,t)=>t==a?{...e,openedWorkspaces:[...c,dF(n,o)]}:e)}},setHasUnsavedChanges(e,t,n){let o=rP(t);if(o<0)return e;let r={...e.openedWindows[o]},i=r.openedWorkspaces.findIndex(e=>e.workspaceName===t);if(i<0)return e;r.openedWorkspaces[i]={...r.openedWorkspaces[i],hasUnsavedChanges:n};let a=[...e.openedWindows];return a[o]=r,{...e,openedWindows:a}},setWorkspaceTitle(e,t,n){let o={...e.workspaceTitleByWorkspaceName};return null===n?delete o[t]:o[t]=n,{...e,workspaceTitleByWorkspaceName:o}}};function dW(){return rZ(rC,dD)}let dB=()=>(0,rH.useContext)(r9.i),dU=()=>Object.keys(rC.getState().registeredWorkspacesByName);function dF(e,t){return{workspaceName:e,props:t??{},hasUnsavedChanges:!1,uuid:(0,dO.A)()}}let dH={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"},dV=({title:e,children:t,hasUnsavedChanges:n=!1})=>{let o=i2(),{setWindowMaximized:r,hideWindow:i,setHasUnsavedChanges:a,openedWindows:s,openedGroup:l,registeredGroupsByName:c,registeredWindowsByName:u,registeredWorkspacesByName:d,workspaceTitleByWorkspaceName:m,setWorkspaceTitle:f,isMostRecentlyOpenedWindowHidden:p}=dW(),{workspaceName:g,isRootWorkspace:h,closeWorkspace:w,showActionMenu:_}=dB(),v=rP(g),y=s[v],b=y?.openedWorkspaces.find(e=>e.workspaceName===g);if((0,rH.useEffect)(()=>{b?.hasUnsavedChanges!=n&&a(g,n??!1)},[b?.hasUnsavedChanges,n,g,a]),(0,rH.useEffect)(()=>{m[g]!==e&&f(g,e)},[m,g,e,f]),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 S=d[g].window,j=u[S];if(!j)throw Error(`Cannot find registered workspace window ${S}`);let{icon:k,canMaximize:N}=j,E="closable"===x.persistence,C=!!k&&!E,{maximized:I}=y,A=j?.width??"narrow",P=Object.values(u).some(e=>e.group===l.groupName&&void 0!==e.icon),O=v<s.length-1||p;return(0,aP.jsxs)("div",{className:aR()(dH.workspaceOuterContainer,{[dH.narrowWorkspace]:"narrow"===A,[dH.widerWorkspace]:"wider"===A,[dH.extraWideWorkspace]:"extra-wide"===A,[dH.isActionMenuOpened]:P}),children:[(0,aP.jsx)("div",{className:aR()(dH.workspaceSpacer,{[dH.hidden]:O})}),(0,aP.jsx)("div",{className:aR()(dH.workspaceMiddleContainer,{[dH.maximized]:I,[dH.hidden]:O,[dH.isRootWorkspace]:h,[dH.showActionMenu]:_}),children:(0,aP.jsxs)("div",{className:aR()(dH.workspaceInnerContainer,{[dH.maximized]:I,[dH.hidden]:O,[dH.isRootWorkspace]:h}),children:[(0,aP.jsxs)(aD.Header,{"aria-label":tf("workspaceHeader"),className:dH.header,children:[(0,aP.jsx)(aD.HeaderName,{prefix:"",children:e}),(0,aP.jsx)("div",{className:dH.overlayHeaderSpacer}),(0,aP.jsx)(aD.HeaderGlobalBar,{className:dH.headerButtons,children:i5(o)?(0,aP.jsxs)(aP.Fragment,{children:[(N||I)&&(0,aP.jsx)(aD.HeaderGlobalAction,{"aria-label":I?tf("minimize"):tf("maximize"),onClick:()=>r(S,!I),children:I?(0,aP.jsx)(dA.Xj,{}):(0,aP.jsx)(dA.hz,{})}),C&&(0,aP.jsx)(aD.HeaderGlobalAction,{"aria-label":tf("hide"),onClick:()=>i(),children:(0,aP.jsx)(a2,{})}),!E&&(0,aP.jsx)(aD.HeaderGlobalAction,{"aria-label":tf("close"),onClick:()=>w({closeWindow:!0}),children:(0,aP.jsx)(su,{})})]}):(0,aP.jsxs)(aP.Fragment,{children:[C&&(0,aP.jsx)(aD.HeaderGlobalAction,{"aria-label":tf("hide"),onClick:()=>i(),children:(0,aP.jsx)(dP.d3,{})}),(0,aP.jsx)(aD.HeaderGlobalAction,{"aria-label":tf("close"),onClick:()=>{E?d$():w({closeWindow:!0})},children:(0,aP.jsx)(su,{})})]})})]}),(0,aP.jsx)("div",{className:aR()(dH.workspaceContent),children:t})]})})]})},dG="-esm-devtools__action-menu-button2-module__container___jc6--",dz="-esm-devtools__action-menu-button2-module__elementContainer___whLL8",dq="-esm-devtools__action-menu-button2-module__active___fbyFm",dJ="-esm-devtools__action-menu-button2-module__focused___+aVpz";function dK({getIcon:e,hasUnsavedChanges:t,tagContent:n}){return(0,aP.jsxs)(aP.Fragment,{children:[e({size:16}),t?(0,aP.jsx)("span",{className:"-esm-devtools__action-menu-button2-module__interruptedTag___sRkvS",children:"!"}):(0,aP.jsx)("span",{className:"-esm-devtools__action-menu-button2-module__countTag___XMH0D",children:n})]})}let dX=({icon:e,label:t,tagContent:n,workspaceToLaunch:o,onBeforeWorkspaceLaunch:r})=>{let i=i2(),{openedWindows:a,restoreWindow:s,hideWindow:l,isMostRecentlyOpenedWindowHidden:c}=dW(),{extension:u}=(0,rH.useContext)(rG),d=a.findIndex(e=>e.windowName===u?.extensionId),m=a[d],f=null!=m,p=f&&(d<a.length-1||c),g=f&&!p,h=m?.openedWorkspaces.some(e=>e.hasUnsavedChanges)??!1,w=async()=>{if(f)p?s(m.windowName):l();else if(await (r?.()??!0)){let{workspaceName:e,workspaceProps:t,windowProps:n}=o;dT(e,t,n)}};return"tablet"===i||"phone"===i?(0,aP.jsxs)(aD.Button,{className:aR()(dG,{[dq]:f&&!g,[dJ]:g}),iconDescription:t,kind:"ghost",onClick:w,role:"button",tabIndex:0,size:"md",children:[(0,aP.jsx)("span",{className:dz,children:(0,aP.jsx)(dK,{hasUnsavedChanges:h,getIcon:e,tagContent:n})}),(0,aP.jsx)("span",{children:t})]}):(0,aP.jsx)(aD.IconButton,{align:"left","aria-label":t,className:aR()(dG,{[dq]:f&&!g,[dJ]:g}),enterDelayMs:300,kind:"ghost",label:t,onClick:w,size:"md",children:(0,aP.jsx)("div",{className:dz,children:(0,aP.jsx)(dK,{hasUnsavedChanges:h,getIcon:e,tagContent:n})})})};function dY({showContactDetails:e,toggleContactDetails:t,className:n}){return(0,aP.jsx)(aD.Button,{className:n,iconDescription:"Toggle contact details",kind:"ghost",onClick:t,renderIcon:e?sc:sa,children:e?tf("showLess","Show less"):tf("showMore","Show more")})}let dZ={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-"},dQ=({patientUuid:e})=>{let{cohorts:t=[],isLoading:n}=function(e){let t=e?`${tN}/cohortm/cohortmember?patient=${e}&v=custom:(uuid,patient:ref,cohort:(uuid,name,startDate,endDate))`:null,{data:n,isLoading:o}=(0,it.u)(t,tA),r=n?.data?.results.map(e=>({uuid:e.cohort.uuid,name:e.cohort.name,startDate:e.cohort.startDate,endDate:e.cohort.endDate}));return(0,rH.useMemo)(()=>({cohorts:r,isLoading:o}),[o,r])}(e);return(0,aP.jsxs)(aP.Fragment,{children:[(0,aP.jsxs)("p",{className:dZ.heading,children:[tf("patientLists","Patient Lists")," (",t?.length??0,")"]}),n?(0,aP.jsx)(aD.InlineLoading,{description:`${tf("loading","Loading")} ...`,role:"progressbar"}):(0,aP.jsxs)("ul",{children:[(()=>{if(t?.length>0){let e=t.sort((e,t)=>lZ(e?.startDate).getTime()-lZ(t?.startDate).getTime()).slice(0,3);return e?.map(e=>(0,aP.jsx)("li",{children:(0,aP.jsx)(rz,{to:`${window.spaBase}/home/patient-lists/${e.uuid}`,children:e.name},e.uuid)},e.uuid))}return(0,aP.jsx)("li",{children:"--"})})(),t.length>3&&(0,aP.jsx)("li",{className:dZ.link,children:(0,aP.jsx)(rz,{to:`${window.spaBase}/home/patient-lists`,children:tf("seeMoreLists","See {{count}} more lists",{count:t?.length-3})})})]})]})},d0=({patientId:e})=>{let{patient:t,isLoading:n}=ar(e),o=t?.address?.find(e=>"home"===e.use),r=e=>e.split("#")[1];return n?(0,aP.jsx)(aD.InlineLoading,{description:`${tf("loading","Loading")} ...`,role:"progressbar"}):(0,aP.jsxs)(aP.Fragment,{children:[(0,aP.jsx)("p",{className:dZ.heading,children:tf("address","Address")}),(0,aP.jsx)("ul",{children:o?Object.entries(o).filter(([e])=>"id"!==e&&"use"!==e).map(([e,t])=>"extension"===e?o.extension?.[0]?.extension?.map((t,n)=>(0,aP.jsxs)("li",{children:[tf(r(t.url),r(t.url)),": ",t.valueString]},`address-${e}-${n}`)):(0,aP.jsxs)("li",{children:[tf(e,e),": ",t]},`address-${e}`)):(0,aP.jsx)("li",{children:"--"})})]})},d1=({patientUuid:e})=>{let{isLoading:t,contactAttributes:n}=(e=>{let{contactAttributeTypes:t=[]}=iP({externalModuleName:"@openmrs/esm-patient-banner-app"}),{attributes:n,error:o,isLoading:r}=(e=>{let{data:t,error:n,isLoading:o}=(0,i$.A)(`${tN}/patient/${e}?v=custom:(uuid,display,identifiers:(identifier,uuid,preferred,location:(uuid,name),identifierType:(uuid,name,format,formatDescription,validator)),person:(uuid,display,gender,birthdate,dead,age,deathDate,birthdateEstimated,causeOfDeath,preferredName:(uuid,preferred,givenName,middleName,familyName),attributes,preferredAddress:(uuid,preferred,address1,address2,cityVillage,longitude,stateProvince,latitude,country,postalCode,countyDistrict,address3,address4,address5,address6,address7)))`,tA);return{isLoading:o,attributes:t?.data.person.attributes??[],error:n}})(e);return{contactAttributes:(0,rH.useMemo)(()=>n.filter(({attributeType:e})=>t?.some(t=>e.uuid===t)),[n,t]),isLoading:r,error:o}})(e),o=(0,rH.useMemo)(()=>n?[...n?.map(e=>[e.attributeType.display?tf(e.attributeType.display,e.attributeType.display):"",e.value])]:[],[n]);return(0,aP.jsxs)(aP.Fragment,{children:[(0,aP.jsx)("p",{className:dZ.heading,children:tf("contactDetails","Contact Details")}),t?(0,aP.jsx)(aD.InlineLoading,{description:`${tf("loading","Loading")} ...`,role:"progressbar"}):(0,aP.jsx)("ul",{children:o.length?o.map(([e,t],n)=>(0,aP.jsxs)("li",{children:[e,": ",t]},`${e}-${t}-${n}`)):(0,aP.jsx)("li",{children:"--"})})]})},d2=({patientId:e})=>{let{data:t,isLoading:n}=function(e){let t=`${tN}/relationship?v=custom:(display,uuid,personA:(age,display,birthdate,uuid),personB:(age,display,birthdate,uuid),relationshipType:(uuid,display,description,aIsToB,bIsToA))&person=${e}`,{data:n,error:o,isLoading:r,isValidating:i}=(0,it.u)(e?t:null,tA),a=n?.data?.results?.length?function(e,t){let n=[];for(let o of t)e===o.personA.uuid?n.push({uuid:`${o.uuid}`,display:o.personB.display,relativeAge:o.personB.age,relativeUuid:o.personB.uuid,relationshipType:o.relationshipType.bIsToA}):n.push({uuid:`${o.uuid}`,display:o.personA.display,relativeAge:o.personA.age,relativeUuid:o.personA.uuid,relationshipType:o.relationshipType.aIsToB});return n}(e,n.data.results):null;return{data:n?a:null,error:o,isLoading:r,isValidating:i}}(e);return(0,aP.jsxs)(aP.Fragment,{children:[(0,aP.jsx)("p",{className:dZ.heading,children:tf("relationships","Relationships")}),n?(0,aP.jsx)(aD.InlineLoading,{description:`${tf("loading","Loading")} ...`,role:"progressbar"}):(0,aP.jsx)("ul",{children:t&&t.length>0?(0,aP.jsx)(aP.Fragment,{children:t.map(e=>(0,aP.jsxs)("li",{className:dZ.relationship,children:[(0,aP.jsx)("div",{children:(0,aP.jsx)(rz,{to:`${window.spaBase}/patient/${e.relativeUuid}/chart`,children:e.display})}),(0,aP.jsx)("div",{children:e.relationshipType}),(0,aP.jsx)("div",{children:`${e.relativeAge?e.relativeAge:"--"} ${e.relativeAge?1===e.relativeAge?tf("yearAbbreviation","yr"):tf("yearsAbbreviation","yrs"):""}`})]},e.uuid))}):(0,aP.jsx)("li",{children:"--"})})]})};function d5({patientId:e,deceased:t}){return(0,aP.jsxs)("div",{className:aR()(dZ.contactDetails,{[dZ.deceased]:t}),children:[(0,aP.jsxs)("div",{className:dZ.row,children:[(0,aP.jsx)("div",{className:dZ.col,children:(0,aP.jsx)(d0,{patientId:e})}),(0,aP.jsx)("div",{className:dZ.col,children:(0,aP.jsx)(d1,{patientUuid:e})})]}),(0,aP.jsxs)("div",{className:dZ.row,children:[(0,aP.jsx)("div",{className:dZ.col,children:(0,aP.jsx)(d2,{patientId:e})}),(0,aP.jsx)("div",{className:dZ.col,children:(0,aP.jsx)(dQ,{patientUuid:e})})]})]})}function d6(e){let t=document.querySelector("template#loading-spinner");if(t){let n=t.content.cloneNode(!0),o=Array.prototype.map.call(n.childNodes,e=>e);return e.appendChild(n),()=>o.forEach(e=>e.remove())}return()=>{}}let d3="-esm-devtools__action-menu2-module__container___6Gke0";function d8({workspaceGroup:e,groupProps:t}){let n=i2(),{persistence:o}=e;return(0,aP.jsx)("aside",{className:"-esm-devtools__action-menu2-module__sideRail___T2lMV",children:(0,aP.jsxs)("div",{className:d3,children:["closable"==o&&i5(n)&&(0,aP.jsx)(aD.IconButton,{align:"left",onClick:()=>d$(),label:tf("close"),kind:"ghost",children:(0,aP.jsx)(su,{})}),(0,aP.jsx)(rG.Provider,{value:{moduleName:e.moduleName,featureName:e.name},children:(0,aP.jsx)(r4,{className:d3,name:e.name,state:{groupProps:t}})})]})})}function d4(e){let t=new URL(e,window.location.origin).pathname,n=new URL(window.getOpenmrsSpaBase?.()??"/",window.location.origin).pathname,o=n.endsWith("/")?n.slice(0,-1):n,r=null;return o?o===t?r="/":t.startsWith(`${o}/`)&&(r=t.slice(o.length)):r=t,{full:t,spaRelative:r}}var d7=n(1820);let d9=({lifeCycle:e,openedWorkspace:t,openedWindow:n,isRootWorkspace:o,isLeafWorkspace:r,showActionMenu:i})=>{let{openedGroup:a,closeWorkspace:s,openChildWorkspace:l}=dW(),c=(0,rH.useMemo)(()=>t&&{closeWorkspace:async(e={})=>{let{closeWindow:o=!1,discardUnsavedChanges:r=!1}=e;return o?!!(r||await dL({reason:"CLOSE_WINDOW",explicit:!0,windowName:n.windowName}))&&(s(n.openedWorkspaces[0].workspaceName),!0):!!(r||await dL({reason:"CLOSE_WORKSPACE",explicit:!0,windowName:n.windowName,workspaceName:t.workspaceName}))&&(s(t.workspaceName),!0)},launchChildWorkspace:async(e,o)=>{let r=t.workspaceName,{openedWorkspaces:i}=n,a=i.findIndex(e=>e.workspaceName===r);-1===a||a!==i.length-1&&i.slice(a+1).some(e=>e.hasUnsavedChanges)&&!await dL({reason:"CLOSE_WORKSPACE",explicit:!0,windowName:n.windowName,workspaceName:i[a+1].workspaceName})||l(r,e,o||{})},workspaceName:t.workspaceName,workspaceProps:t.props,windowProps:n.props,groupProps:a&&a.props?a.props:null,workspaceMeta:rC.getState().registeredWorkspacesByName[t.workspaceName]?.meta??{},isRootWorkspace:o,isLeafWorkspace:r,windowName:n.windowName,showActionMenu:i},[t,s,a,n]);if(!e){let{registeredWorkspacesByName:e}=rC.getState(),n=e[t.workspaceName],r=n&&n.window?n.window:void 0,{registeredWindowsByName:s}=rC.getState(),l=r?s[r]:void 0,c=l&&l.width?l.width:"narrow",u=Object.values(s).some(e=>e.group===a?.groupName&&void 0!==e.icon);return(0,aP.jsxs)("div",{className:aR()(dH.workspaceOuterContainer,{[dH.narrowWorkspace]:"narrow"===c,[dH.widerWorkspace]:"wider"===c,[dH.extraWideWorkspace]:"extra-wide"===c,[dH.isActionMenuOpened]:u}),children:[(0,aP.jsx)("div",{className:dH.workspaceSpacer}),(0,aP.jsx)("div",{className:aR()(dH.workspaceMiddleContainer,{[dH.isRootWorkspace]:o,[dH.showActionMenu]:i}),children:(0,aP.jsx)("div",{className:aR()(dH.workspaceInnerContainer,{[dH.isRootWorkspace]:o}),children:(0,aP.jsx)(aD.InlineLoading,{className:dH.loader,description:`${tf("loading")} ...`})})})]})}return(0,aP.jsx)(d7.A,{config:e,mountParcel:rU,...c},t.workspaceName)},me=({openedWindow:e,showActionMenu:t})=>{let{openedWorkspaces:n}=e,[o,r]=(0,rH.useState)({}),{registeredWorkspacesByName:i}=rC.getState();return(0,rH.useEffect)(()=>{let e=!1;return Promise.all(n.map(async e=>{let{moduleName:t,component:n}=i[e.workspaceName];return[e.uuid,await ay(t,n)]})).then(t=>{e||r(Object.fromEntries(t))}),()=>{e=!0}},[n]),(0,aP.jsx)(aP.Fragment,{children:n.map((r,i)=>(0,aP.jsx)(d9,{openedWorkspace:r,openedWindow:e,lifeCycle:o[r.uuid],isRootWorkspace:0===i,isLeafWorkspace:i===n.length-1,showActionMenu:t},r.uuid))})};function mt(e){e&&(0,r7.createRoot)(e).render((0,aP.jsx)(mn,{}))}function mn(){let{openedGroup:e,openedWindows:t,registeredGroupsByName:n,registeredWindowsByName:o}=dW();if((0,rH.useEffect)(()=>nz("before-page-changed",t=>{let{newPage:o,cancelNavigation:r,oldUrl:i,newUrl:a}=t;if(!e)return;if(o)return void r(d$().then(e=>!e));let s=n[e.groupName],l=s?.scopePattern;l&&function(e,t,n){try{let o=new RegExp(e),r=d4(t),i=d4(n);if(null===r.spaRelative||null===i.spaRelative)return!0;let a=o.exec(r.spaRelative),s=o.exec(i.spaRelative);if(a&&s||(a=o.exec(r.full),s=o.exec(i.full)),!a||!s)return!0;if(a.length>1)return!a.slice(1).every((e,t)=>e===s[t+1]);return!1}catch{return!0}}(l,i,a)&&r(d$().then(e=>!e))}),[e,n]),!e)return null;let r=n[e.groupName],i=t.some(e=>e.maximized),{name:a}=r,s=Object.values(o).filter(e=>e.group===a&&void 0!==e.icon).sort((e,t)=>(e.order??Number.MAX_VALUE)-(t.order??Number.MAX_VALUE)).length>0;return(0,aP.jsxs)("div",{className:aR()("-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,aP.jsx)("div",{className:"-esm-devtools__workspace-windows-and-menu-module__workspaceWindowsContainer___40ITO",children:t.map(e=>(0,aP.jsx)(me,{openedWindow:e,showActionMenu:s},e.windowName))}),s&&(0,aP.jsx)(d8,{workspaceGroup:r,groupProps:e.props})]})}function mo(e,t,n){if(null==e)return n;let o=lW(e);if(!o)return console.warn(`matchLocale: invalid requested locale tag: ${JSON.stringify(e)}`),n;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=o;for(;i;){let e=r.find(e=>e.canonical===i);if(e)return e.original;let t=i+"-",n=r.find(e=>e.canonical.startsWith(t));if(n)return n.original;if("ht"===i){i="fr-HT";continue}let o=i.lastIndexOf("-");if(-1===o)break;let a=(i=i.slice(0,o)).lastIndexOf("-");-1!==a&&i.length-a==2&&(i=i.slice(0,a))}return n}function mr(e=window.localStorage){try{return e.getItem("test"),!0}catch{return!1}}function mi(e){return!!e&&e.constructor===Object}var ma=n(3376);function ms(e){let[t,n,o]=e.split(".");return`${t}.${n}.${o}`}function ml(e,t){return ma(function(e){let t=e.indexOf("-");if(t>=0){let n=ms(e.slice(0,t)),o=e.slice(t+1);return`${n}-${o}`}return ms(e)}(t),e,{includePrerelease:!0})}async function mc(e,t={}){let n,{shouldRetry:o,getDelay:r,onError:i}=t;o=o??(e=>e<=5),r=r??(e=>(function(e,t=!1){return 1e3*Math.pow(2,t?e+1:e)})(e));let a=0;do try{return await mu(r(a)),await e()}catch(e){i?.(e,a),n=e}while(o(a++));throw n}async function mu(e){if(!(e<=0))return new Promise(t=>setTimeout(t,e))}function md(e,t,n,o){}function mm(e){}function mf(e){return Promise.resolve([])}function mp(e){return Promise.resolve([])}function mg(e){return Promise.resolve({success:!1,result:void 0,error:"No service worker has been registered. Offline-related features have been removed from the framework."})}function mh(e){return()=>{}}function mw(){return!0}}}]);
|