@openmrs/esm-app-shell 8.0.1-pre.3662 → 8.0.1-pre.3663
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 +9 -9
- package/dist/0b6b9e64a3bdc00c.js +1 -0
- package/dist/0b6b9e64a3bdc00c.js.map +1 -0
- package/dist/c1cb7b52ec3ad802.js +1 -0
- package/dist/c1cb7b52ec3ad802.js.map +1 -0
- package/dist/{44951914eb97a510.js → cd9a513780b9381e.js} +1 -1
- package/dist/{44951914eb97a510.js.map → cd9a513780b9381e.js.map} +1 -1
- package/dist/index.html +1 -1
- package/dist/{openmrs.ada851df8b28ca3b.js → openmrs.6d1ae5b926b63e7f.js} +1 -1
- package/dist/{openmrs.ada851df8b28ca3b.js.map → openmrs.6d1ae5b926b63e7f.js.map} +1 -1
- package/dist/service-worker.js +1 -1
- package/lib/{721e38fd7139f356.js → 553ec79e2bfe7c4b.js} +1 -1
- package/lib/{cbdd2de0ab9d4470.js → 6a940ee6f896f219.js} +2 -2
- package/lib/esm-devtools-app/180.js +2 -0
- package/lib/esm-devtools-app/180.js.map +1 -0
- package/lib/esm-devtools-app/185.js +2 -0
- package/lib/esm-devtools-app/185.js.map +1 -0
- package/lib/esm-devtools-app/300.js +1 -0
- package/lib/esm-devtools-app/326.js +2 -0
- package/lib/esm-devtools-app/326.js.map +1 -0
- package/lib/esm-devtools-app/460.js +1 -0
- package/lib/esm-devtools-app/460.js.map +1 -0
- package/lib/esm-devtools-app/523.js +2 -0
- package/lib/{esm-primary-navigation-app → esm-devtools-app}/523.js.map +1 -1
- package/lib/esm-devtools-app/623.js +2 -0
- package/lib/esm-devtools-app/623.js.map +1 -0
- package/lib/esm-devtools-app/723.js +2 -0
- package/lib/{esm-primary-navigation-app/7798.js.LICENSE.txt → esm-devtools-app/723.js.LICENSE.txt} +11 -0
- package/lib/esm-devtools-app/723.js.map +1 -0
- package/lib/esm-devtools-app/770.js +2 -0
- package/lib/esm-devtools-app/770.js.map +1 -0
- package/lib/esm-devtools-app/907.js +1 -0
- package/lib/esm-devtools-app/907.js.map +1 -0
- package/lib/esm-devtools-app/929.js +1 -0
- package/lib/esm-devtools-app/929.js.map +1 -0
- package/lib/esm-devtools-app/939.js +1 -0
- package/lib/{esm-primary-navigation-app → esm-devtools-app}/939.js.map +1 -1
- package/lib/esm-devtools-app/main.js +1 -0
- package/lib/esm-devtools-app/main.js.map +1 -0
- package/lib/esm-devtools-app/openmrs-esm-devtools-app.js +1 -0
- package/lib/esm-devtools-app/openmrs-esm-devtools-app.js.buildmanifest.json +469 -0
- package/lib/esm-devtools-app/openmrs-esm-devtools-app.js.map +1 -0
- package/lib/esm-devtools-app/routes.json +1 -0
- package/lib/esm-help-menu-app/460.js +1 -1
- package/lib/esm-help-menu-app/460.js.map +1 -1
- package/lib/esm-help-menu-app/main.js +1 -1
- package/lib/esm-help-menu-app/openmrs-esm-help-menu-app.js +1 -1
- package/lib/esm-help-menu-app/openmrs-esm-help-menu-app.js.buildmanifest.json +5 -5
- package/lib/esm-help-menu-app/routes.json +1 -1
- package/lib/esm-implementer-tools-app/5460.js +1 -1
- package/lib/esm-implementer-tools-app/5460.js.map +1 -1
- package/lib/esm-implementer-tools-app/main.js +1 -1
- package/lib/esm-implementer-tools-app/openmrs-esm-implementer-tools-app.js +1 -1
- package/lib/esm-implementer-tools-app/openmrs-esm-implementer-tools-app.js.buildmanifest.json +5 -5
- package/lib/esm-implementer-tools-app/routes.json +1 -1
- package/lib/esm-login-app/14.js +3 -3
- package/lib/esm-login-app/14.js.map +1 -1
- package/lib/esm-login-app/main.js +1 -1
- package/lib/esm-login-app/openmrs-esm-login-app.js +2 -2
- package/lib/esm-login-app/openmrs-esm-login-app.js.buildmanifest.json +5 -5
- package/lib/esm-login-app/routes.json +1 -1
- package/lib/esm-offline-tools-app/5460.js +1 -1
- package/lib/esm-offline-tools-app/5460.js.map +1 -1
- package/lib/esm-offline-tools-app/main.js +1 -1
- package/lib/esm-offline-tools-app/openmrs-esm-offline-tools-app.js +1 -1
- package/lib/esm-offline-tools-app/openmrs-esm-offline-tools-app.js.buildmanifest.json +5 -5
- package/lib/esm-offline-tools-app/routes.json +1 -1
- package/lib/{46cfba320cf162c3.js → faf9687f2a4f4c55.js} +1 -1
- package/lib/index.html +2 -2
- package/lib/openmrs.js +4 -4
- package/lib/service-worker.js +1 -1
- package/package.json +3 -3
- package/dist/252d189d3f90e5a1.js +0 -1
- package/dist/252d189d3f90e5a1.js.map +0 -1
- package/dist/727bb9b657b275b8.js +0 -1
- package/dist/727bb9b657b275b8.js.map +0 -1
- package/lib/esm-primary-navigation-app/1119.js +0 -1
- package/lib/esm-primary-navigation-app/1197.js +0 -1
- package/lib/esm-primary-navigation-app/1296.js +0 -1
- package/lib/esm-primary-navigation-app/1296.js.map +0 -1
- package/lib/esm-primary-navigation-app/2106.js +0 -1
- package/lib/esm-primary-navigation-app/2106.js.map +0 -1
- package/lib/esm-primary-navigation-app/2146.js +0 -1
- package/lib/esm-primary-navigation-app/2267.js +0 -1
- package/lib/esm-primary-navigation-app/2267.js.map +0 -1
- package/lib/esm-primary-navigation-app/2690.js +0 -1
- package/lib/esm-primary-navigation-app/2727.js +0 -2
- package/lib/esm-primary-navigation-app/2727.js.map +0 -1
- package/lib/esm-primary-navigation-app/3099.js +0 -1
- package/lib/esm-primary-navigation-app/3584.js +0 -1
- package/lib/esm-primary-navigation-app/4055.js +0 -1
- package/lib/esm-primary-navigation-app/4132.js +0 -1
- package/lib/esm-primary-navigation-app/4300.js +0 -1
- package/lib/esm-primary-navigation-app/4335.js +0 -1
- package/lib/esm-primary-navigation-app/439.js +0 -1
- package/lib/esm-primary-navigation-app/4618.js +0 -1
- package/lib/esm-primary-navigation-app/4652.js +0 -1
- package/lib/esm-primary-navigation-app/4740.js +0 -2
- package/lib/esm-primary-navigation-app/4740.js.map +0 -1
- package/lib/esm-primary-navigation-app/4944.js +0 -1
- package/lib/esm-primary-navigation-app/5173.js +0 -1
- package/lib/esm-primary-navigation-app/523.js +0 -2
- package/lib/esm-primary-navigation-app/5241.js +0 -1
- package/lib/esm-primary-navigation-app/5442.js +0 -1
- package/lib/esm-primary-navigation-app/5460.js +0 -1
- package/lib/esm-primary-navigation-app/5460.js.map +0 -1
- package/lib/esm-primary-navigation-app/5623.js +0 -2
- package/lib/esm-primary-navigation-app/5623.js.map +0 -1
- package/lib/esm-primary-navigation-app/5661.js +0 -1
- package/lib/esm-primary-navigation-app/5770.js +0 -2
- package/lib/esm-primary-navigation-app/5770.js.map +0 -1
- package/lib/esm-primary-navigation-app/6022.js +0 -1
- package/lib/esm-primary-navigation-app/6326.js +0 -2
- package/lib/esm-primary-navigation-app/6326.js.map +0 -1
- package/lib/esm-primary-navigation-app/6408.js +0 -2
- package/lib/esm-primary-navigation-app/6408.js.LICENSE.txt +0 -32
- package/lib/esm-primary-navigation-app/6408.js.map +0 -1
- package/lib/esm-primary-navigation-app/6468.js +0 -1
- package/lib/esm-primary-navigation-app/6537.js +0 -2
- package/lib/esm-primary-navigation-app/6537.js.LICENSE.txt +0 -5
- package/lib/esm-primary-navigation-app/6537.js.map +0 -1
- package/lib/esm-primary-navigation-app/6589.js +0 -1
- package/lib/esm-primary-navigation-app/6679.js +0 -1
- package/lib/esm-primary-navigation-app/6840.js +0 -1
- package/lib/esm-primary-navigation-app/6859.js +0 -1
- package/lib/esm-primary-navigation-app/7097.js +0 -1
- package/lib/esm-primary-navigation-app/7159.js +0 -1
- package/lib/esm-primary-navigation-app/723.js +0 -1
- package/lib/esm-primary-navigation-app/7617.js +0 -1
- package/lib/esm-primary-navigation-app/7798.js +0 -2
- package/lib/esm-primary-navigation-app/7798.js.map +0 -1
- package/lib/esm-primary-navigation-app/795.js +0 -1
- package/lib/esm-primary-navigation-app/8163.js +0 -1
- package/lib/esm-primary-navigation-app/8349.js +0 -1
- package/lib/esm-primary-navigation-app/8371.js +0 -1
- package/lib/esm-primary-navigation-app/8412.js +0 -1
- package/lib/esm-primary-navigation-app/8412.js.map +0 -1
- package/lib/esm-primary-navigation-app/8618.js +0 -1
- package/lib/esm-primary-navigation-app/890.js +0 -1
- package/lib/esm-primary-navigation-app/9214.js +0 -1
- package/lib/esm-primary-navigation-app/939.js +0 -1
- package/lib/esm-primary-navigation-app/9538.js +0 -1
- package/lib/esm-primary-navigation-app/9569.js +0 -1
- package/lib/esm-primary-navigation-app/986.js +0 -1
- package/lib/esm-primary-navigation-app/9879.js +0 -1
- package/lib/esm-primary-navigation-app/9895.js +0 -1
- package/lib/esm-primary-navigation-app/9900.js +0 -1
- package/lib/esm-primary-navigation-app/9913.js +0 -1
- package/lib/esm-primary-navigation-app/main.js +0 -2
- package/lib/esm-primary-navigation-app/main.js.LICENSE.txt +0 -5
- package/lib/esm-primary-navigation-app/main.js.map +0 -1
- package/lib/esm-primary-navigation-app/openmrs-esm-primary-navigation-app.js +0 -1
- package/lib/esm-primary-navigation-app/openmrs-esm-primary-navigation-app.js.buildmanifest.json +0 -1431
- package/lib/esm-primary-navigation-app/openmrs-esm-primary-navigation-app.js.map +0 -1
- package/lib/esm-primary-navigation-app/routes.json +0 -1
- /package/lib/{esm-primary-navigation-app/2727.js.LICENSE.txt → esm-devtools-app/180.js.LICENSE.txt} +0 -0
- /package/lib/{esm-primary-navigation-app/4740.js.LICENSE.txt → esm-devtools-app/185.js.LICENSE.txt} +0 -0
- /package/lib/{esm-primary-navigation-app/6326.js.LICENSE.txt → esm-devtools-app/326.js.LICENSE.txt} +0 -0
- /package/lib/{esm-primary-navigation-app → esm-devtools-app}/523.js.LICENSE.txt +0 -0
- /package/lib/{esm-primary-navigation-app/5623.js.LICENSE.txt → esm-devtools-app/623.js.LICENSE.txt} +0 -0
- /package/lib/{esm-primary-navigation-app/5770.js.LICENSE.txt → esm-devtools-app/770.js.LICENSE.txt} +0 -0
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
(node:
|
|
1
|
+
(node:7173) [DEP_WEBPACK_COMPILATION_ASSETS] DeprecationWarning: Compilation.assets will be frozen in future, all modifications are deprecated.
|
|
2
2
|
BREAKING CHANGE: No more changes should happen to Compilation.assets after sealing the Compilation.
|
|
3
3
|
Do changes to assets earlier, e. g. in Compilation.hooks.processAssets.
|
|
4
4
|
Make sure to select an appropriate stage from Compilation.PROCESS_ASSETS_STAGE_*.
|
|
@@ -18,7 +18,7 @@ asset index.html 3.25 KiB [emitted]
|
|
|
18
18
|
asset logo.svg 1.33 KiB [emitted] [from: src/assets/logo.svg] [copied]
|
|
19
19
|
asset manifest.266df36f2271d27ae9bcaa196a2976ae.json 1.29 KiB [emitted]
|
|
20
20
|
asset favicon.ico 1.12 KiB [emitted] [from: src/assets/favicon.ico] [copied]
|
|
21
|
-
Entrypoint main [big] 3.33 MiB (126 KiB) = openmrs.09aeccf122f76c97.css 3.26 MiB openmrs.
|
|
21
|
+
Entrypoint main [big] 3.33 MiB (126 KiB) = openmrs.09aeccf122f76c97.css 3.26 MiB openmrs.6d1ae5b926b63e7f.js 66.1 KiB 2 auxiliary assets
|
|
22
22
|
orphan modules 19.2 MiB (javascript) 1.04 MiB (asset) 79.2 KiB (runtime) [orphan] 3242 modules
|
|
23
23
|
runtime modules 26.3 KiB 16 modules
|
|
24
24
|
built modules 9.88 MiB (javascript) 3.42 MiB (css/mini-extract) 504 bytes (share-init) 504 bytes (consume-shared) [built]
|
|
@@ -53,11 +53,11 @@ WARNING in entrypoint size limit: The following entrypoint(s) combined asset siz
|
|
|
53
53
|
Entrypoints:
|
|
54
54
|
main (3.33 MiB)
|
|
55
55
|
openmrs.09aeccf122f76c97.css
|
|
56
|
-
openmrs.
|
|
56
|
+
openmrs.6d1ae5b926b63e7f.js
|
|
57
57
|
|
|
58
|
-
webpack 5.99.9 compiled with 3 warnings in
|
|
59
|
-
Not serving @openmrs/esm-
|
|
60
|
-
(node:
|
|
58
|
+
webpack 5.99.9 compiled with 3 warnings in 178149 ms
|
|
59
|
+
Not serving @openmrs/esm-primary-navigation-app because couldn't find /home/runner/work/openmrs-esm-core/openmrs-esm-core/packages/apps/esm-primary-navigation-app/dist
|
|
60
|
+
(node:7902) [DEP_WEBPACK_COMPILATION_ASSETS] DeprecationWarning: Compilation.assets will be frozen in future, all modifications are deprecated.
|
|
61
61
|
BREAKING CHANGE: No more changes should happen to Compilation.assets after sealing the Compilation.
|
|
62
62
|
Do changes to assets earlier, e. g. in Compilation.hooks.processAssets.
|
|
63
63
|
Make sure to select an appropriate stage from Compilation.PROCESS_ASSETS_STAGE_*.
|
|
@@ -67,9 +67,9 @@ assets by info 39.1 MiB [immutable]
|
|
|
67
67
|
assets by path *.js 38 MiB 64 assets
|
|
68
68
|
assets by path esm-implementer-tools-app/ 8.37 MiB 105 assets
|
|
69
69
|
assets by path esm-offline-tools-app/ 7.04 MiB 98 assets
|
|
70
|
-
assets by path esm-primary-navigation-app/ 6.34 MiB 88 assets
|
|
71
70
|
assets by path esm-login-app/ 7.04 MiB 84 assets
|
|
72
71
|
assets by path esm-help-menu-app/ 5.87 MiB 41 assets
|
|
72
|
+
assets by path esm-devtools-app/ 5.84 MiB 36 assets
|
|
73
73
|
assets by path *.png 64.8 KiB
|
|
74
74
|
asset logo-512.png 15.5 KiB [emitted] [from: src/assets/logo-512.png] [copied]
|
|
75
75
|
asset icon_512x512.7163efb26df832de513bc58d925ea22e.png 13.9 KiB [emitted]
|
|
@@ -93,6 +93,6 @@ consume-shared-module modules 504 bytes
|
|
|
93
93
|
|
|
94
94
|
LOG from InjectManifest
|
|
95
95
|
<i> The service worker at service-worker.js will precache
|
|
96
|
-
<i>
|
|
96
|
+
<i> 431 URLs, totaling 82.2 MB.
|
|
97
97
|
|
|
98
|
-
webpack 5.99.9 compiled successfully in
|
|
98
|
+
webpack 5.99.9 compiled successfully in 31835 ms
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"use strict";(self.webpackChunk_openmrs_esm_app_shell=self.webpackChunk_openmrs_esm_app_shell||[]).push([[4062],{464:(e,t,n)=>{n.d(t,{DQ:()=>c,a9:()=>a,zF:()=>u});var r=n(79426),o=n(60525),s=n(4976);const i=(0,s.Zd)("extensionsInternal",{slots:{},extensions:{}}),a=()=>(0,s.jf)("extensionsInternal",{slots:{},extensions:{}});function c(e){const t=i.getState(),n=e(t);n!==t&&i.setState(n)}const u=()=>(0,s.jf)("extensions",{slots:{}});function l(e){const t=[];for(let n of Object.values(e.extensions))for(let e of n.instances)t.push({slotModuleName:e.slotModuleName,extensionModuleName:n.moduleName,slotName:e.slotName,extensionId:e.id});(0,r.A)(o.hs.getState().mountedExtensions,t)||o.hs.setState({mountedExtensions:t})}l(i.getState()),i.subscribe(l)},1349:(e,t,n)=>{n.d(t,{V:()=>c,i:()=>a});var r=n(89318),o=n(20796),s=n(13709),i=n(72001);function a(e,t={}){return c(e,i.xy,t)}function c(e,t,n={}){const{swrInfiniteConfig:i,immutable:a}=n,{getNextUrl:c,getTotalCount:u,getData:l}=t,d=n.fetcher??r.lo,f=(0,o.useCallback)(((n,r)=>0==n?e?.toString()??null:t.getNextUrl(r.data)),[e]),{data:p,size:m,setSize:g,...h}=(0,s.Ay)(f,d,{...i,...a?{revalidateIfStale:!1,revalidateOnFocus:!1,revalidateOnReconnect:!1}:{}}),y=c(p?.[p.length-1].data),w=null!=y,b=u(p?.[0]?.data);return{data:p?.flatMap((e=>l(e.data))),totalCount:b,hasMore:w,loadMore:()=>{g((p?.length??0)+1)},nextUri:y,...h}}},2327:(e,t,n)=>{n.d(t,{ES:()=>v,FY:()=>O,K0:()=>N,No:()=>k,Tj:()=>E,VK:()=>x,Yo:()=>A,ap:()=>I,cL:()=>T,xg:()=>S,zx:()=>$});var r=n(89318),o=n(60525),s=n(77692),i=n(48056),a=n(91514),c=n(84848),u=n(79426),l=n(29256),d=n(54804),f=n(464);const p=(0,f.a9)(),m=(0,f.zF)(),g=(0,o.YP)(),h=(0,o.GI)();function y(e,t,n,r,s){const i={},a=(0,c.s)(),l=Object.entries(r.flags).filter((([,{enabled:e}])=>e)).map((([e])=>e));for(let[r,c]of Object.entries(e.slots)){const{config:u}=(0,o.vu)(t,c.name),d=C(r,e,u,n,l,a,s.session);i[r]={moduleName:c.moduleName,assignedExtensions:d}}(0,u.A)(m.getState().slots,i)||m.setState({slots:i})}function w(){y(p.getState(),g.getState(),h.getState(),i.jX.getState(),r.eA.getState())}function b(e,t,n){return{moduleName:t,name:e,attachedIds:[],config:null,state:n}}function v(e){const[t]=e.split("#");return t}function S(e,t){const n=v(t);return e.extensions[n]}function E(e){return S(p.getState(),e)}p.subscribe((e=>{y(e,g.getState(),h.getState(),i.jX.getState(),r.eA.getState())})),g.subscribe((e=>{y(p.getState(),e,h.getState(),i.jX.getState(),r.eA.getState())})),h.subscribe((e=>{y(p.getState(),g.getState(),e,i.jX.getState(),r.eA.getState())})),i.jX.subscribe((e=>{y(p.getState(),g.getState(),h.getState(),e,r.eA.getState())})),r.eA.subscribe((e=>{y(p.getState(),g.getState(),h.getState(),i.jX.getState(),e)})),w(),(0,a.gj)(w);const x=e=>p.setState((t=>(t.extensions[e.name]={...e,instances:[]},t)));function N(e,t){(0,f.DQ)((n=>{const r=n.slots[e];return r?{...n,slots:{...n.slots,[e]:{...r,attachedIds:[...r.attachedIds,t]}}}:{...n,slots:{...n.slots,[e]:{...b(e),attachedIds:[t]}}}}))}function A(e,t){(0,f.DQ)((n=>{const r=n.slots[e];return r&&r.attachedIds.includes(t)?{...n,slots:{...n.slots,[e]:{...r,attachedIds:r.attachedIds.filter((e=>e!==t))}}}:n}))}function k(e){(0,f.DQ)((t=>{const n=t.slots[e];return n?{...t,slots:{...t.slots,[e]:{...n,attachedIds:[]}}}:t}))}function j(e,t,n,r){const o=t.indexOf(e);if(-1!==o)return o;if(void 0!==n)return 1e3+n;{const t=r.indexOf(e);return-1!==t?2e3+t:-1}}function C(e,t,n,i,a,c,u){const f=function(e,t){const n=e.add||[],r=e.remove||[],o=e.order||[],{extensions:s}=p.getState();return[...t,...n].filter((e=>!r.includes(e))).sort(((e,n)=>{const r=j(e,o,s[v(e)]?.order,t),i=j(n,o,s[v(n)]?.order,t);return-1===i?-1:-1===r?1:r-i}))}(n,t.slots[e].attachedIds),m=[],g=t.slots[e]?.state,h=g&&"object"==typeof g?{session:u,...g}:{session:u};for(let p of f){const{config:f}=(0,o.P0)(i,e,p),g=(0,o.g$)(n,e,p),y=(0,l.A)(f,g),w=v(p),b=t.extensions[w];if(b){const t=y?.["Display conditions"]?.privileges??b.privileges??[];if(t&&("string"==typeof t||Array.isArray(t)&&t.length>0)){if(!u?.user)continue;if(!(0,r.st)(t,u.user))continue}const n=y?.["Display conditions"]?.expression||b.displayExpression;if(void 0!==n&&"string"==typeof n&&n.trim().length>0)try{if(!(0,s.eb)(n,h))continue}catch(t){console.error(`Error while evaluating expression '${n}' for extension ${w} in slot ${e}`,t);continue}if(b.featureFlag&&!a.includes(b.featureFlag))continue;if(window.offlineEnabled&&!(0,d.E)(c,b.online,b.offline))continue;m.push({id:p,name:w,moduleName:b.moduleName,config:y,featureFlag:b.featureFlag,meta:b.meta,online:y?.["Display conditions"]?.online??b.online??!0,offline:y?.["Display conditions"]?.offline??b.offline??!1})}}return m}function $(e){const t=p.getState(),{config:n}=(0,o.G9)(e),s=h.getState(),a=i.jX.getState(),u=r.eA.getState(),l=(0,c.s)();return C(e,t,n,s,Object.entries(a.flags).filter((([,{enabled:e}])=>e)).map((([e])=>e)),l,u.session)}const O=(e,t,n)=>p.setState((r=>{const o=r.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}.`),r;if(o&&o==e)return r;if(r.slots[t])return{...r,slots:{...r.slots,[t]:{...r.slots[t],moduleName:e,state:n}}};const s=b(t,e,n);return{...r,slots:{...r.slots,[t]:{...s}}}}));function I(e,t,n=!1){p.setState((r=>{const o=n?(0,l.A)(r.slots[e].state,t):t;return{...r,slots:{...r.slots,[e]:{...r.slots[e],state:o}}}}))}const T=()=>m.setState((()=>({slots:{},extensions:{}})))},3073:(e,t,n)=>{n.d(t,{f:()=>o,z:()=>r});const r={Array,Boolean,Symbol,Infinity:1/0,NaN: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)}},o={...r,Promise}},3327:(e,t,n)=>{n.d(t,{G:()=>o});var r=n(35959);const o=(0,n(47204).rr)((0,r.zF)())},4574:(e,t,n)=>{n.d(t,{z:()=>r});const r=(0,n(20796).createContext)({moduleName:"",featureName:""})},4611:(e,t,n)=>{n.d(t,{W:()=>c});var r=n(20796),o=n(4574),s=n(81607),i=n(44232);function a(e){return e}function c({name:e,extensionSlotName:t,select:n=a,children:c,state:u,style:l,...d}){if(c&&u)throw new Error("Both children and state have been provided. If children are provided, the state must be passed as a prop to the `Extension` component.");const f=e??t,p=(0,r.useRef)(null),{extensions:m,extensionSlotModuleName:g}=(0,i.b)(f,u),h=(0,r.useMemo)((()=>n(m)),[n,m]),y=(0,r.useMemo)((()=>{if("function"==typeof c&&!r.isValidElement(c))return h.map((e=>c(e,u)))}),[c,h]);return r.createElement("div",{ref:p,"data-extension-slot-name":f,"data-extension-slot-module-name":g,style:{...l,position:"relative"},...d},f&&h?.map(((e,t)=>r.createElement(o.z.Provider,{key:e.id,value:{moduleName:g,featureName:"",extension:{extensionId:e.id,extensionSlotName:f,extensionSlotModuleName:g}}},y?.[t]??("function"!=typeof c?c:null)??r.createElement(s.Y,{state:u})))))}},4976:(e,t,n)=>{n.d(t,{CE:()=>r.CE,Zd:()=>r.Zd,i7:()=>r.i7,jf:()=>r.jf});var r=n(68599)},5446:(e,t,n)=>{n.d(t,{Q:()=>r});const r={"webservices.rest":"2.24.0",fhir2:"1.0.0-SNAPSHOT"}},5831:(e,t,n)=>{n.d(t,{E:()=>a});var r=n(20796),o=n(96269),s=n(89318);const i=`custom:${[["admissionDecisionConcept","ref"],["admissionEncounterType","ref"],["admissionForm","ref"],["atFacilityVisitType","ref"],["bedAssignmentEncounterType","ref"],["cancelADTRequestEncounterType","ref"],["checkInClerkEncounterRole","ref"],["checkInEncounterType","ref"],["clinicianEncounterRole","ref"],["conceptSourcesForDiagnosisSearch","ref"],["consultEncounterType","ref"],["consultFreeTextCommentsConcept","ref"],["denyAdmissionConcept","ref"],["diagnosisMetadata","ref"],["diagnosisSets","ref"],["dischargeForm","ref"],["dispositionDescriptor","ref"],["dispositions","ref"],["emrApiConceptSource","ref"],["exitFromInpatientEncounterType","ref"],["extraPatientIdentifierTypes","ref"],["fullPrivilegeLevel","ref"],["highPrivilegeLevel","ref"],["identifierTypesToSearch","ref"],["inpatientNoteEncounterType","ref"],["lastViewedPatientSizeLimit","ref"],["metadataSourceName","ref"],["motherChildRelationshipType","ref"],["narrowerThanConceptMapType","ref"],["nonDiagnosisConceptSets","ref"],["orderingProviderEncounterRole","ref"],["patientDiedConcept","ref"],["personImageDirectory","ref"],["primaryIdentifierType","ref"],["sameAsConceptMapType","ref"],["suppressedDiagnosisConcepts","ref"],["supportsAdmissionLocationTag","(uuid,display,name,links)"],["supportsLoginLocationTag","(uuid,display,name,links)"],["supportsTransferLocationTag","(uuid,display,name,links)"],["supportsVisitsLocationTag","(uuid,display,name,links)"],["telephoneAttributeType","ref"],["testPatientPersonAttributeType","ref"],["transferForm","ref"],["transferRequestEncounterType","ref"],["transferWithinHospitalEncounterType","ref"],["unknownCauseOfDeathConcept","ref"],["unknownLocation","ref"],["unknownPatientPersonAttributeType","ref"],["unknownProvider","ref"],["visitAssignmentHandlerAdjustEncounterTimeOfDayIfNecessary","ref"],["visitExpireHours","ref"],["visitNoteEncounterType","ref"]].map((([e,t])=>`${e}:${t}`)).join(",")}`;function a(){const e=`${s.Jj}/emrapi/configuration?v=${i}`,t=(0,o.A)(e,s.lo);return(0,r.useMemo)((()=>({emrConfiguration:t.data?.data,isLoadingEmrConfiguration:t.isLoading,mutateEmrConfiguration:t.mutate,errorFetchingEmrConfiguration:t.error})),[t])}},7478:(e,t,n)=>{n.d(t,{x:()=>a});var r=n(20796),o=n(83572),s=n(47204);const i={setVisitContext:(e,t)=>null==t?{manuallySetVisitUuid:null}:{manuallySetVisitUuid:t.uuid,patientUuid:t.patient?.uuid},mutateVisit(e){for(const t of Object.values(e.mutateVisitCallbacks??{}))t();return{}}};function a(e){const t=(0,r.useId)();return(0,r.useEffect)((()=>{const n=(0,o.BX)();return e&&n.setState({mutateVisitCallbacks:{...n.getState().mutateVisitCallbacks,[t]:e}}),()=>{if(e){const e={...n.getState().mutateVisitCallbacks};delete e[t],n.setState({mutateVisitCallbacks:e})}}}),[t,e]),(0,s.mQ)((0,o.BX)(),i)}},8962:(e,t,n)=>{function r(e,t){if(e===t||Object.is(e,t))return!0;if(Array.isArray(e)){if(!Array.isArray(t))return!1;if(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))return!1;if("object"!=typeof e||null===e||"object"!=typeof t||null===t)return!1;const n=Object.getOwnPropertyNames(e),r=Object.getOwnPropertyNames(t);return n.length===r.length&&n.every((n=>e[n]===t[n]))}n.d(t,{b:()=>r})},9883:(e,t,n)=>{n.d(t,{y:()=>o});var r=n(20796);function o(e){(0,r.useEffect)((()=>{if(e){const e=window.getComputedStyle(document.body).overflow;return document.body.style.overflow="hidden",()=>{document.body.style.overflow=e}}}),[e])}},10898:(e,t,n)=>{n.d(t,{JK:()=>a,Wh:()=>i,g4:()=>u,tA:()=>c});var r=n(64249);const o="openmrs:history";function s(e){let t=JSON.parse(sessionStorage.getItem(o)??"[]")||[];t.push(e),t.length>50&&(t=t.slice(-50)),sessionStorage.setItem(o,JSON.stringify(t))}function i(){0===JSON.parse(sessionStorage.getItem(o)??"[]").length&&document.referrer&&s(document.referrer),window.addEventListener("single-spa:routing-event",(e=>{const t=a();"replaceState"==e.detail.originalEvent?.singleSpaTrigger?(t[t.length-1]=window.location.href,sessionStorage.setItem(o,JSON.stringify(t))):!e.detail.originalEvent?.singleSpa&&t.includes(window.location.href)?c({toUrl:window.location.href}):t[t.length-1]!==window.location.href&&s(window.location.href)}))}function a(){return JSON.parse(sessionStorage.getItem(o)??"[]")}function c({toUrl:e}){const t=a(),n=t.lastIndexOf(e);if(-1==n)throw new Error(`URL ${e} not found in history; cannot go back to it.`);{const e=t.slice(0,n+1);(0,r.o)({to:t[n]}),sessionStorage.setItem(o,JSON.stringify(e))}}function u(){sessionStorage.removeItem(o)}},14963:(e,t,n)=>{n.d(t,{o:()=>s});var r=n(20796),o=n(99304);function s(e){const{extensions:t,extensionSlotModuleName:n}=(0,o.br)(e);return e?t.map((t=>({state:s})=>r.createElement(o.zq.Provider,{value:{moduleName:n,featureName:"",extension:{extensionId:t.id,extensionSlotName:e,extensionSlotModuleName:n}}},r.createElement(o.YY,{state:s})))):[]}},15776:(e,t,n)=>{n.d(t,{D:()=>s,q:()=>i});var r=n(45316);function o(e,t){if(t)return function(e,t){const[n]=e.filter((e=>e.matcher.test(t)));return n}(e,t)||function(e,t){const n=t.split("/");for(;n.length>1;){n.pop();const t=o(e,n.join("/"));if(t)return t}}(e,t)}function s(e,t){if(e.length>0){const n=o(e,t);if(n){const t=[n];let r=o(e,n.settings.parent);for(;void 0!==r;)t.push(r),r=o(e,r.settings.parent);return t.reverse()}}return[]}function i(e){return s((0,r.lz)(),e)}},19466:(e,t,n)=>{n.d(t,{$f:()=>g,Ct:()=>d,Gm:()=>f,IU:()=>l,Jj:()=>u,lo:()=>p,ut:()=>m});var r=n(87633),o=n(85596),s=n(60525),i=n(25489),a=n(52777);function c(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}const u="/ws/rest/v1",l="/ws/fhir2/R4",d=`${u}/session`;function f(e){return e&&e.startsWith("http")?e:("/"!==e[0]&&(e="/"+e),window.openmrsBase+e)}function p(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=f(e);if(t.headers||(t.headers={}),(0,o.A)(t.body)&&(t.body=JSON.stringify(t.body)),void 0===t.headers.Accept&&(t.headers.Accept="application/json"),null===t.headers.Accept&&delete t.headers.Accept,e.startsWith(u)&&void 0===t.headers["Disable-WWW-Authenticate"]&&(t.headers["Disable-WWW-Authenticate"]="true"),e.startsWith(l)){const e=new URL(n,window.location.toString());e.searchParams.has("_summary")||(e.searchParams.set("_summary","data"),n=e.toString())}const r=Error();return window.fetch(n,t).then((async e=>{const t=e,{redirectAuthFailure:o,followRedirects:c}=await(0,s.zj)("@openmrs/esm-api");if(t.ok){if(204===t.status){if(c&&t.headers.has("location")){const e=t.headers.get("location");e&&(0,i.oo)({to:e})}return t.data=null,t}return t.clone().text().then((e=>{try{e&&(t.data=JSON.parse(e))}catch(e){}return t}))}if(n===f(d)&&403===t.status||o.enabled&&o.errors.includes(t.status)){(0,i.g4)();const e=o.url||t.headers.get("location")||a.h;return(0,i.oo)({to:e}),o.resolvePromise?Promise.resolve():new Promise((()=>{}))}return t.clone().text().then((e=>{let o=e;try{o=JSON.parse(e)}catch(e){}throw new g(n,t,o,r)}),(e=>{throw new g(n,t,null,r)}))}))}function m(e,t={}){if("object"!=typeof t)throw Error("The second argument to openmrsObservableFetch must be either omitted or an object");const n=new AbortController;return t.signal=n.signal,new r.Observable((r=>{let o=!1;return p(e,t).then((e=>{o=!0,r.next(e),r.complete()}),(e=>{o=!0,r.error(e)})),()=>{o||n.abort()}}))}class g extends Error{constructor(e,t,n,r){super(),c(this,"response",void 0),c(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`,r.message=this.message,this.responseBody=n,this.response=t,this.stack=`Stacktrace for outgoing request:\n${r.stack}\nStacktrace for incoming response:\n${this.stack}`}}},21524:(e,t,n)=>{n.d(t,{Z:()=>r});var r=function(e){return e.Array="Array",e.Boolean="Boolean",e.ConceptUuid="ConceptUuid",e.Number="Number",e.Object="Object",e.String="String",e.UUID="UUID",e.PersonAttributeTypeUuid="PersonAttributeTypeUuid",e.PatientIdentifierTypeUuid="PatientIdentifierTypeUuid",e}({})},21741:(e,t,n)=>{n.d(t,{w:()=>s});var r=n(83572),o=n(20796);function s(){const[e,t]=(0,o.useState)([]);return(0,o.useEffect)((()=>{const e=(0,r.Pu)().subscribe((e=>{t(e)}),(e=>console.error(e)));return()=>e.unsubscribe()}),[]),e}},22797:(e,t,n)=>{n.d(t,{i:()=>s});var r=n(20796),o=n(25489);function s({to:e,templateParams:t,onBeforeNavigate:n,children:s,...i}){return(0,r.useEffect)((()=>{i.href&&console.warn(`ConfigurableLink does not support the href prop. Use the 'to' prop instead. The provided href value is '${i.href}'`),i.onClick&&console.warn(`ConfigurableLink does not support the onClick prop. Use the 'onBeforeNavigate' prop instead. The 'to' prop of the offending link is ${e}`)}),[]),r.createElement("a",{onClick:r=>function(e,t,n,r){0!==e.button||e.ctrlKey||e.shiftKey||e.altKey||e.metaKey||(e.preventDefault(),r?.(e),(0,o.oo)({to:t,templateParams:n})),0===e.button&&(e.ctrlKey||e.metaKey)&&r?.(e),0===e.button&&e.shiftKey&&r?.(e),1===e.button&&r?.(e)}(r,e,t,n),href:(0,o.JG)(e,t),...i},s)}},23687:(e,t,n)=>{n.d(t,{A:()=>s,I:()=>o});var r=n(20796);function o(){const e=(0,r.useRef)();return e.current&&!e.current.signal.aborted||(e.current=new AbortController),(0,r.useEffect)((()=>{const t=e.current;return()=>t?.abort()}),[]),e.current}const s=o},23713:(e,t,n)=>{n.d(t,{W:()=>s});var r=n(20796),o=n(81203);function s(e){const t=(0,o.C)(e);return(0,r.useMemo)((()=>Object.fromEntries(t.map((e=>[e.name,e.meta])))),[t])}},25489:(e,t,n)=>{n.d(t,{D_:()=>o.D,JG:()=>a.J,JK:()=>s.JK,MY:()=>r.MY,Wh:()=>s.Wh,g4:()=>s.g4,lz:()=>r.lz,oo:()=>i.o,qh:()=>o.q,tA:()=>s.tA,vf:()=>r.vf,zl:()=>a.z});var r=n(45316),o=n(15776),s=n(10898),i=n(64249),a=n(59629)},26382:(e,t,n)=>{n.d(t,{Bv:()=>i,KU:()=>s,SY:()=>c,Zu:()=>o,cD:()=>a});var r=n(89318);const o=`${r.Jj}/attachment`;function s(e,t){return(0,r.lo)(`${o}/${e}`,{signal:t.signal})}function i(e,t,n){return(0,r.lo)(`${o}?patient=${e}&includeEncounterless=${t}`,{signal:n.signal})}async function a(e,t){const n=new FormData;return n.append("fileCaption",t.fileDescription),n.append("patient",e),t.file?n.append("file",t.file,t.fileName):(n.append("file",new File([""],t.fileName),t.fileName),n.append("base64Content",t.base64Content)),(0,r.lo)(`${o}`,{method:"POST",body:n})}function c(e,t){return(0,r.lo)(`${o}/${e}`,{method:"DELETE",signal:t.signal})}},26598:(e,t,n)=>{n.d(t,{G9:()=>l,GI:()=>f,H:()=>i,IS:()=>c,P0:()=>m,Rt:()=>s,UY:()=>p,YP:()=>u,g$:()=>g,hs:()=>a,tN:()=>h,vu:()=>d});var r=n(4976),o=n(8962);const s=(0,r.Zd)("config-internal",{providedConfigs:[],schemas:{},moduleLoaded:{}}),i=(0,r.Zd)("temporary-config",{config:function(){try{return JSON.parse(localStorage.getItem("openmrs:temporaryConfig")||"{}")}catch(e){return{}}}()});i.subscribe((e=>{var t;t=e.config,localStorage.setItem("openmrs:temporaryConfig",JSON.stringify(t))}));const a=(0,r.Zd)("config-store-of-extension-state",{mountedExtensions:[]});function c(e){return(0,r.jf)(`config-module-${e}`,{config:null,loaded:!1,translationOverridesLoaded:!1})}function u(){return(0,r.jf)("config-extension-slots",{slots:{}})}function l(e){return d(u().getState(),e)}function d(e,t){return e.slots[t]??{loaded:!1,config:{}}}function f(){return(0,r.jf)("config-extensions",{configs:{}})}function p(e,t){if("string"!=typeof e||"string"!=typeof t||"__proto__"===e||"__proto__"===t||"constructor"===e||"constructor"===t||"prototype"===e||"prototype"===t)throw new Error("Attempted to call `getExtensionConfig()` with invalid argument");const n=f(),r=n=>n.configs[e]?.[t];return{getInitialState:()=>r(n.getInitialState()),getState:()=>r(n.getState())??{loaded:!1,config:null},setState(r,o=!1){n.setState((n=>{n.configs[e]||(n.configs[e]={});const s="function"==typeof r?r(n.configs.slotName[t]):r;return n.configs[e][t]=o?Object.assign({},s):Object.assign({},n.configs[e][t],s),n}))},subscribe:e=>n.subscribe(((t,n)=>{const s=r(t),i=r(n);(0,o.b)(s,i)||e(s,i)})),destroy(){}}}function m(e,t,n){const r=e.configs[t]?.[n];return r??{loaded:!1,config:null}}function g(e,t,n){const r=e.configure?.[n];return r??null}const h=(0,r.Zd)("config-implementer-tools",{config:{}})},26711:(e,t,n)=>{n.d(t,{p:()=>o});var r=n(95968);function o({namespace:e,value:t}){return(0,r.j)(e,t),null}},27304:(e,t,n)=>{n.d(t,{J:()=>o});var r=n(20796);function o(e){const t=(0,r.useRef)();return(0,r.useEffect)((()=>{const n=new IntersectionObserver((t=>{for(const 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}},29271:(e,t,n)=>{n.d(t,{_:()=>a});var r=n(20796),o=n(47488),s=n(89318),i=n(83572);function a(e,t){const{data:n,error:a,mutate:c,isLoading:u,isValidating:l}=(0,o.Ay)(`${i.Zu}?patient=${e}&includeEncounterless=${t}`,s.lo);return(0,r.useMemo)((()=>({isLoading:u,data:n?.data.results??[],error:a,mutate:c,isValidating:l})),[n,a,u,l,c])}},30493:(e,t,n)=>{n.d(t,{h:()=>s});var r=n(89318),o=n(80830);async function s(e,t,n=!0){if(e){let o=null;const[s,a]=await Promise.all([(0,r.lo)(`${r.IU}/Patient/${e}`,t).catch((e=>o=e)),n?i(e):Promise.resolve(null)]);if(s.ok)return s.data;if(a)return a;if(o)throw o}return null}async function i(e){const t=(await(0,o.pb)("patient-registration")).find((t=>t.fhirPatient.id===e));return t?.fhirPatient??null}},33633:(e,t,n)=>{n.d(t,{II:()=>c,N:()=>s,R:()=>d,SD:()=>u,ji:()=>a,r_:()=>l});var r=n(19167),o=n(4976);const s=(0,r.y)()((()=>({})));(0,o.CE)("openmrs-app-context",s);const i=Object();function a(e,t=i){s.setState((n=>{if(e in n)throw new 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===i?{}:t})}))}function c(e){s.setState((t=>(e in t&&delete t[e],t)))}function u(e,t=e=>e){const n=s.getState();return e in n?Object.freeze(Object.assign({},t?t(n[e]):n[e])):null}function l(e,t){s.setState((n=>(e in n||(n[e]={}),n[e]=t(n[e]),Object.assign({},n))))}function d(e,t){let n=u(e);return t(Object.freeze(Object.assign({},n))),s.subscribe((r=>{let o=e in r?r[e]:null;o!==n&&(n=o,t(Object.freeze(Object.assign({},o))))}))}},35401:(e,t,n)=>{n.d(t,{q:()=>s});var r=n(89318),o=n(20796);const s=({privilege:e,fallback:t,children:n})=>{const[s,i]=(0,o.useState)(null);return(0,o.useEffect)((()=>{const e=(0,r.HW)({includeAuthStatus:!1}).subscribe(i);return()=>e.unsubscribe()}),[]),s&&(0,r.st)(e,s)?o.createElement(o.Fragment,null,n):t?o.createElement(o.Fragment,null,t):null}},35959:(e,t,n)=>{n.d(t,{K0:()=>r.K0,dO:()=>o.d,Ef:()=>o.E,Yo:()=>r.Yo,No:()=>r.No,zx:()=>r.zx,a9:()=>j.a9,ES:()=>r.ES,Tj:()=>r.Tj,xg:()=>r.xg,zF:()=>j.zF,o1:()=>S,Fg:()=>u,YX:()=>E,Ml:()=>v,Q_:()=>y,Xb:()=>h,Gp:()=>s.Gp,VK:()=>r.VK,FY:()=>r.FY,Ju:()=>c,pm:()=>p,io:()=>m,rD:()=>x,Qb:()=>N,Uh:()=>A,wG:()=>k.w,cL:()=>r.cL,Vx:()=>s.Vx,sr:()=>s.sr,ap:()=>r.ap,DQ:()=>j.DQ,J_:()=>b});var r=n(2327),o=n(54804),s=n(56004),i=n(4976);const a=(0,i.Zd)("modalRegistry",{modals:{}});function c(e){a.setState((t=>(t.modals[e.name]=e,t)))}function u(e){let t=a.getState().modals[e];if(!t){const n=(0,r.Tj)(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.`),c(t))}return t}var l=n(89048);const d=(0,i.Zd)("workspaceRegistrations",{workspaces:{}}),f=(0,i.Zd)("workspaceGroups",{workspaceGroups:{}});function p(e){d.setState((t=>({workspaces:{...t.workspaces,[e.name]:{...e,load:e.load,preferredWindowSize:e.preferredWindowSize??"normal",type:e.type??"form",canHide:e.canHide??!1,canMaximize:e.canMaximize??!1,width:e.width??"narrow",groups:e.groups??[]}}})))}function m(e){f.setState((t=>{const n=t.workspaceGroups[e.name];return n?{workspaceGroups:{...t.workspaceGroups,[e.name]:{...n,members:Array.from(new Set([...n.members,...e.members]))}}}:{workspaceGroups:{...t.workspaceGroups,[e.name]:{name:e.name,members:e.members}}}}))}const g=new Set;function h(e){const t=d.getState().workspaces;if(t[e])return t[e];{const t=(0,r.Tj)(e);if(t)return g.has(e)||(console.warn(`The workspace '${e}' is registered as an extension. This is deprecated. Please register it in the "workspaces" section of the routes.json file.`),g.add(e)),{name:t.name,title:w(t),moduleName:t.moduleName,preferredWindowSize:t.meta?.screenSize??"normal",load:t.load,type:t.meta?.type??"form",canHide:t.meta?.canHide??!1,canMaximize:t.meta?.canMaximize??!1,width:t.meta?.width??"narrow",groups:t.meta?.groups??[]};throw new Error(`No workspace named '${e}' has been registered.`)}}function y(e){const t=f.getState().workspaceGroups;if(t[e])return t[e];throw new Error(`No workspace group named '${e}' has been registered.`)}function w(e){const t=e?.meta?.title;return"string"==typeof t?t:t&&"object"==typeof t?(0,l.t)(e.moduleName,t.key,t.default):e.name}const b=(0,i.Zd)("workspace2",{registeredGroupsByName:{},registeredWindowsByName:{},registeredWorkspacesByName:{},openedGroup:null,openedWindows:[],workspaceTitleByWorkspaceName:{},isMostRecentlyOpenedWindowHidden:!1});function v(e){const{registeredWorkspacesByName:t,registeredWindowsByName:n}=b.getState(),r=t[e];if(r){const t=n[r.window];if(t)return t;throw new Error(`No workspace window found with name: ${r.window} for workspace: ${e}`)}throw new Error(`No workspace found with name: ${e}`)}function S(e){const{registeredGroupsByName:t,registeredWindowsByName:n}=b.getState(),r=n[e];if(r){const n=t[r.group];if(n)return n;throw new Error(`No workspace group found with name: ${r.group} for window: ${e}`)}throw new Error(`No workspace window found with name: ${e}`)}function E(e){const{openedWindows:t}=b.getState();return t.findIndex((t=>t.openedWorkspaces.find((t=>t.workspaceName===e))))}function x(e,t){if(0==t.length)return;const{registeredGroupsByName:n}=b.getState(),r={...n};for(const n of t){if(r[n.name])throw new Error(`Cannot register workspace group ${n.name} more than once`);r[n.name]={...n,moduleName:e}}b.setState({registeredGroupsByName:r})}function N(e,t){if(0==t.length)return;const{registeredWindowsByName:n}=b.getState(),r={...n};for(const n of t){if(r[n.name])throw new Error(`Cannot register workspace window ${n.name} more than once`);const t={...n,moduleName:e};r[n.name]=t}b.setState({registeredWindowsByName:r})}function A(e,t){if(0==t.length)return;const{registeredWorkspacesByName:n}=b.getState(),r={...n};for(const n of t){if(r[n.name])throw new Error(`Cannot register workspace ${n.name} more than once`);const t={...n,moduleName:e};r[n.name]=t}b.setState({registeredWorkspacesByName:r})}var k=n(93609),j=n(464)},40484:(e,t,n)=>{n.d(t,{m:()=>i,t:()=>s});var r=n(89318),o=n(72001);function s(e,t,n={}){return(0,o.px)(e,t,i(),n)}function i(){return{getPaginatedUrl:(e,t,n)=>{if(e){const o=new URL((0,r.Gm)(e.toString()),window.location.toString());return o.searchParams.set("_count",""+t),o.searchParams.set("_getpagesoffset",""+n),o.toString()}return null},getNextUrl:e=>{const t=e?.link?.find((e=>"next"==e.relation))?.url;if(t){const e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}return null},getTotalCount:e=>e?.total??Number.NaN,getCurrentPageSize:e=>e?.entry?.length??Number.NaN,getData:e=>e?.entry?.map((e=>e.resource))}}},41680:(e,t,n)=>{n.d(t,{Nh:()=>H,T0:()=>v,ks:()=>N,zj:()=>k,td:()=>j,mq:()=>C,Gt:()=>A,kl:()=>E,FL:()=>S,GV:()=>x,Nz:()=>Y});var r=n(48197),o=n(56144),s=n(8688),i=n(46815),a=n(98980),c=n(21524),u=n(77835);const l=(0,u.N)((e=>Array.isArray(e)),"must be an array"),d=(0,u.N)((e=>"boolean"==typeof e),"must be a boolean"),f=(0,u.N)((e=>"number"==typeof e),"must be a number"),p=(0,u.N)((e=>"string"==typeof e),"must be a string"),m=(0,u.N)((e=>"object"==typeof e&&!Array.isArray(e)&&null!==e),"must be an object (not an array or null)"),g=(0,u.N)((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");var h=n(26598);const y=[];function w(){const e=h.Rt.getState(),t=h.H.getState(),n=h.hs.getState();!function(e,t){for(let n of Object.keys(e.schemas)){const r=(0,h.IS)(n);let o;o=e.moduleLoaded[n]?{translationOverridesLoaded:!0,loaded:!0,config:_(n,e,t)}:{translationOverridesLoaded:!0,loaded:!1,config:U(n,e,t)},r.setState(o)}}(e,t),function(e,t){const n=h.tN.getState(),o=function(e,t){let n=O((0,i.A)(e.schemas));const r=[...e.providedConfigs.map((e=>[e.config,e.source])),[t.config,"temporary config"]];for(let[e,t]of r)n=L([n,I(e,t)]);return n}(e,t),s={config:o};(0,r.A)(n.config,s.config)||h.tN.setState(s)}(e,t),function(e,t){const n=function(e,t){const n=L(P(e,t)),r=Object.keys(n).reduce(((e,t)=>(n[t]?.extensionSlots&&(e[t]=n[t]?.extensionSlots),e)),{});!function(e){for(let[t,n]of Object.entries(e))for(let[e,r]of Object.entries(n))T(r,t,e)}(r);return Object.keys(r).reduce(((e,t)=>({...e,...r[t]})),{})}(e,t),o=Object.fromEntries(Object.entries(n).map((([e,t])=>[e,{loaded:!0,config:t}]))),s=(0,h.YP)(),i=s.getState(),a={slots:{...i.slots,...o}};(0,r.A)(i.slots,a.slots)||s.setState(a)}(e,t),function(e,t,n){const o={};for(let r of t.mountedExtensions){const t=$(r.slotModuleName,r.extensionModuleName,r.slotName,r.extensionId,e,n);o[r.slotName]||(o[r.slotName]={}),o[r.slotName][r.extensionId]={config:t,loaded:!0}}const s=(0,h.GI)(),i=s.getState(),a={configs:o};(0,r.A)(i.configs,a.configs)||s.setState(a)}(e,n,t)}function b(){w(),y.push(h.Rt.subscribe(w)),y.push(h.H.subscribe(w)),y.push(h.hs.subscribe(w))}function v(e,t){D(e,t);const n=(0,o.A)(t,Q);h.Rt.setState((t=>({...t,schemas:{...t.schemas,[e]:n},moduleLoaded:{...t.moduleLoaded,[e]:!0}})))}function S(e){h.Rt.setState((t=>({...t,schemas:{...t.schemas,[e]:Q}})))}function E(e){h.Rt.setState((t=>({...t,moduleLoaded:{...t.moduleLoaded,[e]:!0}})))}function x(e){h.Rt.setState((t=>({...t,schemas:{...t.schemas,[e]:q}})))}function N(e,t){D(e,t);const n=(0,o.A)(t,Q);h.Rt.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.`),h.Rt.setState((t=>({...t,schemas:{...t.schemas,[e]:n}})))}function A(e,t="provided"){h.Rt.setState((n=>({...n,providedConfigs:[...n.providedConfigs,{source:t,config:e}]})))}function k(e){return new Promise((t=>{const n=(0,h.IS)(e);function r(e){if(e.loaded&&e.config){const n=(0,s.A)(["Display conditions","Translation overrides"],e.config);t(n),o&&o()}}r(n.getState());const o=n.subscribe(r)}))}function j(e,t,n){const r=[new Promise((t=>{const n=(0,h.IS)(e);function r(e){if(e.translationOverridesLoaded&&e.config){const n=e.config["Translation overrides"]??{};t(n),o&&o()}}r(n.getState());const o=n.subscribe(r)}))];return t&&n&&r.push(new Promise((e=>{const r=(0,h.UY)(t,n);function o(t){if(t.loaded&&t.config){const n=t.config["Translation overrides"]??{};e(n),s&&s()}}o(r.getState());const s=r.subscribe(o)}))),Promise.all(r)}function C(e,t,n){R(e,t,n);const r=G(e,t);return W(e,r,n),r}function $(e,t,n,r,o,s){const i=function(e){const[t]=e.split("#");return t}(r),a=o.schemas[i],c=a?i:t,u=P(o,s),l=M(e,u),d=l?.extensionSlots?.[n]?.configure?.[r]??{},f=L([M(c,u),d]),p=a??o.schemas[t];R(p,f,c);const m=G(p,f);return W(p,m,c),delete m.extensionSlots,m}function O(e){return e.hasOwnProperty("_default")?{...e,_value:e._default,_source:"default"}:J(e)?Object.keys(e).reduce(((t,n)=>(t[n]=O(e[n]),t)),{}):{}}function I(e,t){return J(e)?Object.keys(e).reduce(((n,r)=>(n[r]=I(e[r],t),n)),{}):{_value:e,_source:t}}function T(e,t,n){const r=`${t}.extensionSlots.${n}`,o=`Extension slot config '${r}'`,s=Object.keys(e).filter((e=>!["add","remove","order","configure"].includes(e)));s.length&&K(r,o+`' contains invalid keys '${s.join("', '")}'`),e.add&&(Array.isArray(e.add)&&e.add.every((e=>"string"==typeof e))||K(r,o+".add' is invalid. Must be an array of strings (extension IDs)")),e.remove&&(Array.isArray(e.remove)&&e.remove.every((e=>"string"==typeof e))||K(r,o+".remove' is invalid. Must be an array of strings (extension IDs)")),e.order&&(Array.isArray(e.order)&&e.order.every((e=>"string"==typeof e))||K(r,o+".order' is invalid. Must be an array of strings (extension IDs)")),e.configure&&(J(e.configure)||K(r,o+".configure' is invalid. Must be an object with extension IDs for keys"))}function P(e,t){return[...e.providedConfigs.map((e=>e.config)),t.config]}function D(e,t,n=""){const r="Please verify that you are running the latest version and, if so, alert the maintainer.";for(const o of Object.keys(t).filter((e=>!e.startsWith("_")))){const s=n+(n&&".")+o,i=t[o];if("Display conditions"===s&&console.error(`${e} declares a configuration option called "Display conditions"; the "Display conditions" option is a reserved name. ${r}`),"Translation overrides"===s&&console.error(`${e} declares a configuration option called "Translation overrides"; the "Translation overrides" option is a reserved name. ${r}`),!J(i)){console.error(`${e} has bad config schema definition for key '${s}'. ${r}`);continue}i.hasOwnProperty("_default")||D(e,i,s);const a=i._elements;if(V(a)&&D(e,a,s+"._elements"),i._validators)for(let t of i._validators)"function"!=typeof t&&console.error(`${e} has invalid validator for key '${s}' ${r}.\n\nIf you're the maintainer: validators must be functions that return either undefined or an error string. Received ${t}.`);const u=i._type;u&&!Object.values(c.Z).includes(u)&&console.error(`${e} has invalid type for key '${s}' ${r}.\n\nIf you're the maintainer: the allowed types are ${Object.values(c.Z).join(", ")}. Received '${u}'`),Object.keys(i).every((e=>["_description","_validators","_elements","_type"].includes(e)))&&!n.includes("._elements")&&console.error(`${e} has bad config schema definition for key '${s}'. ${r}.\n\nIf you're the maintainer: all config elements must have a default. Received ${JSON.stringify(i)}`),a&&u&&![c.Z.Array,c.Z.Object].includes(u)&&console.error(`${e} has bad config schema definition for key '${s}'. ${r}.\n\nIf you're the maintainer: the 'elements' key only works with '_type' equal to 'Array' or 'Object'. Received ${JSON.stringify(u)}`)}}function _(e,t,n){const r=t.schemas[e],o=M(e,P(t,n));R(r,o,e);const s=G(r,o);return W(r,s,e),delete s.extensionSlots,s}function U(e,t,n){const r=M(e,P(t,n)),o=G(Q,r);return W(Q,o,e),delete o.extensionSlots,o}function M(e,t){return L(t.map((({[e]:t})=>t)).filter((e=>!!e)))}function L(e){return(0,a.A)(o.A)({},e)}function R(e,t,n=""){for(const r of Object.keys(t)){const o=t[r],s=n+"."+r,i=e[r];e.hasOwnProperty(r)?B(i,o,s):"extensionSlots"===r&&""!==n||K(s,`Unknown config key '${s}' provided. Ignoring.`)}}function B(e,t,n){z(n,e._type,t),J(t)?e._type===c.Z.Object?function(e,t,n){if(e._elements)for(const r of Object.keys(t)){const o=t[r];B(e._elements,o,`${n}.${r}`)}}(e,t,n):e.hasOwnProperty("_default")||e.hasOwnProperty("_type")||R(e,t,n):e._type===c.Z.Array&&function(e,t,n){if(z(n,c.Z.Array,t)){if(V(e._elements))for(let r=0;r<t.length;r++)B(e._elements,t[r],`${n}[${r}]`);for(let r=0;r<t.length;r++)z(`${n}[${r}]`,e._elements?._type,t[r])}}(e,t,n)}function W(e,t,n=""){if(e)if(t!==e._default&&F(n,e._validators,t),J(t))for(const r of Object.keys(t)){const o=t[r],s=n+"."+r,i=e[r];e._type===c.Z.Object&&e._elements?W(e._elements,o,s):W(i,o,s)}else if(Array.isArray(t)&&e._elements)for(let r=0;r<t.length;r++)W(e._elements,t[r],`${n}[${r}]`)}function z(e,t,n){return!t||F(e,[{Array:l,Boolean:d,ConceptUuid:g,Number:f,Object:m,String:p,UUID:g,PersonAttributeTypeUuid:g,PatientIdentifierTypeUuid:g}[t]],n)}function F(e,t,n){let r=!0;if(t)try{for(let o of t){const t=o(n);"string"==typeof t&&(K(e,"object"==typeof n?`Invalid configuration for ${e}: ${t}`:`Invalid configuration value ${n} for ${e}: ${t}`),r=!1)}}catch(t){console.error(`Skipping invalid validator at "${e}". Encountered error\n\t${t}`)}return r}b();const G=(e,t)=>{const n=(0,i.A)(t);if(!e)return n;for(const t of Object.keys(e)){const r=n[t],o=e[t];if(o&&(o.hasOwnProperty("_type")||o.hasOwnProperty("_default"))){n.hasOwnProperty(t)||(n[t]=o._default);const e=o._elements;if(r&&V(e))if(o._type===c.Z.Array&&Array.isArray(r)){const o=r.map((t=>G(e,t)));n[t]=o}else if(o._type===c.Z.Object)for(let t of Object.keys(r))r[t]=G(e,r[t])}else if(J(o)){const e=r??{};J(e)&&(n[t]=G(o,e))}}return n};function V(e){return!!e&&Object.keys(e).filter((e=>!["_default","_validators"].includes(e))).length>0}function J(e){return"object"==typeof e&&!Array.isArray(e)&&null!==e}let Z=new Set;function K(e,t){const n=`${e}:::${t}`;Z||(Z=new Set),Z.has(n)||(console.error(t),Z.add(n))}function H(e){e?Z.forEach((t=>{t.startsWith(e)&&Z.delete(t)})):Z.clear()}function Y(){y.forEach((e=>e())),y.length=0,b()}const q={"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:c.Z.Object,_default:{},_validators:[(0,u.N)((e=>Object.keys(e).every((e=>/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e)))),(e=>`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: ${Object.keys(e).filter((e=>!/^[a-z]{2,3}(-[A-Z]{2,3})?$/.test(e))).join(", ")}.`))]}},Q={"Display conditions":{privileges:{_description:"The privilege(s) the user must have to use this extension",_type:c.Z.Array,_default:[]},expression:{_description:"The expression that determines whether the extension is displayed",_type:c.Z.String,_default:void 0}},...q}},42568:(e,t,n)=>{function r(e,t){const n=new CustomEvent(`openmrs:${e}`,{detail:t??void 0,cancelable:!0,bubbles:!0});return window.dispatchEvent(n)}function o(e,t){const n=e=>{const n="detail"in e&&null!==e.detail?e.detail:void 0;t(n)};return window.addEventListener(`openmrs:${e}`,n),()=>{window.removeEventListener(`openmrs:${e}`,n)}}n.d(t,{$:()=>o,X:()=>r})},43236:(e,t,n)=>{n.d(t,{P:()=>i,Q:()=>s});var r=n(89318),o=n(1865);function s(e){return{uuid:e.uuid,display:e.display,name:e.name}}function i(){return(0,r.ut)(`${r.Jj}/visittype`).pipe((0,o.Tj)((e=>e.data.results.map(s)))).pipe((0,o.s)(1))}},44186:(e,t,n)=>{n.d(t,{F:()=>d});var r=n(20796),o=n(94728),s=n(47488),i=n(89318),a=n(4574);const c={strictMode:!0,throwErrorsToConsole:!0,disableTranslations:!1},u=new Map,l={errorRetryCount:3,fetcher:i.lo,focusThrottleInterval:18e5,revalidateIfStale:!0,revalidateOnFocus:!1,revalidateOnReconnect:!1,refreshInterval:0,shouldRetryOnError:e=>{if(e instanceof i.$f){const t=e.response.status;return t>=500||401===t||403===t||429===t}return!0},provider:()=>u};function d(e){if("object"!=typeof e||"string"!=typeof e.featureName||"string"!=typeof e.moduleName)throw new Error("Invalid options");const t=Object.assign({},c,e),n={...l,...t.swrConfig};return function(e){var i,c,u,l;return c=i=class extends r.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 r.createElement("div",null,"An error has occurred. Please try reloading the page.");{const i=r.createElement(r.Suspense,{fallback:null},r.createElement(s.BE,{value:n},r.createElement(a.z.Provider,{value:this.state.config},t.disableTranslations?r.createElement(e,this.props):r.createElement(o.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},r.createElement(e,this.props)))));return t.strictMode&&r.StrictMode?r.createElement(r.StrictMode,null,i):i}}constructor(e){super(e),this.state={caughtError:null,caughtErrorInfo:null,config:{moduleName:t.moduleName,featureName:t.featureName,extension:e._extensionContext}}}},u="displayName",l=`OpenmrsReactComponent(${t.featureName})`,u in c?Object.defineProperty(c,u,{value:l,enumerable:!0,configurable:!0,writable:!0}):c[u]=l,i}}},44232:(e,t,n)=>{n.d(t,{b:()=>a});var r=n(20796),o=n(35959),s=n(4574),i=n(81203);function a(e,t){const{moduleName:n}=(0,r.useContext)(s.z),a=(0,r.useRef)(!0);if(!n)throw Error("ComponentContext has not been provided. This should come from @openmrs/esm-react-utils.");return(0,r.useEffect)((()=>{(0,o.FY)(n,e,t),a.current=!1}),[]),(0,r.useEffect)((()=>{a.current||(0,o.ap)(e,t)}),[e,t]),{extensions:(0,i.C)(e),extensionSlotName:e,extensionSlotModuleName:n}}},45316:(e,t,n)=>{n.d(t,{MY:()=>a,lz:()=>c,vf:()=>i});var r=n(23916);const o=(0,n(4976).Zd)("breadcrumbs",[]);function s(e){return e.matcher instanceof RegExp?e.matcher:"string"==typeof e.matcher?(0,r.MM)(e.matcher):(0,r.MM)(e.path)}function i(e){return a([e])}function a(e){const t=[...c(),...e.map((e=>({matcher:s(e),settings:e})))];o.setState(t,!0)}function c(){return o.getState()}},46095:(e,t,n)=>{n.d(t,{W:()=>o});var r=n(20796);function o(e,t=!0){const n=(0,r.useRef)(null);return(0,r.useEffect)((()=>{const r=r=>{t&&n.current&&r.target&&r.target instanceof Node&&(n.current.contains(r.target)||e(r))};return window.addEventListener("mousedown",r),window.addEventListener("touchstart",r),()=>{window.removeEventListener("mousedown",r),window.removeEventListener("touchstart",r)}}),[e,t]),n}},47204:(e,t,n)=>{n.d(t,{Pj:()=>i,mQ:()=>a,rr:()=>c});var r=n(20796);function o(e,t){"function"==typeof t&&(t=t(e));const n={};for(const[r,o]of Object.entries(t)){const t=function(...t){e.setState((e=>o(e,...t)))};n[r]=t}return n}const s=()=>e=>e;function i(e,t=s(),n){const i=(0,r.useCallback)((t=>e.subscribe(t)),[e]),a=(0,r.useCallback)((()=>t(e.getState())),[e,t]);return{...(0,r.useSyncExternalStore)(i,a,a),...(0,r.useMemo)((()=>n?o(e,n):{}),[e,n])}}function a(e,t){return i(e,s(),t)}function c(e){return function(t){const n=(0,r.useCallback)((t=>e.subscribe(t)),[]),s=(0,r.useCallback)((()=>e.getState()),[]);return{...(0,r.useSyncExternalStore)(n,s,s),...(0,r.useMemo)((()=>t?o(e,t):{}),[t])}}}},48056:(e,t,n)=>{n.d(t,{B4:()=>r.B4,D3:()=>r.D3,jX:()=>r.jX,jj:()=>r.jj,sM:()=>r.sM,uA:()=>r.uA});var r=n(78624)},52777:(e,t,n)=>{n.d(t,{Q:()=>s,h:()=>o});var r=n(60525);const o="${openmrsSpaBase}/login",s={redirectAuthFailure:{enabled:{_type:r.ZU.Boolean,_default:!0,_description:"Whether to redirect logged-out users to `redirectAuthFailure.url`"},url:{_type:r.ZU.String,_default:o,_validators:[r.y$.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:r.ZU.Array,_default:[401],_elements:{_type:r.ZU.Number,_validators:[r.y$.inRange(100,600)]},_description:"The HTTP error codes for which users will be redirected"},resolvePromise:{_type:r.ZU.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:r.ZU.Boolean,_default:!0,_description:"Whether openmrsFetch should support redirects returned from the backend"}}},53948:(e,t,n)=>{n.d(t,{E4:()=>f,EW:()=>d,Fi:()=>b,Gp:()=>w,HW:()=>l,Kx:()=>y,eA:()=>c,g$:()=>m,st:()=>g,xC:()=>h,yH:()=>p});var r=n(65015),o=n(4976),s=n(28927),i=n(87633),a=n(19466);const c=(0,o.Zd)("session",{loaded:!1,session:null});let u=0;function l(e={includeAuthStatus:!0}){return(u<Date.now()-6e4||!c.getState().loaded)&&p(),new i.Observable((t=>{const n=n=>{n.loaded&&(e.includeAuthStatus?t.next(n.session):t.next(n.session?.user))};return n(c.getState()),c.subscribe(n)}))}function d(){return(u<Date.now()-6e4||!c.getState().loaded)&&p(),c}function f(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 p(e,t){u=Date.now();let n={};return e&&t&&(n.Authorization=`Basic ${window.btoa(`${e}:${t}`)}`),v((0,a.lo)(a.Ct,{headers:n}))}function m(){c.setState({loaded:!0,session:{authenticated:!1,sessionId:""}})}function g(e,t){return void 0===t?!Boolean(e):!Boolean(e)||function(e,t){return"string"==typeof e?!(0,s.A)(t.privileges.find((t=>e===t.display))):Array.isArray(e)?e.every((e=>!(0,s.A)(t.privileges.find((t=>e===t.display))))):((0,s.A)(e)||console.error(`Could not understand privileges "${e}"`),!0)}(e,t)||function(e){return!(0,s.A)(e.roles.find((e=>"System Developer"===e.display)))}(t)}function h(){let e,t;return new Promise((n=>{const r=r=>{r.loaded&&r.session.user&&(e=r.session.user,n(r.session.user),t&&t())};r(c.getState()),e||(t=c.subscribe(r))}))}function y(){return new Promise(((e,t)=>{l().subscribe((t=>{e(t.sessionLocation)}),t).unsubscribe()}))}async function w(e,t){return v((0,a.lo)(a.Ct,{method:"POST",body:{sessionLocation:e},headers:{"Content-Type":"application/json"},signal:t.signal}))}async function b(e,t,n){return n||(n=new AbortController),await(0,a.lo)(`${a.Jj}/user/${e}`,{method:"POST",body:{userProperties:t},headers:{"Content-Type":"application/json"},signal:n.signal}),p()}function v(e){return new Promise(((t,n)=>{e.then((e=>{let r;"object"==typeof e?.data?(r={loaded:!0,session:e.data},c.setState(r),t(r)):(r={loaded:!1,session:null},c.setState(r),n(r))})).catch((e=>{(0,r.N)(`Failed to fetch new session information: ${e}`);const t={loaded:!1,session:null};c.setState(t),n(t)}))}))}c.subscribe((e=>{e.loaded&&e.session&&f(e.session)}))},54804:(e,t,n)=>{n.d(t,{E:()=>s,d:()=>o});var r=n(84848);function o(e=!0,t=!1){return s((0,r.s)(),e,t)}function s(e,t=!0,n=!1){return Boolean(e?t:n)}},55125:(e,t,n)=>{n.d(t,{E:()=>s,V:()=>i});var r=n(89318),o=n(1865);function s(e){return{uuid:e.uuid,display:e.display}}function i(e=null,t=null){const n=new URLSearchParams;e&&n.set("tag",e),t&&n.set("q",t);const i=n.toString(),a=`${r.Jj}/location${i?"?"+i:""}`;return(0,r.ut)(a).pipe((0,o.Tj)((e=>e.data.results.map(s)))).pipe((0,o.s)(1))}},55565:(e,t,n)=>{n.d(t,{k:()=>s});var r=n(20796),o=n(83572);function s(e=null,t=null){const[n,s]=(0,r.useState)([]);return(0,r.useEffect)((()=>{const n=(0,o.Vs)(e,t).subscribe((e=>{s(e)}),(e=>{console.error(e)}));return()=>n.unsubscribe()}),[e,t]),n}},56004:(e,t,n)=>{n.d(t,{Gp:()=>r,Vx:()=>o,sr:()=>s});const r=(0,n(4976).Zd)("left-nav",{slotName:null,basePath:window.spaBase,mode:"normal"});function o({name:e,basePath:t,mode:n,componentContext:o,state:s}){r.setState({slotName:e,basePath:t,mode:n??"normal",componentContext:o,state:s})}function s(e){r.getState().slotName===e&&r.setState(r.getInitialState(),!0)}},57602:(e,t,n)=>{n.d(t,{B:()=>i,S:()=>a});var r=n(20796),o=n(1349),s=n(72001);function i(e,t={}){return a(e,s.xy,t)}function a(e,t,n={}){const s=(0,o.V)(e,t,n),{hasMore:i,error:a,data:c,loadMore:u,isLoading:l,nextUri:d}=s;return(0,r.useEffect)((()=>{i&&!a&&u()}),[i,d]),n.partialData?s:{...s,data:i||a?void 0:c,isLoading:l||i}}},57988:(e,t,n)=>{n.d(t,{v:()=>s});var r=n(40484),o=n(1349);function s(e,t={}){return(0,o.V)(e,(0,r.m)(),t)}},58036:(e,t,n)=>{n.d(t,{e:()=>i,i:()=>s});var r=n(98442);function o(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}class s extends r.Ay{constructor(){super("EsmOffline"),o(this,"syncQueue",void 0),o(this,"dynamicOfflineData",void 0),this.version(4).stores({syncQueue:"++id,userId,type,[userId+type]",dynamicOfflineData:"++id,type,identifier,*users,&[type+identifier]"}),this.syncQueue=this.table("syncQueue"),this.dynamicOfflineData=this.table("dynamicOfflineData")}}function i(){return new s}},59034:(e,t,n)=>{n.d(t,{d:()=>o});var r=n(20796);function o(e,t=300){const[n,o]=(0,r.useState)(e);return(0,r.useEffect)((()=>{const n=setTimeout((()=>{o(e)}),t);return()=>{clearTimeout(n)}}),[e,t]),n}},59479:(e,t,n)=>{n.d(t,{BR:()=>m,BX:()=>l,Cj:()=>a,DK:()=>g,Ds:()=>f,NH:()=>d,Rb:()=>c,dx:()=>i,xL:()=>p});var r=n(89318),o=n(4976),s=n(87633),i=function(e){return e.NEWVISIT="startVisit",e.EDITVISIT="editVisit",e.LOADING="loadingVisit",e}({}),a=function(e){return e.NOTSTARTED="notStarted",e.ONGOING="ongoing",e}({});const c="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))",u=function(){try{return JSON.parse(sessionStorage.getItem("openmrs:visitStoreState")||"null")}catch(e){return null}}()||{patientUuid:null,manuallySetVisitUuid:null,mutateVisitCallbacks:{}};function l(){return(0,o.jf)("visit",u)}function d(e,t){l().setState({patientUuid:e,manuallySetVisitUuid:t})}function f(e,t){return(0,r.lo)(`${r.Jj}/visit`,{signal:t.signal,method:"POST",headers:{"Content-type":"application/json"},body:e})}function p(e,t,n){return(0,r.lo)(`${r.Jj}/visit/${e}`,{signal:n.signal,method:"POST",headers:{"Content-type":"application/json"},body:t})}function m(e,t,n){const o=n??c;return(0,r.lo)(`${r.Jj}/visit?patient=${e}&v=${o}`,{signal:t.signal,method:"GET",headers:{"Content-type":"application/json"}})}l().subscribe((e=>{var t;t=e,sessionStorage.setItem("openmrs:visitStoreState",JSON.stringify(t))}));const g=new s.BehaviorSubject(null)},59629:(e,t,n)=>{function r(e,t){const n=window.getOpenmrsSpaBase().replace(/\/$/,"");return o(e,{openmrsBase:window.openmrsBase,openmrsSpaBase:n,...t}).replace(/^\/\//,"/")}function o(e,t){return Object.keys(t).reduce(((e,n)=>e.split("${"+n+"}").join(t[n])),e)}n.d(t,{J:()=>r,z:()=>o})},60525:(e,t,n)=>{n.d(t,{FL:()=>r.FL,G9:()=>o.G9,GI:()=>o.GI,GV:()=>r.GV,Gt:()=>r.Gt,H:()=>o.H,IS:()=>o.IS,Nc:()=>s.N,Nh:()=>r.Nh,Nz:()=>r.Nz,P0:()=>o.P0,Rt:()=>o.Rt,T0:()=>r.T0,UY:()=>o.UY,YP:()=>o.YP,ZU:()=>a.Z,g$:()=>o.g$,gU:()=>i.gU,hs:()=>o.hs,kl:()=>r.kl,ks:()=>r.ks,mq:()=>r.mq,qG:()=>i.qG,r4:()=>i.r4,tN:()=>o.tN,td:()=>r.td,vu:()=>o.vu,y$:()=>i.y$,yL:()=>i.yL,zj:()=>r.zj});var r=n(41680),o=n(26598),s=n(77835),i=n(86974),a=n(21524)},61006:(e,t,n)=>{n.d(t,{f:()=>l});var r=n(20796),o=n(47488),s=n(77802),i=n(5830),a=n(89318),c=n(83572),u=n(7478);function l(e,t=c.Rb){const{patientUuid:n,manuallySetVisitUuid:s,setVisitContext:i}=(0,u.x)(),l=e&&n==e?s:null,d=`?patient=${e}&v=${t}&includeInactive=false`,f=`/${l}?v=${t}`,{data:p,error:m,mutate:g,isValidating:h}=(0,o.Ay)(e?`${a.Jj}/visit${d}`:null,a.lo),{data:y,error:w,mutate:b,isValidating:v}=(0,o.Ay)(e&&l?`${a.Jj}/visit${f}`:null,a.lo),S=(0,r.useMemo)((()=>p?.data.results.find((e=>null===e.stopDatetime))??null),[p]),E=(0,r.useMemo)((()=>l&&y?y.data:null),[y,l]),x=(0,r.useRef)(null);(0,r.useEffect)((()=>{!h&&S&&n===e&&null===s&&i(S),v||(x.current&&E&&x.current.uuid===E.uuid&&!x.current.stopDatetime&&E.stopDatetime&&i(null),x.current=E)}),[E,s,S,h,v,n]);const N=(0,r.useCallback)((()=>{g(),b()}),[g,b]);(0,u.x)(N);const A=Boolean(!p||l&&!y),k=Boolean(l?w:m),j=A&&!k;return{error:m||w,mutate:N,isValidating:h||v,activeVisit:S,currentVisit:E,currentVisitIsRetrospective:Boolean(l),isLoading:j}}s.extend(i)},64135:(e,t,n)=>{n.d(t,{q:()=>s,x:()=>i});var r=n(20796);function o(){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 s(){const[e,t]=(0,r.useState)(o);return(0,r.useEffect)((()=>{const e=()=>{t(o())};return window.addEventListener("resize",e),()=>window.removeEventListener("resize",e)}),[]),e}const i=e=>"small-desktop"===e||"large-desktop"===e},64249:(e,t,n)=>{n.d(t,{o:()=>s});var r=n(48881),o=n(59629);function s({to:e,templateParams:t}){const n=window.getOpenmrsSpaBase().replace(/\/$/,""),s=(0,o.J)(e,t).replace(window.location.origin,"");s.startsWith(n)?(0,r.navigateToUrl)(s):window.location.assign(s)}},64430:(e,t,n)=>{n.d(t,{FE:()=>u,NU:()=>p,Td:()=>g,WA:()=>l,ff:()=>f,iD:()=>c,qb:()=>a,u1:()=>h,wn:()=>m,yD:()=>d});var r=n(89318),o=n(98442),s=n(58036);const i={};function a(){return Object.values(i)}function c(e){i[e.id]&&console.warn(`[setupDynamicOfflineDataHandler] Another second handler with the ID "${e.id}" was registered. This handler will override the previous one. This could be unintended as the previous handler might run different flows than the newly registered one. If this is the case, ensure that you are setting up the handlers with different IDs.`),i[e.id]=e}async function u(e){const t=await y();return await l(t,e)}async function l(e,t){const n=t?{type:t,users:e}:{users:e},r=new s.i;return await r.dynamicOfflineData.where(n).toArray().catch(o.Ay.errnames.DatabaseClosed,(()=>[]))}async function d(e,t){const n=await y();return await f(n,e,t)}async function f(e,t,n){const r=new s.i,i=await r.dynamicOfflineData.get({type:t,identifier:n}).catch(o.Ay.errnames.DatabaseClosed,(()=>{}));i?i.users.includes(e)||await r.dynamicOfflineData.update(i.id,{users:[...i.users,e]}).catch(o.Ay.errnames.DatabaseClosed):await r.dynamicOfflineData.add({users:[e],type:t,identifier:n}).catch(o.Ay.errnames.DatabaseClosed)}async function p(e,t){const n=await y();return await m(n,e,t)}async function m(e,t,n){const r=new s.i,i=await r.dynamicOfflineData.get({type:t,identifier:n,users:e}).catch(o.Ay.errnames.DatabaseClosed,(()=>{}));i&&(i.users.length>1?await r.dynamicOfflineData.update(i.id,{users:i.users.filter((t=>t!==e))}).catch(o.Ay.errnames.DatabaseClosed):await r.dynamicOfflineData.delete(i.id).catch(o.Ay.errnames.DatabaseClosed))}async function g(e,t){const n=await u(e);await Promise.all(n.map((async e=>h(e.type,e.identifier,t))))}async function h(e,t,n){await d(e,t);const r=new s.i,i=await y(),c=await r.dynamicOfflineData.get({type:e,identifier:t}).catch(o.Ay.errnames.DatabaseClosed,(()=>{})),u=a().filter((t=>t.type===e));if(!c)return;const l=await Promise.all(u.map((async e=>{try{return e.sync(t,n),{id:e.id,error:void 0}}catch(t){const n=t.message?.toString()??t.toString();return{id:e.id,error:n}}}))),f=l.filter((e=>!e.error)).map((e=>e.id)),p=l.filter((e=>e.error)).map((e=>e.id)),m=l.filter((e=>e.error)).map((e=>({handlerId:e.id,message:e.error}))),g={syncedOn:new Date,syncedBy:i,succeededHandlers:f,erroredHandlers:p,errors:m};c.id&&await r.dynamicOfflineData.update(c.id,{syncState:g}).catch(o.Ay.errnames.DatabaseClosed)}async function y(){const e=(await(0,r.xC)()).uuid;if(!e)throw new Error("Using the dynamic offline data API requires a logged in user.");return e}},64657:(e,t,n)=>{n.d(t,{W:()=>s});var r=n(20796);const o=10;function s(e=[],t=o){const[n,s]=(0,r.useState)(1),i=(0,r.useMemo)((()=>"number"==typeof t&&t>0?Math.max(1,Math.ceil(e.length/t)):1),[e.length,t]),a=(0,r.useMemo)((()=>{const r=(n-1)*t,o=(n+0)*t;return e.slice(r,o)}),[e,n,t]),c=(0,r.useCallback)((e=>{s(Math.max(1,Math.min(i,e)))}),[s,i]),u=(0,r.useCallback)((()=>{n<i&&s(n+1)}),[n,i,s]),l=(0,r.useCallback)((()=>{n>1&&s(n-1)}),[n,s]);return(0,r.useMemo)((()=>({results:a,totalPages:i,currentPage:n,paginated:e.length>t,showNextButton:n<i,showPreviousButton:n>1,goTo:c,goToNext:u,goToPrevious:l})),[a,i,e.length,t,n,c,u,l])}},65015:(e,t,n)=>{n.d(t,{J:()=>s,N:()=>o});var r=n(91514);function o(e){const t=i(e);setTimeout((()=>{throw t}))}function s(){const e=Error();return t=>{i(t).stack+=`\nAsync stacktrace:\n${e.stack}`,o(t)}}function i(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)}return void 0===e?Error("'undefined' was thrown as an error"):Error(e.toString())}window.onerror=function(e){return console.error("Unexpected error: ",e),(0,r.Vt)({description:e??"Oops! An unexpected error occurred.",kind:"error",title:"Error"}),!1},window.onunhandledrejection=function(e){console.error("Unhandled rejection: ",e.reason),(0,r.Vt)({description:e.reason??"Oops! An unhandled promise rejection occurred.",kind:"error",title:"Error"})}},65744:(e,t,n)=>{n.d(t,{z:()=>r});const r=n(81203).C},67350:(e,t,n)=>{function r(){return"development"===window.spaEnv||"true"===localStorage.getItem("openmrs:devtools")}n.d(t,{L:()=>r})},67911:(e,t,n)=>{n.d(t,{AO:()=>l,C$:()=>w,FO:()=>S,Gp:()=>b,Io:()=>g,Iq:()=>p,LM:()=>u,Zr:()=>m,cy:()=>x,lY:()=>E,pb:()=>y,xN:()=>v,xc:()=>h});var r=n(98442),o=n(89318),s=n(4976);const i=new(n(58036).i),a={},c=(0,s.Zd)("offline-synchronization",{});function u(){return c}async function l(){if(c.getState().synchronization)return;const e=await i.syncQueue.count(),t={},n=Object.entries(a),r=n.length,o={},s=new AbortController,u=()=>{const e=c.getState().synchronization;c.setState({synchronization:{...e,pendingCount:e.pendingCount-1}})};try{c.setState({synchronization:{totalCount:e,pendingCount:e,abortController:s}});for(let e=0;e<r&&n.length>0;e++)for(let e=n.length;e--;){const[r,i]=n[e],a=i.dependsOn.map((e=>t[e]));a.every(Boolean)&&(o[r]={},await Promise.all(a),t[r]=d(i,o,s,u),n.splice(e,1))}await Promise.allSettled(Object.values(t))}finally{c.setState({synchronization:void 0})}}async function d({type:e,dependsOn:t,process:n},r,o,s){const a=[],c=[],u=await f();await i.syncQueue.where({type:e,userId:u}).each(((e,t)=>{a.push([t.primaryKey,e.content,e.descriptor]),c.push(e.content)}));for(let l=0;l<a.length;l++){const[d,f,{id:p,dependencies:m=[]}]=a[l];try{const s=await n(f,{abort:o,index:l,items:c,userId:u,dependencies:m.map((({id:e,type:n})=>t.includes(n)?r[n][e]:void 0))});void 0!==p&&(r[e][p]=s),await i.syncQueue.delete(d)}catch(e){await i.syncQueue.update(d,{lastError:{name:e?.name,message:e?.message??e?.toString()}})}finally{s()}}}async function f(){const e=await(0,o.xC)();return e?.uuid||"*"}async function p(e,t,n,o){const s=o&&o.id;return void 0!==s&&await i.syncQueue.where({type:t,userId:e}).filter((e=>e?.descriptor.id===s)).delete().catch(r.Ay.errnames.DatabaseClosed),await i.syncQueue.add({type:t,content:n,userId:e,descriptor:o||{},createdOn:new Date}).catch(r.Ay.errnames.DatabaseClosed,(()=>-1))}async function m(e,t,n){const r=await f();return await p(r,e,t,n)}async function g(e,t){return(await h(e,t)).map((e=>e.content))}async function h(e,t){const n=t?{type:t,userId:e}:{userId:e};return await i.syncQueue.where(n).toArray().catch(r.Ay.errnames.DatabaseClosed,(()=>[]))}async function y(e){const t=await f();return await g(t,e)}async function w(e){const t=await f();return await h(t,e)}async function b(e){return await i.syncQueue.get(e).catch(r.Ay.errnames.DatabaseClosed,(()=>{}))}function v(e){return!!a[e]?.options.onBeginEditSyncItem}async function S(e){const t=await b(e);if(!t)throw new Error(`No sync item with the ID ${e} exists.`);const n=a[t.type]?.options.onBeginEditSyncItem;if(!n)throw new Error(`A sync item with the ID ${e} exists, but the associated handler (if one exists) doesn't support editing the item. You can avoid this error by either verifying that sync items of this type can be edited via the "canEditSynchronizationItemsOfType(type: string)" function or alternatively ensure that the synchronizaton handler for sync items of type "${t.type}" supports editing items.`);n(t)}async function E(e){await i.syncQueue.delete(e).catch(r.Ay.errnames.DatabaseClosed)}function x(e,t,n,r={}){a[e]={type:e,dependsOn:t,process:n,options:r}}},68599:(e,t,n)=>{n.d(t,{Zd:()=>a,jf:()=>u,CE:()=>c,i7:()=>l});var r=n(8962),o=n(19167);function s(){try{return"undefined"!=typeof process&&("true"===process.env.VITEST||void 0!==process.env.JEST_WORKER_ID)||"undefined"!=typeof globalThis&&("__vitest_worker__"in globalThis||"__jest__"in globalThis)}catch{return!1}}const i={};function a(e,t){const n=i[e];if(n)return n.active?s()||console.error(`Attempted to override the existing store ${e}. Make sure that stores are only created once.`):n.value.setState(t,!0),n.active=!0,n.value;{const n=(0,o.y)()((()=>t));return i[e]={value:n,active:!0},n}}function c(e,t){const n=i[e];return n?(n.active?s()||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 u(e,t){const n=i[e];if(!n){const n=(0,o.y)()((()=>t??{}));return i[e]={value:n,active:!1},n}return n.value}function l(...e){const[t,n,o]=e,s=void 0===o?n:o,i=void 0===o?e=>e:n;let a=i(t.getState());return s(a),t.subscribe((e=>{const t=i(e);(0,r.b)(a,t)||(a=t,s(t))}))}globalThis.setTimeout?.((()=>{"undefined"!=typeof window&&"development"===window.spaEnv&&(window.stores=i)}),1e3)},70237:(e,t,n)=>{n.d(t,{w:()=>i});var r=n(89318),o=n(20796);let s;function i(){const e=(0,o.useRef)(),[t,n]=(0,o.useState)(null);let i=null;if(!t){if(s){const e=(0,r.EW)().getState();e.loaded&&(i=e.session)}else s=new Promise((t=>{const n=({loaded:n,session:r})=>{n&&(t(r),i=r,e.current&&(e.current(),e.current=void 0))};n((0,r.EW)().getState()),i||(e.current=(0,r.EW)().subscribe(n))}));if(!i)throw s;n(i)}(0,o.useEffect)((()=>(e.current||(e.current=(0,r.EW)().subscribe((({loaded:e,session:t})=>{e&&(i=t,n(t))}))),()=>{e.current&&(e.current(),e.current=void 0)})),[]);const a=t||i;if(!a)throw s?(console.warn("useSession is in an unexpected state. Attempting to recover."),s):Error("useSession is in an invalid state.");return a}},71444:(e,t,n)=>{n.d(t,{w:()=>i});var r=n(20796),o=n(47488),s=n(89318);function i(){const e=`${s.Jj}/metadatamapping/termmapping?v=custom:(metadataUuid)&code=emr.primaryIdentifierType`,{data:t,error:n,isLoading:i}=(0,o.Ay)(e,s.lo);return(0,r.useMemo)((()=>({primaryIdentifierCode:t?.data?.results[0]?.metadataUuid,isLoading:i,error:n})),[t,n,i])}},72001:(e,t,n)=>{n.d(t,{Ed:()=>a,px:()=>u,xy:()=>c});var r=n(89318),o=n(20796),s=n(47488),i=n(96269);function a(e,t,n={}){return u(e,t,c,n)}const c={getPaginatedUrl:(e,t,n)=>{if(e){const o=new URL((0,r.Gm)(e.toString()),window.location.toString());return o.searchParams.set("limit",""+t),o.searchParams.set("startIndex",""+n),o.searchParams.set("totalCount","true"),o.toString()}return null},getNextUrl:e=>{const t=e?.links?.find((e=>"next"==e.rel))?.uri;if(t){const e=new URL(t);return e.host=window.location.host,e.protocol=window.location.protocol,e.toString()}return null},getTotalCount:e=>e?.totalCount??Number.NaN,getCurrentPageSize:e=>e?.results?.length??Number.NaN,getData:e=>e?.results};function u(e,t,n,a={}){const{getPaginatedUrl:c,getTotalCount:u,getCurrentPageSize:l,getData:d}=n,{immutable:f,swrConfig:p}=a,m=a.fetcher??r.lo,[g,h]=(0,o.useState)(1),y=(0,o.useRef)(Number.NaN),w=(0,o.useRef)(Number.NaN),b=t,v=(g-1)*t,S=(0,o.useMemo)((()=>c(e,b,v)),[e,b,v]),E=f?i.A:s.Ay,{data:x,...N}=E(S,m,p);x?.data&&(y.current=u(x?.data),w.current=l(x?.data));const A=Math.ceil(y.current/t),k=(0,o.useCallback)((e=>{0<e&&e<=A?h(e):console.warn("Invalid attempt to go to out of bounds page: "+e)}),[e,g,A]),j=(0,o.useCallback)((()=>{k(g+1)}),[e,g,A]),C=(0,o.useCallback)((()=>{k(g-1)}),[e,g,A]);return{data:d(x?.data),totalPages:A,totalCount:y.current,currentPage:g,currentPageSize:w,paginated:A>1,showNextButton:g<A,showPreviousButton:g>1,goTo:k,goToNext:j,goToPrevious:C,...N}}},74990:(e,t,n)=>{n.d(t,{KG:()=>a,WK:()=>i,sK:()=>c});var r=n(4976),o=n(64430);const s=(0,r.Zd)("offline-patients",{offlinePatientDataSyncState:{},handlers:{}});function i(){return u(),s}function a(e,t){u(),(0,o.iD)({type:"patient",displayName:t.displayName,id:e,isSynced:()=>Promise.resolve(!0),sync:(e,n)=>t.onOfflinePatientAdded({patientUuid:e,signal:n??(new AbortController).signal})})}async function c(e){u(),await(0,o.u1)("patient",e)}function u(){console.warn("The offline patient API has been deprecated and will be removed in a future release. To prevent future crashes, the functions remain available for the moment, but any invocations should be migrated ASAP.")}},75068:(e,t,n)=>{n.d(t,{t:()=>a});var r=n(20796),o=n(47488),s=n(83572);function i(){const e=/\/patient\/([a-zA-Z0-9\-]+)\/?/.exec(location.pathname);return e&&e[1]}function a(e){const[t,n]=(0,r.useState)(e??i()),{data:a,error:c,isValidating:u}=(0,o.Ay)(t?["patient",t]:null,(()=>(0,s.hG)(t,{})));return(0,r.useEffect)((()=>{const e=()=>{const e=i();e!==t&&n(e)};return window.addEventListener("single-spa:routing-event",e),()=>window.removeEventListener("single-spa:routing-event",e)}),[t]),(0,r.useMemo)((()=>({isLoading:u&&!c&&!a,patient:a,patientUuid:t,error:c})),[u,c,a,t])}},75209:(e,t,n)=>{n.d(t,{M:()=>a});var r=n(20796),o=n(47488),s=n(89318),i=n(23687);function a(e,t={}){const{abortController:n,fetchInit:a,url:c,swrConfig:u}=t,l=(0,i.A)(),d=(0,r.useMemo)((()=>a?.signal??n?.signal??l.signal),[n?.signal,a?.signal,l.signal]),f=(0,r.useCallback)((e=>{const t=function(e,t){if(t)return"function"==typeof t?t(e):t;if("string"==typeof e)return e;throw new 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,c);return(0,s.lo)(t,{...a,signal:d})}),[d,a,c]);return(0,o.Ay)(e,f,u)}},75299:(e,t,n)=>{n.d(t,{U:()=>i});var r=n(20796),o=n(33633),s=n(8962);function i(e,t=e=>e??{}){const[n,i]=(0,r.useState)();return(0,r.useEffect)((()=>{if(null==e||""===e.replace(" ",""))throw new Error(`The namespace supplied to useAppContext must be a non-empty string, but was "${e}".`)}),[e]),(0,r.useEffect)((()=>(0,o.R)(e,(e=>{if(void 0!==e){const r=t?t(e):e??{};(0,s.b)(n,r)||i(r)}}))),[]),n}},75942:(e,t,n)=>{n.d(t,{T:()=>s});var r=n(35959),o=n(47204);function s(){return(0,o.Pj)(r.Gp)}},77692:(e,t,n)=>{n.d(t,{$F:()=>h,Gz:()=>m,PQ:()=>r.A,Sj:()=>y,_3:()=>d,dX:()=>g,eb:()=>p,mv:()=>f,uN:()=>w,wE:()=>b});var r=n(6160),o=n(98022),s=n(22507),i=n(41731),a=n(21796),c=n(80176),u=n(19871),l=n(3073);function d(e,t={}){return y(e,t,v)}async function f(e,t={}){return w(e,t,v)}function p(e,t={}){return y(e,t,S)}function m(e,t={}){return w(e,t,S)}function g(e,t={}){return y(e,t,E)}function h(e,t={}){return w(e,t,E)}function y(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={});const o=function(e){return A(e,l.z)}(t),s=x("string"==typeof e?(0,r.A)(e):e,o);if(n(s))return s;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 w(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={});const o=function(e){return A(e,l.f)}(t);return Promise.resolve(x("string"==typeof e?(0,r.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 b(e){return(0,r.A)(e)}function v(e){return"string"==typeof e||"number"==typeof e||"boolean"==typeof e||null==e||e instanceof Date}function S(e){return"boolean"==typeof e}function E(e){return"number"==typeof e}function x(e,t){switch(e.type){case"UnaryExpression":return function(e,t){const n=x(e.argument,t);switch(e.operator){case"+":return+n;case"-":return-n;case"~":return~n;case"!":return!n;default:throw`Expression evaluator does not support operator '${e.operator}''`}}(e,t);case"BinaryExpression":return function(e,t){let n=x(e.left,t),r=x(e.right,t);switch(e.operator){case"+":return n+r;case"-":return n-r;case"*":return n*r;case"/":return n/r;case"%":return n%r;case"**":return n**r;case"==":return n==r;case"===":return n===r;case"!=":return n!=r;case"!==":return n!==r;case">":return n>r;case">=":return n>=r;case"<":return n<r;case"<=":return n<=r;case"in":return n in r;case"&&":return n&&r;case"||":return n||r;case"??":return n??r;default:throw`Expression evaluator does not support operator '${e.operator}' operator`}}(e,t);case"ConditionalExpression":return function(e,t){const n=x(e.test,t);return x(n?e.consequent:e.alternate,t)}(e,t);case"CallExpression":return function(e,t){let n=e.arguments?.map(k(t)),r=x(e.callee,t);if(!r)throw`No function named ${$(e.callee)} is defined in this context`;if("function"!=typeof r)throw`${$(e.callee)} is not a function`;return r(...n)}(e,t);case"ArrowFunctionExpression":return function(e,t){const n=e.params?.map((e=>{if("Identifier"===e.type)return e.name;throw`Cannot handle parameter of type ${e.type}`}))??[];return function(...r){if(r.length<n.length)throw`Required argument(s) ${n.slice(r.length,-1).join(", ")} were not provided`;const o=Object.fromEntries(n.reduce(((e,t,n)=>{const o=r[n];return C(o)&&e.push([t,o]),e}),[]));return x(e.body,t.addVariables(o))}.bind(t.thisObj??null)}(e,t);case"MemberExpression":return function(e,t){let n=x(e.object,t);if(void 0===n)switch(e.object.type){case"Identifier":{let n=N(e.object,t);throw ReferenceError(`ReferenceError: ${n} is not defined`)}case"MemberExpression":{let n=N(e.property,t);throw TypeError(`TypeError: cannot read properties of undefined (reading '${n}')`)}default:throw`VisitMemberExpression does not support operator '${e.object.type}' type`}let r,o=n;if("string"==typeof n)o=String.prototype;else if("number"==typeof n)o=Number.prototype;else if("function"==typeof n);else if("object"!=typeof n)throw"VisitMemberExpression does not support member access on type "+typeof n;switch(t.thisObj=o,e.property.type){case"Identifier":case"MemberExpression":r=x(e.property,t);break;default:{const o=x(e.property,t);if(void 0===o)throw{type:"Illegal property access",message:"No property was supplied to the property access"};j(o),r=n[o]}}return"function"==typeof r?r.bind(n):r}(e,t);case"ArrayExpression":return function(e,t){return e.elements?.map(k(t))}(e,t);case"SequenceExpression":return function(e,t){const n=e.expressions.map(k(t));return n[n.length-1]}(e,t);case"NewExpression":return function(e,t){if(!e.callee||"Identifier"!==e.callee.type)throw e.callee?"new must be called with either Date or RegExp":'Could not handle "new" without a specified class';{let n=e.arguments?.map(k(t));switch(e.callee.name){case"Date":return new Date(...n);case"RegExp":return new RegExp(...n);default:throw`Cannot instantiate object of type ${e.callee.name}`}}}(e,t);case"Literal":return function(e){return j(e.value),e.value}(e);case"Identifier":return function(e,t){j(e.name);const n=t.thisObj;if(n&&("object"==typeof n||"function"==typeof n)&&e.name in n){const t=n[e.name];return j(t),t}if(t.variables&&e.name in t.variables){const n=t.variables[e.name];return j(n),n}return e.name in t.globals?t.globals[e.name]:void 0}(e,t);case"TemplateLiteral":return function(e,t){const n=e.expressions?.map(k(t))??[],r=e.quasis?.map(k(t))??[];return r.filter((e=>!e.tail)).map((e=>e.value)).join("")+n.join("")+r.filter((e=>e.tail)).map((e=>e.value)).join("")}(e,t);case"TemplateElement":return function(e){return{value:e.cooked,tail:e.tail}}(e);default:throw`Expression evaluator does not support expression of type '${e.type}'`}}function N(e,t){switch(e.type){case"Literal":return e.value;case"Identifier":return e.name;case"MemberExpression":return N(e.property,t);default:throw`VisitExpressionName does not support expression of type '${e.type}'`}}function A(e,t){const n={thisObj:void 0,variables:{...e},globals:{...t},addVariables(e){return this.variables={...this.variables,...e},this}};return n.addVariables.bind(n),n}function k(e){return function(t){return null===t?null:x(t,e)}}function j(e){if("__proto__"===e||"prototype"===e||"constructor"===e)throw{type:"Illegal property access",message:`Cannot access the ${e} property of objects`}}function C(e){if("string"==typeof e||"number"==typeof e||"boolean"==typeof e||"function"==typeof e||null===e||e instanceof RegExp)return!0;if("object"==typeof e){for(const t of Object.keys(e))if(!C(e[t]))return!1;return!0}if(Array.isArray(e))for(const t of e)if(!C(t))return!1;return!1}function $(e){return e?"MemberExpression"===e.type?e.property?.name:e.name:null}r.A.plugins.register(o.A),r.A.plugins.register(s.A),r.A.plugins.register(i.A),r.A.plugins.register(a.A),r.A.plugins.register(c.A),r.A.plugins.register(u.A),r.A.addBinaryOp("in",7),r.A.addBinaryOp("??",1)},77835:(e,t,n)=>{function r(e,t){return n=>{if(!e(n))return"function"==typeof t?t(n):t}}n.d(t,{N:()=>r})},78624:(e,t,n)=>{n.d(t,{B4:()=>l,D3:()=>a,jX:()=>s,jj:()=>c,sM:()=>u,uA:()=>i});var r=n(4976);const o={flags:function(){const e={};for(const t of Object.keys(localStorage))if(t.startsWith("openmrs:feature-flag:")){const n=t.replace("openmrs:feature-flag:",""),r=JSON.parse(localStorage.getItem(`openmrs:feature-flag-meta:${n}`)||"{}");e[n]={enabled:"true"===localStorage.getItem(t),...r}}return e}()},s=(0,r.jf)("feature-flags",o);function i(e,t,n){s.setState((r=>({flags:{...r.flags,[e]:{enabled:r.flags[e]?.enabled??!1,label:t,description:n}}})))}function a(){const e=s.getState().flags;Object.keys(localStorage).filter((e=>e.startsWith("openmrs:feature-flag:"))).forEach((t=>{const n=t.replace("openmrs:feature-flag:","");e[n]||(localStorage.removeItem(t),localStorage.removeItem(`openmrs:feature-flag-meta:${n}`))}))}function c(e){return s.getState().flags[e].enabled}function u(e,t){s.subscribe((n=>{t(n.flags[e].enabled)}))}function l(e,t){s.setState((n=>({flags:{...n.flags,[e]:{...n.flags[e],enabled:t}}})))}s.subscribe((e=>{for(const[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}))}))},78856:(e,t,n)=>{n.d(t,{T:()=>i});var r=n(20796),o=n(35959),s=n(79426);function i(e){const[t,n]=(0,r.useState)([]);return(0,r.useEffect)((()=>(0,o.zF)().subscribe((r=>{const o=r.slots[e]?.assignedExtensions.map((e=>e.id))??[];(0,s.A)(o,t)||n(o)}))),[]),t}},79839:(e,t,n)=>{n.d(t,{Og:()=>i,nr:()=>a,wJ:()=>s});const r="openmrs3:offline-mode";let o="unavailable";function s(){return{current:o,notAvailable:"unavailable"===o,active:"on"===o}}function i(e){"unavailable"!==o&&"unavailable"!==e&&(localStorage.setItem(r,"on"===e?"active":"disabled"),o=e)}async function a(){await async function(){return await async function(){return new Promise((e=>{const t=indexedDB.open("test");t.onerror=()=>e(!0),t.onsuccess=()=>e(!1)}))}()||await async function(){return!window.indexedDB}()||await async function(){const e=window.sessionStorage;try{e.setItem("someKeyHere","test"),e.removeItem("someKeyHere")}catch(t){if(t.code===DOMException.QUOTA_EXCEEDED_ERR&&0===e.length)return!0}return!1}()}()||(o="active"===localStorage.getItem(r)?"on":"off"),navigator.onLine}},80352:(e,t,n)=>{n.d(t,{JK:()=>a,g9:()=>u,ns:()=>c,sc:()=>l});var r=n(20796),o=n(58797),s=n(31571),i=n(44186);function a(e,t){return(0,s.A)({React:r,ReactDOMClient:o,rootComponent:(0,i.F)(t)(e)})}function c(e,t){return()=>e().then((({default:e})=>a(e,t)))}function u(e,t){return()=>Promise.resolve(a(e,t))}const l=c},80570:(e,t,n)=>{n.d(t,{f:()=>o});var r=n(20796);const o=({children:e,value:t,fallback:n})=>Boolean(t)?r.createElement(r.Fragment,null,e):n?r.createElement(r.Fragment,null,n):null},80830:(e,t,n)=>{n.d(t,{AO:()=>a.AO,C$:()=>a.C$,FE:()=>l.FE,FO:()=>a.FO,Gj:()=>o.Gj,Gp:()=>a.Gp,Io:()=>a.Io,Iq:()=>a.Iq,JC:()=>o.JC,KG:()=>u.KG,LM:()=>a.LM,NU:()=>l.NU,Og:()=>i.Og,Rs:()=>r.R,Td:()=>l.Td,UH:()=>o.UH,WA:()=>l.WA,WK:()=>u.WK,Zr:()=>a.Zr,bO:()=>c.bO,cy:()=>a.cy,e:()=>d.e,ff:()=>l.ff,iD:()=>l.iD,jU:()=>c.jU,lY:()=>a.lY,ms:()=>s.m,nr:()=>i.nr,pb:()=>a.pb,qb:()=>l.qb,sA:()=>c.sA,sK:()=>u.sK,sZ:()=>r.s,u1:()=>l.u1,wJ:()=>i.wJ,wn:()=>l.wn,xN:()=>a.xN,xc:()=>a.xc,yD:()=>l.yD});var r=n(92476),o=n(90990),s=n(91721),i=n(79839),a=n(67911),c=n(83185),u=n(74990),l=n(64430),d=n(58036)},81203:(e,t,n)=>{n.d(t,{C:()=>o});var r=n(88179);function o(e){const t=(0,r.u)(e);return t?.assignedExtensions??[]}},81607:(e,t,n)=>{n.d(t,{Y:()=>i});var r=n(35959),o=n(20796),s=n(99304);const i=({state:e,children:t,...n})=>{const{extension:i}=(0,o.useContext)(s.zq),a=(0,o.useRef)(null),c=(0,o.useRef)(Promise.resolve()),u=(0,o.useCallback)((t=>{i?.extensionSlotName&&i.extensionSlotModuleName&&i.extensionSlotModuleName&&!a.current&&(0,r.wG)(t,i.extensionSlotName,i.extensionSlotModuleName,i.extensionId,void 0,e).then((e=>{a.current=e}))}),[]);return(0,o.useEffect)((()=>()=>{if(a&&a.current)switch(a.current.getStatus()){case"MOUNTING":a.current.mountPromise.then((()=>{"MOUNTED"===a.current?.getStatus()&&a.current.unmount()}));break;case"MOUNTED":a.current.unmount();break;case"UPDATING":c.current&&c.current.then((()=>{"MOUNTED"===a.current?.getStatus()&&a.current.unmount()}))}}),[]),(0,o.useEffect)((()=>{a.current&&a.current.update&&"UNMOUNTING"!==a.current.getStatus()&&Promise.all([a.current.mountPromise,c.current]).then((()=>{"MOUNTED"===a?.current?.getStatus()&&a.current.update&&(c.current=a.current.update({...e}).catch((e=>{if(!(e instanceof Error&&e.message.includes("minified message #32")&&"MOUNTED"!==a.current?.getStatus()))throw e})))}))}),[e]),i?o.createElement("div",{ref:u,"data-extension-id":i?.extensionId,style:{position:"relative"},...n}):null}},81635:(e,t,n)=>{n.d(t,{o:()=>s});var r=n(40484),o=n(57602);function s(e,t={}){return(0,o.S)(e,(0,r.m)(),t)}},83185:(e,t,n)=>{n.d(t,{bO:()=>i,jU:()=>o,sA:()=>s});var r=n(85343);const o="OFFLINE+";function s(){return o+(0,r.A)()}function i(e){return e.startsWith(o)}},83572:(e,t,n)=>{n.d(t,{$y:()=>s.$,BR:()=>c.BR,BX:()=>c.BX,Bv:()=>r.Bv,Cj:()=>c.Cj,DK:()=>c.DK,Ds:()=>c.Ds,E$:()=>i.E,KU:()=>r.KU,NH:()=>c.NH,Pu:()=>a.P,Qx:()=>a.Q,Rb:()=>c.Rb,SY:()=>r.SY,Vs:()=>i.V,X1:()=>s.X,Zu:()=>r.Zu,cD:()=>r.cD,dx:()=>c.dx,hG:()=>o.h,xL:()=>c.xL});var r=n(26382),o=n(30493),s=n(42568),i=n(55125),a=n(43236),c=n(59479)},84848:(e,t,n)=>{function r(e){return!window.offlineEnabled||(e??navigator.onLine)}n.d(t,{s:()=>r})},85631:(e,t,n)=>{n.d(t,{U:()=>l});var r=n(20796),o=n(79426),s=n(60525),i=n(4574);const a={},c='No ComponentContext has been provided. This should come from "openmrsComponentDecorator".\nUsually this is already applied when using "getAsyncLifecycle" or "getSyncLifecycle".';function u(e){const t=(0,r.useMemo)(s.GI,[]),n=function(e,t){const[n,i]=(0,r.useState)(function(e,t){return t?()=>{const n=e.getState(),r=(0,s.P0)(n,t.extensionSlotName,t.extensionId);if(r.loaded&&r.config)return r.config}:null}(e,t));return(0,r.useEffect)((()=>{if(t)return e.subscribe((e=>{const r=(0,s.P0)(e,t.extensionSlotName,t.extensionId);r.loaded&&r.config&&!(0,o.A)(r.config,n)&&i(r.config)}))}),[e,t,n]),n}(t,e);if(!n&&e){const n=`${e.extensionSlotName}-${e.extensionId}`;throw!a[n]&&t&&(a[n]=function(e,t){return new Promise((n=>{const r=e.subscribe((e=>{const o=(0,s.P0)(e,t.extensionSlotName,t.extensionId);o.loaded&&o.config&&(n(o.config),r())}))}))}(t,e)),a[n]}return n||{}}function l(e){const{moduleName:t,extension:n}=(0,r.useContext)(i.z),o=e?.externalModuleName??t;if(!o&&!n)throw Error(c);const l=function(e){const t=(0,r.useMemo)((()=>(0,s.IS)(e)),[e]),n=e,o=function(e){const[t,n]=(0,r.useState)(function(e){return()=>{const t=e.getState();return t.loaded&&t.config?t.config:null}}(e));return(0,r.useEffect)((()=>e?.subscribe((e=>{e.loaded&&e.config&&n(e.config)}))),[e]),t}(t);if(!o)throw a[n]||(a[n]=function(e){return new Promise((t=>{const n=e.subscribe((e=>{e.loaded&&e.config&&(t(e.config),n())}))}))}(t)),a[n];return o}(o),d=u(n);return(0,r.useMemo)((()=>e?.externalModuleName&&o===e.externalModuleName?{...l}:{...l,...d}),[o,e?.externalModuleName,l,d])}},86974:(e,t,n)=>{n.d(t,{gU:()=>i,qG:()=>s,r4:()=>o,y$:()=>c,yL:()=>a});var r=n(77835);const o=(e,t)=>(0,r.N)((n=>e<=n&&n<=t),`must be between ${e} and ${t}`),s=e=>{const t=e.concat(["openmrsBase","openmrsSpaBase"]);return(0,r.N)((e=>{if(!e||"string"!=typeof e)return!1;const n=/\${(.*?)}/g;let r=n.exec(e);for(;r;){if(!t.includes(r[1]))return!1;r=n.exec(e)}return!0}),"Should be a URL or path. The allowed template parameters are "+t.map((e=>"${"+e+"}")).join(", "))},i=s([]),a=e=>(0,r.N)((t=>e.includes(t)),`Must be one of the following: '${e.join("', '")}'.`),c={inRange:o,isUrl:i,isUrlWithTemplateParameters:s,oneOf:a}},88179:(e,t,n)=>{n.d(t,{u:()=>s});var r=n(35959),o=n(47204);const s=e=>(0,o.Pj)((0,r.zF)(),(t=>t.slots?.[e]))},89048:(e,t,n)=>{n.d(t,{V:()=>a,t:()=>i});const r={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",closeWorkspaces2PromptTitle:"Close workspace(s)",closeWorkspaces2PromptBody:"You are about to close the following workspace(s), which might have unsaved changes:",actions:"Actions",actionableNotification:"Actionable notification",address:"Address",age:"Age",cancel:"Cancel",change:"Change",Clinic:"Clinic",close:"Close",closesActionableNotification:"Closes actionable notification",closeSnackbar:"Close snackbar",confirm:"Confirm",contactAdministratorIfIssuePersists:"Contact your system administrator if the problem persists.",contactDetails:"Contact details",delete:"Delete",discardChanges:"Discard changes",edit:"Edit",emptyStateText:"There are no {{displayText}} to display",error:"Error",errorCopy:"Sorry, there was a problem displaying this information. You can try to reload this page, or contact the site administrator and quote the error code above.",errorLoadingLoginLocations:"Unable to load login locations. Please try again or contact support if the problem persists.",female:"Female",leftNavigation:"Left navigation",loading:"Loading",male:"Male",noResultsToDisplay:"No results to display",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}}",print:"Print",printError:"Print error",printErrorExplainer:"An error occurred in {{errorLocation}}",printIdentifierSticker:"Print identifier sticker",printing:"Printing",recordNewEntry:"Record {{displayText}}",relationships:"Relationships",resetOverrides:"Reset overrides",save:"Save",scriptLoadingFailed:"Error: Script failed to load",scriptLoadingError:"Failed to load overridden script from {{url}}. Please check that the bundled script is available at the expected URL. Click the button below to reset all import map overrides.",searchForLocation:"Search for a location",seeAll:"See all",seeMoreLists:"See {{count}} more lists",sex:"Sex",showLess:"Show less",showMore:"Show more",snackbarNotification:"Snackbar notification",toggleDevTools:"Toggle dev tools",unknown:"Unknown",yearAbbreviation:"yr",yearsAbbreviation:"yrs"};var o=n(52604);const s=o.default||o;function i(e,t,n,r){return s.t(t,{ns:e,defaultValue:n,...r})}function a(e,t,n){return r[e]?i("core",e,t??r[e],n):(console.error(`O3 Core Translations does not provide key '${e}'. The key itself is being rendered as text.`),e)}s.on("initialized",(function(){window.i18next.loadNamespaces(["core"])}))},89318:(e,t,n)=>{n.d(t,{$f:()=>i.$f,QE:()=>s.Q,g$:()=>r.g$,IU:()=>i.IU,HW:()=>r.HW,xC:()=>r.xC,Kx:()=>r.Kx,EW:()=>r.EW,L7:()=>o.L,Gm:()=>i.Gm,lo:()=>i.lo,ut:()=>i.ut,yH:()=>r.yH,Jj:()=>i.Jj,Ct:()=>i.Ct,eA:()=>r.eA,Gp:()=>r.Gp,E4:()=>r.E4,Fi:()=>r.Fi,Y0:()=>u,st:()=>r.st});var r=n(53948),o=n(67350),s=n(5446),i=n(19466),a=n(60525),c=n(52777);function u(){(0,a.T0)("@openmrs/esm-api",c.Q),(0,r.yH)()}},90990:(e,t,n)=>{n.d(t,{Gj:()=>o,JC:()=>s,UH:()=>r});const r="x-omrs-offline-response-body",o="x-omrs-offline-response-status",s="x-omrs-offline-caching-strategy"},91429:(e,t,n)=>{n.d(t,{u:()=>s});var r=n(47204),o=n(48056);function s(e){const{flags:t}=(0,r.Pj)(o.jX);return t[e]?.enabled??!1}},91514:(e,t,n)=>{n.d(t,{$3:()=>h,FI:()=>m,LQ:()=>g,Vt:()=>y,Yt:()=>o,bJ:()=>w,bK:()=>b,dX:()=>v,ff:()=>u,gj:()=>s,ls:()=>S,pc:()=>c,sT:()=>i});const r="openmrs:connectivity-changed";function o(e){window.dispatchEvent(new CustomEvent(r,{detail:{online:e}}))}function s(e){if(!window.offlineEnabled)return()=>{};const t=t=>e(t.detail);return window.addEventListener(r,t),()=>window.removeEventListener(r,t)}function i(e){return e({online:!window.offlineEnabled||navigator.onLine}),s(e)}const a="openmrs:precache-static-dependencies";function c(e={}){window.dispatchEvent(new CustomEvent(a,{detail:e}))}function u(e){const t=t=>e(t.detail);return window.addEventListener(a,t),()=>window.removeEventListener(a,t)}const l="openmrs:notification-shown",d="openmrs:actionable-notification-shown",f="openmrs:toast-shown",p="openmrs:snack-bar-shown";function m(e){window.dispatchEvent(new CustomEvent(l,{detail:e}))}function g(e){window.dispatchEvent(new CustomEvent(d,{detail:e}))}function h(e){window.dispatchEvent(new CustomEvent(p,{detail:e}))}function y(e){window.dispatchEvent(new CustomEvent(f,{detail:e}))}function w(e){const t=t=>e(t.detail);return window.addEventListener(l,t),()=>window.removeEventListener(l,t)}function b(e){const t=t=>e(t.detail);return window.addEventListener(d,t),()=>window.removeEventListener(d,t)}function v(e){const t=t=>e(t.detail);return window.addEventListener(f,t),()=>window.removeEventListener(f,t)}function S(e){const t=t=>e(t.detail);return window.addEventListener(p,t),()=>window.removeEventListener(p,t)}},91721:(e,t,n)=>{n.d(t,{m:()=>o});var r=n(92476);async function o(e){const t=await(0,r.R)();return t?await t.messageSW(e):{success:!1,result:void 0,error:"No service worker has been registered. This is typically the case when the application has been built without offline-related features."}}},92476:(e,t,n)=>{n.d(t,{R:()=>i,s:()=>s});var r=n(68798);let o;function s(e,t){if(void 0!==o)return console.warn(`The application's Service Worker has already been registered. The new service worker at ${e} will not be registered.`),o;if(!("serviceWorker"in navigator))throw new Error("Registering the Service Worker is not possible due to missing browser capabilities.");const n=new r.JK(e,t);return o=n.register().then((()=>n.controlling.then((()=>n)))),o}function i(){return o??Promise.resolve(void 0)}},93609:(e,t,n)=>{n.d(t,{w:()=>c});var r=n(48881),o=n(2327),s=n(54804),i=n(464);let a=0;async function c(e,t,n,c,u=e=>e,l={}){const d=(0,o.ES)(c),f=(0,o.Tj)(c);let p=null;if(e){if(!f)throw Error(`Couldn't find extension '${d}' to attach to '${t}'`);const{meta:o,moduleName:m,online:g,offline:h,load:y}=f;if((0,s.d)(g,h)){(0,i.DQ)((r=>{const o={domElement:e,id:c,slotName:t,slotModuleName:n};return{...r,extensions:{...r.extensions,[d]:{...r.extensions[d],instances:[...r.extensions[d].instances,o]}}}}));const s=await y(),f=a++;p=(0,r.mountRootParcel)(u({...s,name:`${t}/${d}-${f}`}),{...l,_meta:o,_extensionContext:{extensionId:c,extensionSlotName:t,extensionSlotModuleName:n,extensionModuleName:m},domElement:e})}}else console.warn(`Tried to render ${c} into ${t} but no DOM element was available.`);return p}},95968:(e,t,n)=>{n.d(t,{j:()=>i});var r=n(20796),o=n(33633),s=n(8962);function i(e,t){const n=(0,r.useRef)(t??{}),i=(0,r.useRef)((t=>(0,o.r_)(e,t)));return(0,r.useEffect)((()=>((0,o.ji)(e,t??{}),()=>{(0,o.II)(e)})),[e]),(0,r.useEffect)((()=>{let r=t??{};(0,s.b)(n.current,r)||((0,o.r_)(e,(()=>r)),n.current=r)}),[t]),i.current}},97022:(e,t,n)=>{n.d(t,{F:()=>i});var r=n(91514),o=n(84848),s=n(20796);function i(){let[e,t]=(0,s.useState)((0,o.s)());return(0,s.useEffect)((()=>(0,r.gj)((({online:e})=>t(e)))),[]),e}},99131:(e,t,n)=>{n.d(t,{i:()=>i});var r=n(20796),o=n(35959),s=n(4574);function i(e){const t=(0,r.useContext)(s.z);(0,r.useEffect)((()=>(t&&t.moduleName&&(e.componentContext=t),(0,o.Vx)(e),()=>{(0,o.sr)(e.name)})),[t,e])}},99304:(e,t,n)=>{n.d(t,{zq:()=>r.z,i_:()=>o.i,YY:()=>s.Y,W3:()=>i.W,p6:()=>a.p,fS:()=>c.f,qw:()=>u.q,rr:()=>A.rr,sc:()=>l.sc,ns:()=>l.ns,mw:()=>U.m,JK:()=>l.JK,g9:()=>l.g9,xl:()=>M.x,F7:()=>d.F,Ie:()=>f.I,Us:()=>p.U,Tt:()=>m.T,CX:()=>g.C,_9:()=>h._,yJ:()=>y.y,UK:()=>w.U,zD:()=>b.z,Fx:()=>v.F,d7:()=>S.d,jn:()=>E.j,E4:()=>x.E,$B:()=>k,br:()=>j.b,Wq:()=>C.W,uL:()=>$.u,Gz:()=>O.G,u:()=>I.u,oq:()=>D.o,vL:()=>_.v,to:()=>U.t,CH:()=>P,qv:()=>M.q,if:()=>L.i,TA:()=>R.T,kH:()=>B.k,Wr:()=>W.W,Jm:()=>z.J,Bf:()=>Q.B,iy:()=>X.i,Ed:()=>ee.Ed,M3:()=>F.M,WQ:()=>G.W,WK:()=>V,tQ:()=>J.t,wJ:()=>Z.w,oU:()=>K.o,wV:()=>te.w,Pj:()=>A.Pj,mQ:()=>A.mQ,fq:()=>H.f,xH:()=>Y.x,wr:()=>q.w});var r=n(4574),o=n(22797),s=n(81607),i=n(4611),a=n(26711),c=n(80570),u=n(35401),l=n(80352),d=n(44186),f=n(23687),p=n(75299),m=n(78856),g=n(81203),h=n(29271),y=n(9883),w=n(85631),b=n(65744),v=n(97022),S=n(59034),E=n(95968),x=n(5831),N=n(35959),A=n(47204);const k=(0,A.rr)((0,N.a9)());var j=n(44232),C=n(23713),$=n(88179),O=n(3327),I=n(91429),T=n(20796);function P(){const[,e]=(0,T.useState)(0);return(0,T.useCallback)((()=>{e((e=>e+1))}),[])}var D=n(81635),_=n(57988),U=n(40484),M=n(64135),L=n(99131),R=n(75942),B=n(55565),W=n(46095),z=n(27304),F=n(75209),G=n(64657);function V(e,t,n,r){return{pageSizes:(0,T.useMemo)((()=>{let n=Math.ceil(t/e);return isNaN(n)&&(n=0),[...Array(n).keys()].map((t=>(t+1)*e))}),[e,t]),pageItemsCount:(0,T.useMemo)((()=>{let o=0;return o=e>t?t:e*n>t?e*(n-1)+r:e*n,o}),[e,t,n,r])}}var J=n(75068),Z=n(71444),K=n(14963),H=n(61006),Y=n(7478),q=n(21741),Q=n(57602),X=n(1349),ee=n(72001),te=n(70237)}}]);
|