@openmrs/esm-navigation 6.0.3-pre.2651 → 6.0.3-pre.2653

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.
@@ -4,4 +4,4 @@ runtime modules 670 bytes 3 modules
4
4
  built modules 46.7 KiB [built]
5
5
  ./src/index.ts + 7 modules 46.6 KiB [built] [code generated]
6
6
  external "@openmrs/esm-state" 42 bytes [built] [code generated]
7
- webpack 5.88.0 compiled successfully in 9812 ms
7
+ webpack 5.88.0 compiled successfully in 9583 ms
@@ -1,2 +1,2 @@
1
- System.register(["@openmrs/esm-state"],(function(t,e){var n={};return{setters:[function(t){n.createGlobalStore=t.createGlobalStore}],execute:function(){t((()=>{"use strict";var t={685:t=>{t.exports=n}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,r),i.exports}r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var o={};return(()=>{function t(t){return t.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function e(t){return t&&t.sensitive?"":"i"}function n(n,r,o){return function(n,r,o){void 0===o&&(o={});for(var i=o.strict,a=void 0!==i&&i,s=o.start,u=void 0===s||s,c=o.end,l=void 0===c||c,f=o.encode,p=void 0===f?function(t){return t}:f,h="["+t(o.endsWith||"")+"]|$",m="["+t(o.delimiter||"/#?")+"]",d=u?"^":"",w=0,g=n;w<g.length;w++){var v=g[w];if("string"==typeof v)d+=t(p(v));else{var y=t(p(v.prefix)),E=t(p(v.suffix));if(v.pattern)if(r&&r.push(v),y||E)if("+"===v.modifier||"*"===v.modifier){var b="*"===v.modifier?"?":"";d+="(?:"+y+"((?:"+v.pattern+")(?:"+E+y+"(?:"+v.pattern+"))*)"+E+")"+b}else d+="(?:"+y+"("+v.pattern+")"+E+")"+v.modifier;else d+="("+v.pattern+")"+v.modifier;else d+="(?:"+y+E+")"+v.modifier}}if(l)a||(d+=m+"?"),d+=o.endsWith?"(?="+h+")":"$";else{var O=n[n.length-1],P="string"==typeof O?m.indexOf(O[O.length-1])>-1:void 0===O;a||(d+="(?:"+m+"(?="+h+"))?"),P||(d+="(?="+m+"|"+h+")")}return new RegExp(d,e(o))}(function(e,n){void 0===n&&(n={});for(var r=function(t){for(var e=[],n=0;n<t.length;){var r=t[n];if("*"!==r&&"+"!==r&&"?"!==r)if("\\"!==r)if("{"!==r)if("}"!==r)if(":"!==r)if("("!==r)e.push({type:"CHAR",index:n,value:t[n++]});else{var o=1,i="";if("?"===t[s=n+1])throw new TypeError('Pattern cannot start with "?" at '+s);for(;s<t.length;)if("\\"!==t[s]){if(")"===t[s]){if(0==--o){s++;break}}else if("("===t[s]&&(o++,"?"!==t[s+1]))throw new TypeError("Capturing groups are not allowed at "+s);i+=t[s++]}else i+=t[s++]+t[s++];if(o)throw new TypeError("Unbalanced pattern at "+n);if(!i)throw new TypeError("Missing pattern at "+n);e.push({type:"PATTERN",index:n,value:i}),n=s}else{for(var a="",s=n+1;s<t.length;){var u=t.charCodeAt(s);if(!(u>=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122||95===u))break;a+=t[s++]}if(!a)throw new TypeError("Missing parameter name at "+n);e.push({type:"NAME",index:n,value:a}),n=s}else e.push({type:"CLOSE",index:n,value:t[n++]});else e.push({type:"OPEN",index:n,value:t[n++]});else e.push({type:"ESCAPED_CHAR",index:n++,value:t[n++]});else e.push({type:"MODIFIER",index:n,value:t[n++]})}return e.push({type:"END",index:n,value:""}),e}(e),o=n.prefixes,i=void 0===o?"./":o,a="[^"+t(n.delimiter||"/#?")+"]+?",s=[],u=0,c=0,l="",f=function(t){if(c<r.length&&r[c].type===t)return r[c++].value},p=function(t){var e=f(t);if(void 0!==e)return e;var n=r[c],o=n.type,i=n.index;throw new TypeError("Unexpected "+o+" at "+i+", expected "+t)},h=function(){for(var t,e="";t=f("CHAR")||f("ESCAPED_CHAR");)e+=t;return e};c<r.length;){var m=f("CHAR"),d=f("NAME"),w=f("PATTERN");if(d||w){var g=m||"";-1===i.indexOf(g)&&(l+=g,g=""),l&&(s.push(l),l=""),s.push({name:d||u++,prefix:g,suffix:"",pattern:w||a,modifier:f("MODIFIER")||""})}else{var v=m||f("ESCAPED_CHAR");if(v)l+=v;else if(l&&(s.push(l),l=""),f("OPEN")){g=h();var y=f("NAME")||"",E=f("PATTERN")||"",b=h();p("CLOSE"),s.push({name:y||(E?u++:""),pattern:y&&!E?a:E,prefix:g,suffix:b,modifier:f("MODIFIER")||""})}else p("END")}}return s}(n,o),r,o)}function i(t,r,o){return t instanceof RegExp?function(t,e){if(!e)return t;var n=t.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)e.push({name:r,prefix:"",suffix:"",modifier:"",pattern:""});return t}(t,r):Array.isArray(t)?function(t,n,r){var o=t.map((function(t){return i(t,n,r).source}));return new RegExp("(?:"+o.join("|")+")",e(r))}(t,r,o):n(t,r,o)}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function s(t){return function(t){if(Array.isArray(t))return a(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return a(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}r.r(o),r.d(o,{clearHistory:()=>fe,filterBreadcrumbs:()=>d,getBreadcrumbs:()=>p,getBreadcrumbsFor:()=>w,getHistory:()=>ce,goBackInHistory:()=>le,interpolateString:()=>oe,interpolateUrl:()=>re,navigate:()=>ie,registerBreadcrumb:()=>l,registerBreadcrumbs:()=>f,setupHistory:()=>ue});var u=(0,r(685).createGlobalStore)("breadcrumbs",[]);function c(t){return e=t.matcher,(null!=(n=RegExp)&&"undefined"!=typeof Symbol&&n[Symbol.hasInstance]?n[Symbol.hasInstance](e):e instanceof n)?t.matcher:"string"==typeof t.matcher?i(t.matcher):i(t.path);var e,n}function l(t){return f([t])}function f(t){var e=p(),n=t.map((function(t){return{matcher:c(t),settings:t}})),r=s(e).concat(s(n));u.setState(r,!0)}function p(){return u.getState()}function h(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function m(t,e){if(e)return function(t,e){var n=function(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i=[],a=!0,s=!1;try{for(n=n.call(t);!(a=(r=n.next()).done)&&(i.push(r.value),!e||i.length!==e);a=!0);}catch(t){s=!0,o=t}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}}(t,e)||function(t,e){if(t){if("string"==typeof t)return h(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(t.filter((function(t){return t.matcher.test(e)})),1);return n[0]}(t,e)||function(t,e){for(var n=e.split("/");n.length>1;){n.pop();var r=m(t,n.join("/"));if(r)return r}}(t,e)}function d(t,e){if(t.length>0){var n=m(t,e);if(n){for(var r=[n],o=m(t,n.settings.parent);void 0!==o;)r.push(o),o=m(t,o.settings.parent);return r.reverse()}}return[]}function w(t){return d(p(),t)}var g=Object.freeze({__proto__:null,get start(){return Zt},get ensureJQuerySupport(){return Nt},get setBootstrapMaxTime(){return st},get setMountMaxTime(){return ut},get setUnmountMaxTime(){return ct},get setUnloadMaxTime(){return lt},get registerApplication(){return Bt},get unregisterApplication(){return Wt},get getMountedApps(){return Rt},get getAppStatus(){return Lt},get unloadApplication(){return Ht},get checkActivityFunctions(){return Gt},get getAppNames(){return $t},get pathToActiveWhen(){return Ft},get navigateToUrl(){return gt},get patchHistoryApi(){return Tt},get triggerAppChange(){return qt},get addErrorHandler(){return O},get removeErrorHandler(){return P},get mountRootParcel(){return nt},get NOT_LOADED(){return A},get LOADING_SOURCE_CODE(){return N},get NOT_BOOTSTRAPPED(){return x},get BOOTSTRAPPING(){return j},get NOT_MOUNTED(){return _},get MOUNTING(){return D},get UPDATING(){return M},get LOAD_ERROR(){return $},get MOUNTED(){return I},get UNLOADING(){return R},get UNMOUNTING(){return U},get SKIP_BECAUSE_BROKEN(){return L}}),v=("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{}).CustomEvent,y=function(){try{var t=new v("cat",{detail:{foo:"bar"}});return"cat"===t.type&&"bar"===t.detail.foo}catch(t){}return!1}()?v:"undefined"!=typeof document&&"function"==typeof document.createEvent?function(t,e){var n=document.createEvent("CustomEvent");return e?n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail):n.initCustomEvent(t,!1,!1,void 0),n}:function(t,e){var n=document.createEventObject();return n.type=t,e?(n.bubbles=Boolean(e.bubbles),n.cancelable=Boolean(e.cancelable),n.detail=e.detail):(n.bubbles=!1,n.cancelable=!1,n.detail=void 0),n};let E=[];function b(t,e,n){const r=S(t,e,n);E.length?E.forEach((t=>t(r))):setTimeout((()=>{throw r}))}function O(t){if("function"!=typeof t)throw Error(T(28,!1));E.push(t)}function P(t){if("function"!=typeof t)throw Error(T(29,!1));let e=!1;return E=E.filter((n=>{const r=n===t;return e=e||r,!r})),e}function T(t,e,...n){return`single-spa minified message #${t}: ${e?e+" ":""}See https://single-spa.js.org/error/?code=${t}${n.length?`&arg=${n.join("&arg=")}`:""}`}function S(t,e,n){const r=`${H(e)} '${G(e)}' died in status ${e.status}: `;let o;if(t instanceof Error){try{t.message=r+t.message}catch(t){}o=t}else{console.warn(T(30,!1,e.status,G(e)));try{o=Error(r+JSON.stringify(t))}catch(e){o=t}}return o.appOrParcelName=G(e),e.status=n,o}const A="NOT_LOADED",N="LOADING_SOURCE_CODE",x="NOT_BOOTSTRAPPED",j="BOOTSTRAPPING",_="NOT_MOUNTED",D="MOUNTING",I="MOUNTED",M="UPDATING",U="UNMOUNTING",R="UNLOADING",$="LOAD_ERROR",L="SKIP_BECAUSE_BROKEN";function C(t){return t.status===I}function B(t){try{return t.activeWhen(window.location)}catch(e){return b(e,t,L),!1}}function G(t){return t.name}function W(t){return Boolean(t.unmountThisParcel)}function H(t){return W(t)?"parcel":"application"}function k(){for(let t=arguments.length-1;t>0;t--)for(let e in arguments[t])"__proto__"!==e&&(arguments[t-1][e]=arguments[t][e]);return arguments[0]}function J(t,e){for(let n=0;n<t.length;n++)if(e(t[n]))return t[n];return null}function F(t){return t&&("function"==typeof t||(e=t,Array.isArray(e)&&!J(e,(t=>"function"!=typeof t))));var e}function K(t,e){let n=t[e]||[];n=Array.isArray(n)?n:[n],0===n.length&&(n=[()=>Promise.resolve()]);const r=H(t),o=G(t);return function(t){return n.reduce(((n,i,a)=>n.then((()=>{const n=i(t);return Q(n)?n:Promise.reject(T(15,!1,r,o,e,a))}))),Promise.resolve())}}function Q(t){return t&&"function"==typeof t.then&&"function"==typeof t.catch}let V=[];function q(t,e){return Promise.resolve().then((()=>t.status!==x?t:(t.status=j,t.bootstrap?ft(t,"bootstrap").then(n).catch((n=>{if(e)throw S(n,t,L);return b(n,t,L),t})):Promise.resolve().then(n))));function n(){return t.status=_,t}}function z(t,e){return Promise.resolve().then((()=>{if(t.status!==I)return t;t.status=U;const n=Object.keys(t.parcels).map((e=>t.parcels[e].unmountThisParcel()));return Promise.all(n).then(r,(n=>r().then((()=>{const r=Error(n.message);if(e)throw S(r,t,L);b(r,t,L)})))).then((()=>t));function r(){return ft(t,"unmount").then((()=>{t.status=_}),(n=>{if(e)throw S(n,t,L);b(n,t,L)}))}}))}let X=!1,Y=!1;function Z(t,e){return Promise.resolve().then((()=>t.status!==_?t:(X||(window.dispatchEvent(new y("single-spa:before-first-mount")),X=!0),t.status=D,ft(t,"mount").then((()=>(t.status=I,Y||(window.dispatchEvent(new y("single-spa:first-mount")),Y=!0),t))).catch((n=>{return t.status=I,z(t,!0).then(r,r);function r(){if(e)throw S(n,t,L);return b(n,t,L),t}})))))}let tt=0;const et={parcels:{}};function nt(){return rt.apply(et,arguments)}function rt(t,e){const n=this;if(!t||"object"!=typeof t&&"function"!=typeof t)throw Error(T(2,!1));if(t.name&&"string"!=typeof t.name)throw Error(T(3,!1,typeof t.name));const r=tt++;let o=t.name||`parcel-${r}`;if("object"!=typeof e)throw Error(T(4,!1,o,typeof e));if(!e.domElement)throw Error(T(5,!1,o));const i="function"==typeof t,a=i?t:()=>Promise.resolve(t),s={id:r,parcels:{},status:i?N:x,customProps:e,parentName:G(n),unmountThisParcel:()=>f.then((()=>{if(s.status!==I)throw Error(T(6,!1,o,s.status));return z(s,!0)})).then((t=>(s.parentName&&delete n.parcels[s.id],t))).then((t=>(p(t),t))).catch((t=>{throw s.status=L,h(t),t}))};let u;n.parcels[r]=s;let c=a();if(!c||"function"!=typeof c.then)throw Error(T(7,!1));c=c.then((t=>{if(!t)throw Error(T(8,!1));if(o=t.name||`parcel-${r}`,Object.prototype.hasOwnProperty.call(t,"bootstrap")&&!F(t.bootstrap))throw Error(T(9,!1,o));if(!F(t.mount))throw Error(T(10,!1,o));if(!F(t.unmount))throw Error(T(11,!1,o));if(t.update&&!F(t.update))throw Error(T(12,!1,o));const e=K(t,"bootstrap"),n=K(t,"mount"),i=K(t,"unmount");s.status=x,s.name=o,s.bootstrap=e,s.mount=n,s.unmount=i,s.timeouts=pt(t.timeouts),t.update&&(s.update=K(t,"update"),u.update=function(t){return s.customProps=t,ot((e=s,Promise.resolve().then((()=>{if(e.status!==I)throw Error(T(32,!1,G(e)));return e.status=M,ft(e,"update").then((()=>(e.status=I,e))).catch((t=>{throw S(t,e,L)}))}))));var e})}));const l=c.then((()=>q(s,!0))),f=l.then((()=>Z(s,!0)));let p,h;const m=new Promise(((t,e)=>{p=t,h=e}));return u={mount:()=>ot(Promise.resolve().then((()=>{if(s.status!==_)throw Error(T(13,!1,o,s.status));return n.parcels[r]=s,Z(s)}))),unmount:()=>ot(s.unmountThisParcel()),getStatus:()=>s.status,loadPromise:ot(c),bootstrapPromise:ot(l),mountPromise:ot(f),unmountPromise:ot(m)},u}function ot(t){return t.then((()=>null))}function it(t){const e=G(t);let n="function"==typeof t.customProps?t.customProps(e,window.location):t.customProps;("object"!=typeof n||null===n||Array.isArray(n))&&(n={},console.warn(T(40,!1),e,n));const r=k({},n,{name:e,mountParcel:rt.bind(t),singleSpa:g});return W(t)&&(r.unmountSelf=t.unmountThisParcel),r}const at={bootstrap:{millis:4e3,dieOnTimeout:!1,warningMillis:1e3},mount:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},unmount:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},unload:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},update:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3}};function st(t,e,n){if("number"!=typeof t||t<=0)throw Error(T(16,!1));at.bootstrap={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function ut(t,e,n){if("number"!=typeof t||t<=0)throw Error(T(17,!1));at.mount={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function ct(t,e,n){if("number"!=typeof t||t<=0)throw Error(T(18,!1));at.unmount={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function lt(t,e,n){if("number"!=typeof t||t<=0)throw Error(T(19,!1));at.unload={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function ft(t,e){const n=t.timeouts[e],r=n.warningMillis,o=H(t);return new Promise(((i,a)=>{let s=!1,u=!1;t[e](it(t)).then((t=>{s=!0,i(t)})).catch((t=>{s=!0,a(t)})),setTimeout((()=>l(1)),r),setTimeout((()=>l(!0)),n.millis);const c=T(31,!1,e,o,G(t),n.millis);function l(t){if(!s)if(!0===t)u=!0,n.dieOnTimeout?a(Error(c)):console.error(c);else if(!u){const e=t,o=e*r;console.warn(c),o+r<n.millis&&setTimeout((()=>l(e+1)),r)}}}))}function pt(t){const e={};for(let n in at)e[n]=k({},at[n],t&&t[n]||{});return e}function ht(t){return Promise.resolve().then((()=>{if(t.loadPromise)return t.loadPromise;if(t.status!==A&&t.status!==$)return t;let e,n;return t.status=N,t.loadPromise=Promise.resolve().then((()=>{const r=t.loadApp(it(t));if(!Q(r))throw n=!0,Error(T(33,!1,G(t)));return r.then((n=>{let r;t.loadErrorTime=null,e=n,"object"!=typeof e&&(r=34),Object.prototype.hasOwnProperty.call(e,"bootstrap")&&!F(e.bootstrap)&&(r=35),F(e.mount)||(r=36),F(e.unmount)||(r=37);const o=H(e);if(r){let n;try{n=JSON.stringify(e)}catch(t){}return console.error(T(r,!1,o,G(t),n),e),b(void 0,t,L),t}return e.devtools&&e.devtools.overlays&&(t.devtools.overlays=k({},t.devtools.overlays,e.devtools.overlays)),t.status=x,t.bootstrap=K(e,"bootstrap"),t.mount=K(e,"mount"),t.unmount=K(e,"unmount"),t.unload=K(e,"unload"),t.timeouts=pt(e.timeouts),delete t.loadPromise,t}))})).catch((e=>{let r;return delete t.loadPromise,n?r=L:(r=$,t.loadErrorTime=(new Date).getTime()),b(e,t,r),t}))}))}const mt="undefined"!=typeof window,dt={hashchange:[],popstate:[]},wt=["hashchange","popstate"];function gt(t){let e;if("string"==typeof t)e=t;else if(this&&this.href)e=this.href;else{if(!(t&&t.currentTarget&&t.currentTarget.href&&t.preventDefault))throw Error(T(14,!1));e=t.currentTarget.href,t.preventDefault()}const n=St(window.location.href),r=St(e);0===e.indexOf("#")?window.location.hash=r.hash:n.host!==r.host&&r.host?window.location.href=e:r.pathname===n.pathname&&r.search===n.search?window.location.hash=r.hash:window.history.pushState(null,null,e)}function vt(t){if(t){const e=t[0].type;wt.indexOf(e)>=0&&dt[e].forEach((e=>{try{e.apply(this,t)}catch(t){setTimeout((()=>{throw t}))}}))}}let yt;function Et(){zt([],arguments)}function bt(t,e){return function(){const n=window.location.href,r=t.apply(this,arguments),o=window.location.href;return yt&&n===o||window.dispatchEvent(function(t,e){let n;try{n=new PopStateEvent("popstate",{state:t})}catch(e){n=document.createEvent("PopStateEvent"),n.initPopStateEvent("popstate",!1,!1,t)}return n.singleSpa=!0,n.singleSpaTrigger=e,n}(window.history.state,e)),r}}let Ot=null,Pt=!1;function Tt(t){if(Pt)throw Error(T(43,!1));yt=!t||!t.hasOwnProperty("urlRerouteOnly")||t.urlRerouteOnly,Pt=!0,Ot=window.history.replaceState,window.addEventListener("hashchange",Et),window.addEventListener("popstate",Et);const e=window.addEventListener,n=window.removeEventListener;window.addEventListener=function(t,n){if(!("function"==typeof n&&wt.indexOf(t)>=0)||J(dt[t],(t=>t===n)))return e.apply(this,arguments);dt[t].push(n)},window.removeEventListener=function(t,e){if(!("function"==typeof e&&wt.indexOf(t)>=0))return n.apply(this,arguments);dt[t]=dt[t].filter((t=>t!==e))},window.history.pushState=bt(window.history.pushState,"pushState"),window.history.replaceState=bt(Ot,"replaceState")}function St(t){const e=document.createElement("a");return e.href=t,e}mt&&(window.singleSpaNavigate?console.warn(T(41,!1)):window.singleSpaNavigate=gt);let At=!1;function Nt(t=window.jQuery){if(t||window.$&&window.$.fn&&window.$.fn.jquery&&(t=window.$),t&&!At){const e=t.fn.on,n=t.fn.off;t.fn.on=function(t,n){return xt.call(this,e,window.addEventListener,t,n,arguments)},t.fn.off=function(t,e){return xt.call(this,n,window.removeEventListener,t,e,arguments)},At=!0}}function xt(t,e,n,r,o){return"string"!=typeof n?t.apply(this,o):(n.split(/\s+/).forEach((t=>{wt.indexOf(t)>=0&&(e(t,r),n=n.replace(t,""))})),""===n.trim()?this:t.apply(this,o))}const jt={};function _t(t){return Promise.resolve().then((()=>{const e=jt[G(t)];if(!e)return t;if(t.status===A)return Dt(t,e),t;if(t.status===R)return e.promise.then((()=>t));if(t.status!==_&&t.status!==$)return t;const n=t.status===$?Promise.resolve():ft(t,"unload");return t.status=R,n.then((()=>(Dt(t,e),t))).catch((n=>(function(t,e,n){delete jt[G(t)],delete t.bootstrap,delete t.mount,delete t.unmount,delete t.unload,b(n,t,L),e.reject(n)}(t,e,n),t)))}))}function Dt(t,e){delete jt[G(t)],delete t.bootstrap,delete t.mount,delete t.unmount,delete t.unload,t.status=A,e.resolve()}function It(t,e,n,r){jt[G(t)]={app:t,resolve:n,reject:r},Object.defineProperty(jt[G(t)],"promise",{get:e})}function Mt(t){return jt[t]}const Ut=[];function Rt(){return Ut.filter(C).map(G)}function $t(){return Ut.map(G)}function Lt(t){const e=J(Ut,(e=>G(e)===t));return e?e.status:null}let Ct=!1;function Bt(t,e,n,r){const o=function(t,e,n,r){const o={name:null,loadApp:null,activeWhen:null,customProps:null};return"object"==typeof t?(function(t){if(Array.isArray(t)||null===t)throw Error(T(39,!1));const e=["name","app","activeWhen","customProps"],n=Object.keys(t).reduce(((t,n)=>e.indexOf(n)>=0?t:t.concat(n)),[]);if(0!==n.length)throw Error(T(38,!1,e.join(", "),n.join(", ")));if("string"!=typeof t.name||0===t.name.length)throw Error(T(20,!1));if("object"!=typeof t.app&&"function"!=typeof t.app)throw Error(T(20,!1));const r=t=>"string"==typeof t||"function"==typeof t;if(!(r(t.activeWhen)||Array.isArray(t.activeWhen)&&t.activeWhen.every(r)))throw Error(T(24,!1));if(!Jt(t.customProps))throw Error(T(22,!1))}(t),o.name=t.name,o.loadApp=t.app,o.activeWhen=t.activeWhen,o.customProps=t.customProps):(function(t,e,n,r){if("string"!=typeof t||0===t.length)throw Error(T(20,!1));if(!e)throw Error(T(23,!1));if("function"!=typeof n)throw Error(T(24,!1));if(!Jt(r))throw Error(T(22,!1))}(t,e,n,r),o.name=t,o.loadApp=e,o.activeWhen=n,o.customProps=r),o.loadApp="function"!=typeof(i=o.loadApp)?()=>Promise.resolve(i):i,o.customProps=function(t){return t||{}}(o.customProps),o.activeWhen=function(t){let e=Array.isArray(t)?t:[t];return e=e.map((t=>"function"==typeof t?t:Ft(t))),t=>e.some((e=>e(t)))}(o.activeWhen),o;var i}(t,e,n,r);if(te()||Ct||(Ct=!0,setTimeout((()=>{te()||console.warn(T(1,!1))}),5e3)),-1!==$t().indexOf(o.name))throw Error(T(21,!1,o.name));Ut.push(k({loadErrorTime:null,status:A,parcels:{},devtools:{overlays:{options:{},selectors:[]}}},o)),mt&&(Nt(),zt())}function Gt(t=window.location){return Ut.filter((e=>e.activeWhen(t))).map(G)}function Wt(t){if(0===Ut.filter((e=>G(e)===t)).length)throw Error(T(25,!1,t));return(mt?Ht(t,{waitForUnmount:!1}):Promise.resolve()).then((()=>{const e=Ut.map(G).indexOf(t);Ut.splice(e,1)}))}function Ht(t,e={waitForUnmount:!1}){if("string"!=typeof t)throw Error(T(26,!1));const n=J(Ut,(e=>G(e)===t));if(!n)throw Error(T(27,!1,t));const r=Mt(G(n));if(e&&e.waitForUnmount){if(r)return r.promise;{const t=new Promise(((e,r)=>{It(n,(()=>t),e,r)}));return t}}{let t;return r?(t=r.promise,kt(n,r.resolve,r.reject)):t=new Promise(((e,r)=>{It(n,(()=>t),e,r),kt(n,e,r)})),t}}function kt(t,e,n){Promise.resolve().then((()=>{if(J(Gt(),(e=>e===G(t))))return qt()})).then((()=>z(t).then(_t).then((()=>{e(),setTimeout((()=>{zt()}))})))).catch(n)}function Jt(t){return!t||"function"==typeof t||"object"==typeof t&&null!==t&&!Array.isArray(t)}function Ft(t,e){const n=function(t,e){let n=0,r=!1,o="^";"/"!==t[0]&&(t="/"+t);for(let e=0;e<t.length;e++){const n=t[e];(!r&&":"===n||r&&"/"===n)&&i(e)}return i(t.length),new RegExp(o,"i");function i(i){const a=t.slice(n,i).replace(/[|\\{}()[\]^$+*?.]/g,"\\$&");if(o+=r?"[^/]+/?":a,i===t.length)if(r)e&&(o+="$");else{const t=e?"":".*";o="/"===o.charAt(o.length-1)?`${o}${t}$`:`${o}(/${t})?(#.*)?$`}r=!r,n=i}}(t,e);return t=>{let e=t.origin;e||(e=`${t.protocol}//${t.host}`);const r=t.href.replace(e,"").replace(t.search,"").split("?")[0];return n.test(r)}}let Kt=!1,Qt=[],Vt=mt&&window.location.href;function qt(){return zt()}function zt(t=[],e,n=!1){if(Kt)return new Promise(((t,n)=>{Qt.push({resolve:t,reject:n,eventArguments:e})}));const{appsToUnload:r,appsToUnmount:o,appsToLoad:i,appsToMount:a}=function(){const t=[],e=[],n=[],r=[],o=(new Date).getTime();return Ut.forEach((i=>{const a=i.status!==L&&B(i);switch(i.status){case $:a&&o-i.loadErrorTime>=200&&n.push(i);break;case A:case N:a&&n.push(i);break;case x:case _:!a&&Mt(G(i))?t.push(i):a&&r.push(i);break;case I:a||e.push(i)}})),{appsToUnload:t,appsToUnmount:e,appsToLoad:n,appsToMount:r}}();let s,u=[],c=Vt,l=Vt=window.location.href;return te()?(Kt=!0,s=r.concat(i,o,a),Promise.resolve().then((()=>(d(0===s.length?"before-no-app-change":"before-app-change",m(!0)),d("before-routing-event",m(!0,{cancelNavigation:f})),Promise.all(u).then((n=>{if(n.some((t=>t)))return Ot.call(window.history,history.state,"",c.substring(location.origin.length)),Vt=location.href,Kt=!1,zt(t,e,!0);const s=r.map(_t),u=o.map(z).map((t=>t.then(_t))).concat(s),l=Promise.all(u);l.then((()=>{d("before-mount-routing-event",m(!0))}),(t=>{throw t}));const f=i.map((t=>ht(t).then((t=>Xt(t,l))))),w=a.filter((t=>i.indexOf(t)<0)).map((t=>Xt(t,l)));return l.catch((t=>{throw h(),t})).then((()=>(h(),Promise.all(f.concat(w)).catch((e=>{throw t.forEach((t=>t.reject(e))),e})).then(p).then((()=>{}),(t=>{throw t})))))})))))):(s=i,Promise.resolve().then((()=>{const t=i.map(ht);return Promise.all(t).then(h).then((()=>[])).catch((t=>{throw h(),t})).finally((()=>{}))})));function f(t=!0){const e="function"==typeof(null==t?void 0:t.then)?t:Promise.resolve(t);u.push(e.catch((t=>(console.warn(Error(T(42,!1))),console.warn(t),!1))))}function p(){const e=Rt();t.forEach((t=>t.resolve(e)));try{d(0===s.length?"no-app-change":"app-change",m()),d("routing-event",m())}catch(t){setTimeout((()=>{throw t}))}if(Kt=!1,Qt.length>0){const t=Qt;Qt=[],zt(t)}return e}function h(){n||(t.forEach((t=>{vt(t.eventArguments)})),vt(e))}function m(t=!1,n){const u={},f={[I]:[],[_]:[],[A]:[],[L]:[]};t?(i.concat(a).forEach(((t,e)=>{h(t,I)})),r.forEach((t=>{h(t,A)})),o.forEach((t=>{h(t,_)}))):s.forEach((t=>{h(t)}));const p={detail:{newAppStatuses:u,appsByNewStatus:f,totalAppChanges:s.length,originalEvent:null==e?void 0:e[0],oldUrl:c,newUrl:l}};return n&&k(p.detail,n),p;function h(t,e){const n=G(t);e=e||Lt(n),u[n]=e,(f[e]=f[e]||[]).push(n)}}function d(t,e){n||window.dispatchEvent(new y(`single-spa:${t}`,e))}}function Xt(t,e){return B(t)?q(t).then((t=>e.then((()=>B(t)?Z(t):t)))):e.then((()=>t))}let Yt=!1;function Zt(t){Yt=!0,mt&&(Tt(t),zt())}function te(){return Yt}var ee={getRawAppData:function(){return[...Ut]},reroute:zt,NOT_LOADED:A,toLoadPromise:ht,toBootstrapPromise:q,unregisterApplication:Wt,getProfilerData:function(){return V}};function ne(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function re(t,e){var n=window.getOpenmrsSpaBase().replace(/\/$/,"");return oe(t,function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable})))),r.forEach((function(e){ne(t,e,n[e])}))}return t}({openmrsBase:window.openmrsBase,openmrsSpaBase:n},e)).replace(/^\/\//,"/")}function oe(t,e){return Object.keys(e).reduce((function(t,n){return t.split("${"+n+"}").join(e[n])}),t)}function ie(t){var e=t.to,n=t.templateParams,r=window.getOpenmrsSpaBase().replace(/\/$/,""),o=re(e,n).replace(window.location.origin,"");o.startsWith(r)?gt(o):window.location.assign(o)}mt&&window.__SINGLE_SPA_DEVTOOLS__&&(window.__SINGLE_SPA_DEVTOOLS__.exposedMethods=ee);var ae="openmrs:history";function se(t){var e,n=JSON.parse(null!==(e=sessionStorage.getItem(ae))&&void 0!==e?e:"[]")||[];n.push(t),n.length>50&&(n=n.slice(-50)),sessionStorage.setItem(ae,JSON.stringify(n))}function ue(){var t;0===JSON.parse(null!==(t=sessionStorage.getItem(ae))&&void 0!==t?t:"[]").length&&document.referrer&&se(document.referrer),window.addEventListener("single-spa:routing-event",(function(t){var e,n,r=ce();"replaceState"==(null===(e=t.detail.originalEvent)||void 0===e?void 0:e.singleSpaTrigger)?(r[r.length-1]=window.location.href,sessionStorage.setItem(ae,JSON.stringify(r))):!(null===(n=t.detail.originalEvent)||void 0===n?void 0:n.singleSpa)&&r.includes(window.location.href)?le({toUrl:window.location.href}):r[r.length-1]!==window.location.href&&se(window.location.href)}))}function ce(){var t;return JSON.parse(null!==(t=sessionStorage.getItem(ae))&&void 0!==t?t:"[]")}function le(t){var e=t.toUrl,n=ce(),r=n.lastIndexOf(e);if(-1==r)throw new Error("URL ".concat(e," not found in history; cannot go back to it."));var o=n.slice(0,r+1);ie({to:n[r]}),sessionStorage.setItem(ae,JSON.stringify(o))}function fe(){sessionStorage.removeItem(ae)}})(),o})())}}}));
1
+ System.register(["@openmrs/esm-state"],(function(t,e){var n={};return{setters:[function(t){n.createGlobalStore=t.createGlobalStore}],execute:function(){t((()=>{"use strict";var t={685:t=>{t.exports=n}},e={};function r(n){var o=e[n];if(void 0!==o)return o.exports;var i=e[n]={exports:{}};return t[n](i,i.exports,r),i.exports}r.d=(t,e)=>{for(var n in e)r.o(e,n)&&!r.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:e[n]})},r.o=(t,e)=>Object.prototype.hasOwnProperty.call(t,e),r.r=t=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(t,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(t,"__esModule",{value:!0})};var o={};return(()=>{function t(t){return t.replace(/([.+*?=^!:${}()[\]|/\\])/g,"\\$1")}function e(t){return t&&t.sensitive?"":"i"}function n(n,r,o){return function(n,r,o){void 0===o&&(o={});for(var i=o.strict,a=void 0!==i&&i,s=o.start,u=void 0===s||s,c=o.end,l=void 0===c||c,f=o.encode,p=void 0===f?function(t){return t}:f,h="["+t(o.endsWith||"")+"]|$",m="["+t(o.delimiter||"/#?")+"]",d=u?"^":"",w=0,g=n;w<g.length;w++){var v=g[w];if("string"==typeof v)d+=t(p(v));else{var y=t(p(v.prefix)),E=t(p(v.suffix));if(v.pattern)if(r&&r.push(v),y||E)if("+"===v.modifier||"*"===v.modifier){var b="*"===v.modifier?"?":"";d+="(?:"+y+"((?:"+v.pattern+")(?:"+E+y+"(?:"+v.pattern+"))*)"+E+")"+b}else d+="(?:"+y+"("+v.pattern+")"+E+")"+v.modifier;else d+="("+v.pattern+")"+v.modifier;else d+="(?:"+y+E+")"+v.modifier}}if(l)a||(d+=m+"?"),d+=o.endsWith?"(?="+h+")":"$";else{var O=n[n.length-1],P="string"==typeof O?m.indexOf(O[O.length-1])>-1:void 0===O;a||(d+="(?:"+m+"(?="+h+"))?"),P||(d+="(?="+m+"|"+h+")")}return new RegExp(d,e(o))}(function(e,n){void 0===n&&(n={});for(var r=function(t){for(var e=[],n=0;n<t.length;){var r=t[n];if("*"!==r&&"+"!==r&&"?"!==r)if("\\"!==r)if("{"!==r)if("}"!==r)if(":"!==r)if("("!==r)e.push({type:"CHAR",index:n,value:t[n++]});else{var o=1,i="";if("?"===t[s=n+1])throw new TypeError('Pattern cannot start with "?" at '+s);for(;s<t.length;)if("\\"!==t[s]){if(")"===t[s]){if(0==--o){s++;break}}else if("("===t[s]&&(o++,"?"!==t[s+1]))throw new TypeError("Capturing groups are not allowed at "+s);i+=t[s++]}else i+=t[s++]+t[s++];if(o)throw new TypeError("Unbalanced pattern at "+n);if(!i)throw new TypeError("Missing pattern at "+n);e.push({type:"PATTERN",index:n,value:i}),n=s}else{for(var a="",s=n+1;s<t.length;){var u=t.charCodeAt(s);if(!(u>=48&&u<=57||u>=65&&u<=90||u>=97&&u<=122||95===u))break;a+=t[s++]}if(!a)throw new TypeError("Missing parameter name at "+n);e.push({type:"NAME",index:n,value:a}),n=s}else e.push({type:"CLOSE",index:n,value:t[n++]});else e.push({type:"OPEN",index:n,value:t[n++]});else e.push({type:"ESCAPED_CHAR",index:n++,value:t[n++]});else e.push({type:"MODIFIER",index:n,value:t[n++]})}return e.push({type:"END",index:n,value:""}),e}(e),o=n.prefixes,i=void 0===o?"./":o,a="[^"+t(n.delimiter||"/#?")+"]+?",s=[],u=0,c=0,l="",f=function(t){if(c<r.length&&r[c].type===t)return r[c++].value},p=function(t){var e=f(t);if(void 0!==e)return e;var n=r[c],o=n.type,i=n.index;throw new TypeError("Unexpected "+o+" at "+i+", expected "+t)},h=function(){for(var t,e="";t=f("CHAR")||f("ESCAPED_CHAR");)e+=t;return e};c<r.length;){var m=f("CHAR"),d=f("NAME"),w=f("PATTERN");if(d||w){var g=m||"";-1===i.indexOf(g)&&(l+=g,g=""),l&&(s.push(l),l=""),s.push({name:d||u++,prefix:g,suffix:"",pattern:w||a,modifier:f("MODIFIER")||""})}else{var v=m||f("ESCAPED_CHAR");if(v)l+=v;else if(l&&(s.push(l),l=""),f("OPEN")){g=h();var y=f("NAME")||"",E=f("PATTERN")||"",b=h();p("CLOSE"),s.push({name:y||(E?u++:""),pattern:y&&!E?a:E,prefix:g,suffix:b,modifier:f("MODIFIER")||""})}else p("END")}}return s}(n,o),r,o)}function i(t,r,o){return t instanceof RegExp?function(t,e){if(!e)return t;var n=t.source.match(/\((?!\?)/g);if(n)for(var r=0;r<n.length;r++)e.push({name:r,prefix:"",suffix:"",modifier:"",pattern:""});return t}(t,r):Array.isArray(t)?function(t,n,r){var o=t.map((function(t){return i(t,n,r).source}));return new RegExp("(?:"+o.join("|")+")",e(r))}(t,r,o):n(t,r,o)}function a(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function s(t){return function(t){if(Array.isArray(t))return a(t)}(t)||function(t){if("undefined"!=typeof Symbol&&null!=t[Symbol.iterator]||null!=t["@@iterator"])return Array.from(t)}(t)||function(t,e){if(t){if("string"==typeof t)return a(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?a(t,e):void 0}}(t)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}r.r(o),r.d(o,{clearHistory:()=>fe,filterBreadcrumbs:()=>d,getBreadcrumbs:()=>p,getBreadcrumbsFor:()=>w,getHistory:()=>ce,goBackInHistory:()=>le,interpolateString:()=>oe,interpolateUrl:()=>re,navigate:()=>ie,registerBreadcrumb:()=>l,registerBreadcrumbs:()=>f,setupHistory:()=>ue});var u=(0,r(685).createGlobalStore)("breadcrumbs",[]);function c(t){return e=t.matcher,(null!=(n=RegExp)&&"undefined"!=typeof Symbol&&n[Symbol.hasInstance]?n[Symbol.hasInstance](e):e instanceof n)?t.matcher:"string"==typeof t.matcher?i(t.matcher):i(t.path);var e,n}function l(t){return f([t])}function f(t){var e=p(),n=t.map((function(t){return{matcher:c(t),settings:t}})),r=s(e).concat(s(n));u.setState(r,!0)}function p(){return u.getState()}function h(t,e){(null==e||e>t.length)&&(e=t.length);for(var n=0,r=new Array(e);n<e;n++)r[n]=t[n];return r}function m(t,e){if(e)return function(t,e){var n=function(t,e){return function(t){if(Array.isArray(t))return t}(t)||function(t,e){var n=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=n){var r,o,i=[],a=!0,s=!1;try{for(n=n.call(t);!(a=(r=n.next()).done)&&(i.push(r.value),!e||i.length!==e);a=!0);}catch(t){s=!0,o=t}finally{try{a||null==n.return||n.return()}finally{if(s)throw o}}return i}}(t,e)||function(t,e){if(t){if("string"==typeof t)return h(t,e);var n=Object.prototype.toString.call(t).slice(8,-1);return"Object"===n&&t.constructor&&(n=t.constructor.name),"Map"===n||"Set"===n?Array.from(n):"Arguments"===n||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)?h(t,e):void 0}}(t,e)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}(t.filter((function(t){return t.matcher.test(e)})),1);return n[0]}(t,e)||function(t,e){for(var n=e.split("/");n.length>1;){n.pop();var r=m(t,n.join("/"));if(r)return r}}(t,e)}function d(t,e){if(t.length>0){var n=m(t,e);if(n){for(var r=[n],o=m(t,n.settings.parent);void 0!==o;)r.push(o),o=m(t,o.settings.parent);return r.reverse()}}return[]}function w(t){return d(p(),t)}var g=Object.freeze({__proto__:null,get start(){return Zt},get ensureJQuerySupport(){return Nt},get setBootstrapMaxTime(){return st},get setMountMaxTime(){return ut},get setUnmountMaxTime(){return ct},get setUnloadMaxTime(){return lt},get registerApplication(){return Bt},get unregisterApplication(){return Wt},get getMountedApps(){return Rt},get getAppStatus(){return Lt},get unloadApplication(){return Ht},get checkActivityFunctions(){return Gt},get getAppNames(){return $t},get pathToActiveWhen(){return Ft},get navigateToUrl(){return gt},get patchHistoryApi(){return Tt},get triggerAppChange(){return qt},get addErrorHandler(){return O},get removeErrorHandler(){return P},get mountRootParcel(){return nt},get NOT_LOADED(){return A},get LOADING_SOURCE_CODE(){return N},get NOT_BOOTSTRAPPED(){return x},get BOOTSTRAPPING(){return j},get NOT_MOUNTED(){return _},get MOUNTING(){return D},get UPDATING(){return M},get LOAD_ERROR(){return $},get MOUNTED(){return I},get UNLOADING(){return R},get UNMOUNTING(){return U},get SKIP_BECAUSE_BROKEN(){return L}}),v=("undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{}).CustomEvent,y=function(){try{var t=new v("cat",{detail:{foo:"bar"}});return"cat"===t.type&&"bar"===t.detail.foo}catch(t){}return!1}()?v:"undefined"!=typeof document&&"function"==typeof document.createEvent?function(t,e){var n=document.createEvent("CustomEvent");return e?n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail):n.initCustomEvent(t,!1,!1,void 0),n}:function(t,e){var n=document.createEventObject();return n.type=t,e?(n.bubbles=Boolean(e.bubbles),n.cancelable=Boolean(e.cancelable),n.detail=e.detail):(n.bubbles=!1,n.cancelable=!1,n.detail=void 0),n};let E=[];function b(t,e,n){const r=S(t,e,n);E.length?E.forEach((t=>t(r))):setTimeout((()=>{throw r}))}function O(t){if("function"!=typeof t)throw Error(T(28,!1));E.push(t)}function P(t){if("function"!=typeof t)throw Error(T(29,!1));let e=!1;return E=E.filter((n=>{const r=n===t;return e=e||r,!r})),e}function T(t,e,...n){return`single-spa minified message #${t}: ${e?e+" ":""}See https://single-spa.js.org/error/?code=${t}${n.length?`&arg=${n.join("&arg=")}`:""}`}function S(t,e,n){const r=`${H(e)} '${G(e)}' died in status ${e.status}: `;let o;if(t instanceof Error){try{t.message=r+t.message}catch(t){}o=t}else{console.warn(T(30,!1,e.status,G(e)));try{o=Error(r+JSON.stringify(t))}catch(e){o=t}}return o.appOrParcelName=G(e),e.status=n,o}const A="NOT_LOADED",N="LOADING_SOURCE_CODE",x="NOT_BOOTSTRAPPED",j="BOOTSTRAPPING",_="NOT_MOUNTED",D="MOUNTING",I="MOUNTED",M="UPDATING",U="UNMOUNTING",R="UNLOADING",$="LOAD_ERROR",L="SKIP_BECAUSE_BROKEN";function C(t){return t.status===I}function B(t){try{return t.activeWhen(window.location)}catch(e){return b(e,t,L),!1}}function G(t){return t.name}function W(t){return Boolean(t.unmountThisParcel)}function H(t){return W(t)?"parcel":"application"}function k(){for(let t=arguments.length-1;t>0;t--)for(let e in arguments[t])"__proto__"!==e&&(arguments[t-1][e]=arguments[t][e]);return arguments[0]}function J(t,e){for(let n=0;n<t.length;n++)if(e(t[n]))return t[n];return null}function F(t){return t&&("function"==typeof t||(e=t,Array.isArray(e)&&!J(e,(t=>"function"!=typeof t))));var e}function K(t,e){let n=t[e]||[];n=Array.isArray(n)?n:[n],0===n.length&&(n=[()=>Promise.resolve()]);const r=H(t),o=G(t);return function(t){return n.reduce(((n,i,a)=>n.then((()=>{const n=i(t);return Q(n)?n:Promise.reject(T(15,!1,r,o,e,a))}))),Promise.resolve())}}function Q(t){return t&&"function"==typeof t.then&&"function"==typeof t.catch}let V=[];function q(t,e){return Promise.resolve().then((()=>t.status!==x?t:(t.status=j,t.bootstrap?ft(t,"bootstrap").then(n).catch((n=>{if(e)throw S(n,t,L);return b(n,t,L),t})):Promise.resolve().then(n))));function n(){return t.status=_,t}}function z(t,e){return Promise.resolve().then((()=>{if(t.status!==I)return t;t.status=U;const n=Object.keys(t.parcels).map((e=>t.parcels[e].unmountThisParcel()));return Promise.all(n).then(r,(n=>r().then((()=>{const r=Error(n.message);if(e)throw S(r,t,L);b(r,t,L)})))).then((()=>t));function r(){return ft(t,"unmount").then((()=>{t.status=_}),(n=>{if(e)throw S(n,t,L);b(n,t,L)}))}}))}let X=!1,Y=!1;function Z(t,e){return Promise.resolve().then((()=>t.status!==_?t:(X||(window.dispatchEvent(new y("single-spa:before-first-mount")),X=!0),t.status=D,ft(t,"mount").then((()=>(t.status=I,Y||(window.dispatchEvent(new y("single-spa:first-mount")),Y=!0),t))).catch((n=>{return t.status=I,z(t,!0).then(r,r);function r(){if(e)throw S(n,t,L);return b(n,t,L),t}})))))}let tt=0;const et={parcels:{}};function nt(){return rt.apply(et,arguments)}function rt(t,e){const n=this;if(!t||"object"!=typeof t&&"function"!=typeof t)throw Error(T(2,!1));if(t.name&&"string"!=typeof t.name)throw Error(T(3,!1,typeof t.name));const r=tt++;let o=t.name||`parcel-${r}`;if("object"!=typeof e)throw Error(T(4,!1,o,typeof e));if(!e.domElement)throw Error(T(5,!1,o));const i="function"==typeof t,a=i?t:()=>Promise.resolve(t),s={id:r,parcels:{},status:i?N:x,customProps:e,parentName:G(n),unmountThisParcel:()=>f.then((()=>{if(s.status!==I)throw Error(T(6,!1,o,s.status));return z(s,!0)})).then((t=>(s.parentName&&delete n.parcels[s.id],t))).then((t=>(p(t),t))).catch((t=>{throw s.status=L,h(t),t}))};let u;n.parcels[r]=s;let c=a();if(!c||"function"!=typeof c.then)throw Error(T(7,!1));c=c.then((t=>{if(!t)throw Error(T(8,!1));if(o=t.name||`parcel-${r}`,Object.prototype.hasOwnProperty.call(t,"bootstrap")&&!F(t.bootstrap))throw Error(T(9,!1,o));if(!F(t.mount))throw Error(T(10,!1,o));if(!F(t.unmount))throw Error(T(11,!1,o));if(t.update&&!F(t.update))throw Error(T(12,!1,o));const e=K(t,"bootstrap"),n=K(t,"mount"),i=K(t,"unmount");s.status=x,s.name=o,s.bootstrap=e,s.mount=n,s.unmount=i,s.timeouts=pt(t.timeouts),t.update&&(s.update=K(t,"update"),u.update=function(t){return s.customProps=t,ot((e=s,Promise.resolve().then((()=>{if(e.status!==I)throw Error(T(32,!1,G(e)));return e.status=M,ft(e,"update").then((()=>(e.status=I,e))).catch((t=>{throw S(t,e,L)}))}))));var e})}));const l=c.then((()=>q(s,!0))),f=l.then((()=>Z(s,!0)));let p,h;const m=new Promise(((t,e)=>{p=t,h=e}));return u={mount:()=>ot(Promise.resolve().then((()=>{if(s.status!==_)throw Error(T(13,!1,o,s.status));return n.parcels[r]=s,Z(s)}))),unmount:()=>ot(s.unmountThisParcel()),getStatus:()=>s.status,loadPromise:ot(c),bootstrapPromise:ot(l),mountPromise:ot(f),unmountPromise:ot(m)},u}function ot(t){return t.then((()=>null))}function it(t){const e=G(t);let n="function"==typeof t.customProps?t.customProps(e,window.location):t.customProps;("object"!=typeof n||null===n||Array.isArray(n))&&(n={},console.warn(T(40,!1),e,n));const r=k({},n,{name:e,mountParcel:rt.bind(t),singleSpa:g});return W(t)&&(r.unmountSelf=t.unmountThisParcel),r}const at={bootstrap:{millis:4e3,dieOnTimeout:!1,warningMillis:1e3},mount:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},unmount:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},unload:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},update:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3}};function st(t,e,n){if("number"!=typeof t||t<=0)throw Error(T(16,!1));at.bootstrap={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function ut(t,e,n){if("number"!=typeof t||t<=0)throw Error(T(17,!1));at.mount={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function ct(t,e,n){if("number"!=typeof t||t<=0)throw Error(T(18,!1));at.unmount={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function lt(t,e,n){if("number"!=typeof t||t<=0)throw Error(T(19,!1));at.unload={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function ft(t,e){const n=t.timeouts[e],r=n.warningMillis,o=H(t);return new Promise(((i,a)=>{let s=!1,u=!1;t[e](it(t)).then((t=>{s=!0,i(t)})).catch((t=>{s=!0,a(t)})),setTimeout((()=>l(1)),r),setTimeout((()=>l(!0)),n.millis);const c=T(31,!1,e,o,G(t),n.millis);function l(t){if(!s)if(!0===t)u=!0,n.dieOnTimeout?a(Error(c)):console.error(c);else if(!u){const e=t,o=e*r;console.warn(c),o+r<n.millis&&setTimeout((()=>l(e+1)),r)}}}))}function pt(t){const e={};for(let n in at)e[n]=k({},at[n],t&&t[n]||{});return e}function ht(t){return Promise.resolve().then((()=>{if(t.loadPromise)return t.loadPromise;if(t.status!==A&&t.status!==$)return t;let e,n;return t.status=N,t.loadPromise=Promise.resolve().then((()=>{const r=t.loadApp(it(t));if(!Q(r))throw n=!0,Error(T(33,!1,G(t)));return r.then((n=>{let r;t.loadErrorTime=null,e=n,"object"!=typeof e&&(r=34),Object.prototype.hasOwnProperty.call(e,"bootstrap")&&!F(e.bootstrap)&&(r=35),F(e.mount)||(r=36),F(e.unmount)||(r=37);const o=H(e);if(r){let n;try{n=JSON.stringify(e)}catch(t){}return console.error(T(r,!1,o,G(t),n),e),b(void 0,t,L),t}return e.devtools&&e.devtools.overlays&&(t.devtools.overlays=k({},t.devtools.overlays,e.devtools.overlays)),t.status=x,t.bootstrap=K(e,"bootstrap"),t.mount=K(e,"mount"),t.unmount=K(e,"unmount"),t.unload=K(e,"unload"),t.timeouts=pt(e.timeouts),delete t.loadPromise,t}))})).catch((e=>{let r;return delete t.loadPromise,n?r=L:(r=$,t.loadErrorTime=(new Date).getTime()),b(e,t,r),t}))}))}const mt="undefined"!=typeof window,dt={hashchange:[],popstate:[]},wt=["hashchange","popstate"];function gt(t){let e;if("string"==typeof t)e=t;else if(this&&this.href)e=this.href;else{if(!(t&&t.currentTarget&&t.currentTarget.href&&t.preventDefault))throw Error(T(14,!1));e=t.currentTarget.href,t.preventDefault()}const n=St(window.location.href),r=St(e);0===e.indexOf("#")?window.location.hash=r.hash:n.host!==r.host&&r.host?window.location.href=e:r.pathname===n.pathname&&r.search===n.search?window.location.hash=r.hash:window.history.pushState(null,null,e)}function vt(t){if(t){const e=t[0].type;wt.indexOf(e)>=0&&dt[e].forEach((e=>{try{e.apply(this,t)}catch(t){setTimeout((()=>{throw t}))}}))}}let yt;function Et(){zt([],arguments)}function bt(t,e){return function(){const n=window.location.href,r=t.apply(this,arguments),o=window.location.href;return yt&&n===o||window.dispatchEvent(function(t,e){let n;try{n=new PopStateEvent("popstate",{state:t})}catch(e){n=document.createEvent("PopStateEvent"),n.initPopStateEvent("popstate",!1,!1,t)}return n.singleSpa=!0,n.singleSpaTrigger=e,n}(window.history.state,e)),r}}let Ot=null,Pt=!1;function Tt(t){if(Pt)throw Error(T(43,!1));yt=!t||!t.hasOwnProperty("urlRerouteOnly")||t.urlRerouteOnly,Pt=!0,Ot=window.history.replaceState,window.addEventListener("hashchange",Et),window.addEventListener("popstate",Et);const e=window.addEventListener,n=window.removeEventListener;window.addEventListener=function(t,n){if(!("function"==typeof n&&wt.indexOf(t)>=0)||J(dt[t],(t=>t===n)))return e.apply(this,arguments);dt[t].push(n)},window.removeEventListener=function(t,e){return"function"==typeof e&&wt.indexOf(t)>=0&&(dt[t]=dt[t].filter((t=>t!==e))),n.apply(this,arguments)},window.history.pushState=bt(window.history.pushState,"pushState"),window.history.replaceState=bt(Ot,"replaceState")}function St(t){const e=document.createElement("a");return e.href=t,e}mt&&(window.singleSpaNavigate?console.warn(T(41,!1)):window.singleSpaNavigate=gt);let At=!1;function Nt(t=window.jQuery){if(t||window.$&&window.$.fn&&window.$.fn.jquery&&(t=window.$),t&&!At){const e=t.fn.on,n=t.fn.off;t.fn.on=function(t,n){return xt.call(this,e,window.addEventListener,t,n,arguments)},t.fn.off=function(t,e){return xt.call(this,n,window.removeEventListener,t,e,arguments)},At=!0}}function xt(t,e,n,r,o){return"string"!=typeof n?t.apply(this,o):(n.split(/\s+/).forEach((t=>{wt.indexOf(t)>=0&&(e(t,r),n=n.replace(t,""))})),""===n.trim()?this:t.apply(this,o))}const jt={};function _t(t){return Promise.resolve().then((()=>{const e=jt[G(t)];if(!e)return t;if(t.status===A)return Dt(t,e),t;if(t.status===R)return e.promise.then((()=>t));if(t.status!==_&&t.status!==$)return t;const n=t.status===$?Promise.resolve():ft(t,"unload");return t.status=R,n.then((()=>(Dt(t,e),t))).catch((n=>(function(t,e,n){delete jt[G(t)],delete t.bootstrap,delete t.mount,delete t.unmount,delete t.unload,b(n,t,L),e.reject(n)}(t,e,n),t)))}))}function Dt(t,e){delete jt[G(t)],delete t.bootstrap,delete t.mount,delete t.unmount,delete t.unload,t.status=A,e.resolve()}function It(t,e,n,r){jt[G(t)]={app:t,resolve:n,reject:r},Object.defineProperty(jt[G(t)],"promise",{get:e})}function Mt(t){return jt[t]}const Ut=[];function Rt(){return Ut.filter(C).map(G)}function $t(){return Ut.map(G)}function Lt(t){const e=J(Ut,(e=>G(e)===t));return e?e.status:null}let Ct=!1;function Bt(t,e,n,r){const o=function(t,e,n,r){const o={name:null,loadApp:null,activeWhen:null,customProps:null};return"object"==typeof t?(function(t){if(Array.isArray(t)||null===t)throw Error(T(39,!1));const e=["name","app","activeWhen","customProps"],n=Object.keys(t).reduce(((t,n)=>e.indexOf(n)>=0?t:t.concat(n)),[]);if(0!==n.length)throw Error(T(38,!1,e.join(", "),n.join(", ")));if("string"!=typeof t.name||0===t.name.length)throw Error(T(20,!1));if("object"!=typeof t.app&&"function"!=typeof t.app)throw Error(T(20,!1));const r=t=>"string"==typeof t||"function"==typeof t;if(!(r(t.activeWhen)||Array.isArray(t.activeWhen)&&t.activeWhen.every(r)))throw Error(T(24,!1));if(!Jt(t.customProps))throw Error(T(22,!1))}(t),o.name=t.name,o.loadApp=t.app,o.activeWhen=t.activeWhen,o.customProps=t.customProps):(function(t,e,n,r){if("string"!=typeof t||0===t.length)throw Error(T(20,!1));if(!e)throw Error(T(23,!1));if("function"!=typeof n)throw Error(T(24,!1));if(!Jt(r))throw Error(T(22,!1))}(t,e,n,r),o.name=t,o.loadApp=e,o.activeWhen=n,o.customProps=r),o.loadApp="function"!=typeof(i=o.loadApp)?()=>Promise.resolve(i):i,o.customProps=function(t){return t||{}}(o.customProps),o.activeWhen=function(t){let e=Array.isArray(t)?t:[t];return e=e.map((t=>"function"==typeof t?t:Ft(t))),t=>e.some((e=>e(t)))}(o.activeWhen),o;var i}(t,e,n,r);if(te()||Ct||(Ct=!0,setTimeout((()=>{te()||console.warn(T(1,!1))}),5e3)),-1!==$t().indexOf(o.name))throw Error(T(21,!1,o.name));Ut.push(k({loadErrorTime:null,status:A,parcels:{},devtools:{overlays:{options:{},selectors:[]}}},o)),mt&&(Nt(),zt())}function Gt(t=window.location){return Ut.filter((e=>e.activeWhen(t))).map(G)}function Wt(t){if(0===Ut.filter((e=>G(e)===t)).length)throw Error(T(25,!1,t));return(mt?Ht(t,{waitForUnmount:!1}):Promise.resolve()).then((()=>{const e=Ut.map(G).indexOf(t);Ut.splice(e,1)}))}function Ht(t,e={waitForUnmount:!1}){if("string"!=typeof t)throw Error(T(26,!1));const n=J(Ut,(e=>G(e)===t));if(!n)throw Error(T(27,!1,t));const r=Mt(G(n));if(e&&e.waitForUnmount){if(r)return r.promise;{const t=new Promise(((e,r)=>{It(n,(()=>t),e,r)}));return t}}{let t;return r?(t=r.promise,kt(n,r.resolve,r.reject)):t=new Promise(((e,r)=>{It(n,(()=>t),e,r),kt(n,e,r)})),t}}function kt(t,e,n){Promise.resolve().then((()=>{if(J(Gt(),(e=>e===G(t))))return qt()})).then((()=>z(t).then(_t).then((()=>{e(),setTimeout((()=>{zt()}))})))).catch(n)}function Jt(t){return!t||"function"==typeof t||"object"==typeof t&&null!==t&&!Array.isArray(t)}function Ft(t,e){const n=function(t,e){let n=0,r=!1,o="^";"/"!==t[0]&&(t="/"+t);for(let e=0;e<t.length;e++){const n=t[e];(!r&&":"===n||r&&"/"===n)&&i(e)}return i(t.length),new RegExp(o,"i");function i(i){const a=t.slice(n,i).replace(/[|\\{}()[\]^$+*?.]/g,"\\$&");if(o+=r?"[^/]+/?":a,i===t.length)if(r)e&&(o+="$");else{const t=e?"":".*";o="/"===o.charAt(o.length-1)?`${o}${t}$`:`${o}(/${t})?(#.*)?$`}r=!r,n=i}}(t,e);return t=>{let e=t.origin;e||(e=`${t.protocol}//${t.host}`);const r=t.href.replace(e,"").replace(t.search,"").split("?")[0];return n.test(r)}}let Kt=!1,Qt=[],Vt=mt&&window.location.href;function qt(){return zt()}function zt(t=[],e,n=!1){if(Kt)return new Promise(((t,n)=>{Qt.push({resolve:t,reject:n,eventArguments:e})}));const{appsToUnload:r,appsToUnmount:o,appsToLoad:i,appsToMount:a}=function(){const t=[],e=[],n=[],r=[],o=(new Date).getTime();return Ut.forEach((i=>{const a=i.status!==L&&B(i);switch(i.status){case $:a&&o-i.loadErrorTime>=200&&n.push(i);break;case A:case N:a&&n.push(i);break;case x:case _:!a&&Mt(G(i))?t.push(i):a&&r.push(i);break;case I:a||e.push(i)}})),{appsToUnload:t,appsToUnmount:e,appsToLoad:n,appsToMount:r}}();let s,u=[],c=Vt,l=Vt=window.location.href;return te()?(Kt=!0,s=r.concat(i,o,a),Promise.resolve().then((()=>(d(0===s.length?"before-no-app-change":"before-app-change",m(!0)),d("before-routing-event",m(!0,{cancelNavigation:f})),Promise.all(u).then((n=>{if(n.some((t=>t)))return Ot.call(window.history,history.state,"",c.substring(location.origin.length)),Vt=location.href,Kt=!1,zt(t,e,!0);const s=r.map(_t),u=o.map(z).map((t=>t.then(_t))).concat(s),l=Promise.all(u);l.then((()=>{d("before-mount-routing-event",m(!0))}),(t=>{throw t}));const f=i.map((t=>ht(t).then((t=>Xt(t,l))))),w=a.filter((t=>i.indexOf(t)<0)).map((t=>Xt(t,l)));return l.catch((t=>{throw h(),t})).then((()=>(h(),Promise.all(f.concat(w)).catch((e=>{throw t.forEach((t=>t.reject(e))),e})).then(p).then((()=>{}),(t=>{throw t})))))})))))):(s=i,Promise.resolve().then((()=>{const t=i.map(ht);return Promise.all(t).then(h).then((()=>[])).catch((t=>{throw h(),t})).finally((()=>{}))})));function f(t=!0){const e="function"==typeof(null==t?void 0:t.then)?t:Promise.resolve(t);u.push(e.catch((t=>(console.warn(Error(T(42,!1))),console.warn(t),!1))))}function p(){const e=Rt();t.forEach((t=>t.resolve(e)));try{d(0===s.length?"no-app-change":"app-change",m()),d("routing-event",m())}catch(t){setTimeout((()=>{throw t}))}if(Kt=!1,Qt.length>0){const t=Qt;Qt=[],zt(t)}return e}function h(){n||(t.forEach((t=>{vt(t.eventArguments)})),vt(e))}function m(t=!1,n){const u={},f={[I]:[],[_]:[],[A]:[],[L]:[]};t?(i.concat(a).forEach(((t,e)=>{h(t,I)})),r.forEach((t=>{h(t,A)})),o.forEach((t=>{h(t,_)}))):s.forEach((t=>{h(t)}));const p={detail:{newAppStatuses:u,appsByNewStatus:f,totalAppChanges:s.length,originalEvent:null==e?void 0:e[0],oldUrl:c,newUrl:l}};return n&&k(p.detail,n),p;function h(t,e){const n=G(t);e=e||Lt(n),u[n]=e,(f[e]=f[e]||[]).push(n)}}function d(t,e){n||window.dispatchEvent(new y(`single-spa:${t}`,e))}}function Xt(t,e){return B(t)?q(t).then((t=>e.then((()=>B(t)?Z(t):t)))):e.then((()=>t))}let Yt=!1;function Zt(t){Yt=!0,mt&&(Tt(t),zt())}function te(){return Yt}var ee={getRawAppData:function(){return[...Ut]},reroute:zt,NOT_LOADED:A,toLoadPromise:ht,toBootstrapPromise:q,unregisterApplication:Wt,getProfilerData:function(){return V}};function ne(t,e,n){return e in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function re(t,e){var n=window.getOpenmrsSpaBase().replace(/\/$/,"");return oe(t,function(t){for(var e=1;e<arguments.length;e++){var n=null!=arguments[e]?arguments[e]:{},r=Object.keys(n);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(n).filter((function(t){return Object.getOwnPropertyDescriptor(n,t).enumerable})))),r.forEach((function(e){ne(t,e,n[e])}))}return t}({openmrsBase:window.openmrsBase,openmrsSpaBase:n},e)).replace(/^\/\//,"/")}function oe(t,e){return Object.keys(e).reduce((function(t,n){return t.split("${"+n+"}").join(e[n])}),t)}function ie(t){var e=t.to,n=t.templateParams,r=window.getOpenmrsSpaBase().replace(/\/$/,""),o=re(e,n).replace(window.location.origin,"");o.startsWith(r)?gt(o):window.location.assign(o)}mt&&window.__SINGLE_SPA_DEVTOOLS__&&(window.__SINGLE_SPA_DEVTOOLS__.exposedMethods=ee);var ae="openmrs:history";function se(t){var e,n=JSON.parse(null!==(e=sessionStorage.getItem(ae))&&void 0!==e?e:"[]")||[];n.push(t),n.length>50&&(n=n.slice(-50)),sessionStorage.setItem(ae,JSON.stringify(n))}function ue(){var t;0===JSON.parse(null!==(t=sessionStorage.getItem(ae))&&void 0!==t?t:"[]").length&&document.referrer&&se(document.referrer),window.addEventListener("single-spa:routing-event",(function(t){var e,n,r=ce();"replaceState"==(null===(e=t.detail.originalEvent)||void 0===e?void 0:e.singleSpaTrigger)?(r[r.length-1]=window.location.href,sessionStorage.setItem(ae,JSON.stringify(r))):!(null===(n=t.detail.originalEvent)||void 0===n?void 0:n.singleSpa)&&r.includes(window.location.href)?le({toUrl:window.location.href}):r[r.length-1]!==window.location.href&&se(window.location.href)}))}function ce(){var t;return JSON.parse(null!==(t=sessionStorage.getItem(ae))&&void 0!==t?t:"[]")}function le(t){var e=t.toUrl,n=ce(),r=n.lastIndexOf(e);if(-1==r)throw new Error("URL ".concat(e," not found in history; cannot go back to it."));var o=n.slice(0,r+1);ie({to:n[r]}),sessionStorage.setItem(ae,JSON.stringify(o))}function fe(){sessionStorage.removeItem(ae)}})(),o})())}}}));
2
2
  //# sourceMappingURL=openmrs-esm-navigation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"openmrs-esm-navigation.js","mappings":"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","sources":["webpack://@openmrs/esm-navigation/external system \"@openmrs/esm-state\"","webpack://@openmrs/esm-navigation/webpack/bootstrap","webpack://@openmrs/esm-navigation/webpack/runtime/define property getters","webpack://@openmrs/esm-navigation/webpack/runtime/hasOwnProperty shorthand","webpack://@openmrs/esm-navigation/webpack/runtime/make namespace object","webpack://@openmrs/esm-navigation/../../../node_modules/path-to-regexp/dist.es2015/index.js","webpack://@openmrs/esm-navigation/./src/breadcrumbs/db.ts","webpack://@openmrs/esm-navigation/./src/breadcrumbs/filter.ts","webpack://@openmrs/esm-navigation/../../../node_modules/single-spa/lib/es2015/esm/single-spa.min.js","webpack://@openmrs/esm-navigation/./src/navigation/interpolate-string.ts","webpack://@openmrs/esm-navigation/./src/navigation/navigate.ts","webpack://@openmrs/esm-navigation/./src/history/history.ts"],"sourcesContent":["module.exports = __WEBPACK_EXTERNAL_MODULE__685__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * Tokenize input string.\n */\nfunction lexer(str) {\n var tokens = [];\n var i = 0;\n while (i < str.length) {\n var char = str[i];\n if (char === \"*\" || char === \"+\" || char === \"?\") {\n tokens.push({ type: \"MODIFIER\", index: i, value: str[i++] });\n continue;\n }\n if (char === \"\\\\\") {\n tokens.push({ type: \"ESCAPED_CHAR\", index: i++, value: str[i++] });\n continue;\n }\n if (char === \"{\") {\n tokens.push({ type: \"OPEN\", index: i, value: str[i++] });\n continue;\n }\n if (char === \"}\") {\n tokens.push({ type: \"CLOSE\", index: i, value: str[i++] });\n continue;\n }\n if (char === \":\") {\n var name = \"\";\n var j = i + 1;\n while (j < str.length) {\n var code = str.charCodeAt(j);\n if (\n // `0-9`\n (code >= 48 && code <= 57) ||\n // `A-Z`\n (code >= 65 && code <= 90) ||\n // `a-z`\n (code >= 97 && code <= 122) ||\n // `_`\n code === 95) {\n name += str[j++];\n continue;\n }\n break;\n }\n if (!name)\n throw new TypeError(\"Missing parameter name at \" + i);\n tokens.push({ type: \"NAME\", index: i, value: name });\n i = j;\n continue;\n }\n if (char === \"(\") {\n var count = 1;\n var pattern = \"\";\n var j = i + 1;\n if (str[j] === \"?\") {\n throw new TypeError(\"Pattern cannot start with \\\"?\\\" at \" + j);\n }\n while (j < str.length) {\n if (str[j] === \"\\\\\") {\n pattern += str[j++] + str[j++];\n continue;\n }\n if (str[j] === \")\") {\n count--;\n if (count === 0) {\n j++;\n break;\n }\n }\n else if (str[j] === \"(\") {\n count++;\n if (str[j + 1] !== \"?\") {\n throw new TypeError(\"Capturing groups are not allowed at \" + j);\n }\n }\n pattern += str[j++];\n }\n if (count)\n throw new TypeError(\"Unbalanced pattern at \" + i);\n if (!pattern)\n throw new TypeError(\"Missing pattern at \" + i);\n tokens.push({ type: \"PATTERN\", index: i, value: pattern });\n i = j;\n continue;\n }\n tokens.push({ type: \"CHAR\", index: i, value: str[i++] });\n }\n tokens.push({ type: \"END\", index: i, value: \"\" });\n return tokens;\n}\n/**\n * Parse a string for the raw tokens.\n */\nexport function parse(str, options) {\n if (options === void 0) { options = {}; }\n var tokens = lexer(str);\n var _a = options.prefixes, prefixes = _a === void 0 ? \"./\" : _a;\n var defaultPattern = \"[^\" + escapeString(options.delimiter || \"/#?\") + \"]+?\";\n var result = [];\n var key = 0;\n var i = 0;\n var path = \"\";\n var tryConsume = function (type) {\n if (i < tokens.length && tokens[i].type === type)\n return tokens[i++].value;\n };\n var mustConsume = function (type) {\n var value = tryConsume(type);\n if (value !== undefined)\n return value;\n var _a = tokens[i], nextType = _a.type, index = _a.index;\n throw new TypeError(\"Unexpected \" + nextType + \" at \" + index + \", expected \" + type);\n };\n var consumeText = function () {\n var result = \"\";\n var value;\n // tslint:disable-next-line\n while ((value = tryConsume(\"CHAR\") || tryConsume(\"ESCAPED_CHAR\"))) {\n result += value;\n }\n return result;\n };\n while (i < tokens.length) {\n var char = tryConsume(\"CHAR\");\n var name = tryConsume(\"NAME\");\n var pattern = tryConsume(\"PATTERN\");\n if (name || pattern) {\n var prefix = char || \"\";\n if (prefixes.indexOf(prefix) === -1) {\n path += prefix;\n prefix = \"\";\n }\n if (path) {\n result.push(path);\n path = \"\";\n }\n result.push({\n name: name || key++,\n prefix: prefix,\n suffix: \"\",\n pattern: pattern || defaultPattern,\n modifier: tryConsume(\"MODIFIER\") || \"\"\n });\n continue;\n }\n var value = char || tryConsume(\"ESCAPED_CHAR\");\n if (value) {\n path += value;\n continue;\n }\n if (path) {\n result.push(path);\n path = \"\";\n }\n var open = tryConsume(\"OPEN\");\n if (open) {\n var prefix = consumeText();\n var name_1 = tryConsume(\"NAME\") || \"\";\n var pattern_1 = tryConsume(\"PATTERN\") || \"\";\n var suffix = consumeText();\n mustConsume(\"CLOSE\");\n result.push({\n name: name_1 || (pattern_1 ? key++ : \"\"),\n pattern: name_1 && !pattern_1 ? defaultPattern : pattern_1,\n prefix: prefix,\n suffix: suffix,\n modifier: tryConsume(\"MODIFIER\") || \"\"\n });\n continue;\n }\n mustConsume(\"END\");\n }\n return result;\n}\n/**\n * Compile a string to a template function for the path.\n */\nexport function compile(str, options) {\n return tokensToFunction(parse(str, options), options);\n}\n/**\n * Expose a method for transforming tokens into the path function.\n */\nexport function tokensToFunction(tokens, options) {\n if (options === void 0) { options = {}; }\n var reFlags = flags(options);\n var _a = options.encode, encode = _a === void 0 ? function (x) { return x; } : _a, _b = options.validate, validate = _b === void 0 ? true : _b;\n // Compile all the tokens into regexps.\n var matches = tokens.map(function (token) {\n if (typeof token === \"object\") {\n return new RegExp(\"^(?:\" + token.pattern + \")$\", reFlags);\n }\n });\n return function (data) {\n var path = \"\";\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n if (typeof token === \"string\") {\n path += token;\n continue;\n }\n var value = data ? data[token.name] : undefined;\n var optional = token.modifier === \"?\" || token.modifier === \"*\";\n var repeat = token.modifier === \"*\" || token.modifier === \"+\";\n if (Array.isArray(value)) {\n if (!repeat) {\n throw new TypeError(\"Expected \\\"\" + token.name + \"\\\" to not repeat, but got an array\");\n }\n if (value.length === 0) {\n if (optional)\n continue;\n throw new TypeError(\"Expected \\\"\" + token.name + \"\\\" to not be empty\");\n }\n for (var j = 0; j < value.length; j++) {\n var segment = encode(value[j], token);\n if (validate && !matches[i].test(segment)) {\n throw new TypeError(\"Expected all \\\"\" + token.name + \"\\\" to match \\\"\" + token.pattern + \"\\\", but got \\\"\" + segment + \"\\\"\");\n }\n path += token.prefix + segment + token.suffix;\n }\n continue;\n }\n if (typeof value === \"string\" || typeof value === \"number\") {\n var segment = encode(String(value), token);\n if (validate && !matches[i].test(segment)) {\n throw new TypeError(\"Expected \\\"\" + token.name + \"\\\" to match \\\"\" + token.pattern + \"\\\", but got \\\"\" + segment + \"\\\"\");\n }\n path += token.prefix + segment + token.suffix;\n continue;\n }\n if (optional)\n continue;\n var typeOfMessage = repeat ? \"an array\" : \"a string\";\n throw new TypeError(\"Expected \\\"\" + token.name + \"\\\" to be \" + typeOfMessage);\n }\n return path;\n };\n}\n/**\n * Create path match function from `path-to-regexp` spec.\n */\nexport function match(str, options) {\n var keys = [];\n var re = pathToRegexp(str, keys, options);\n return regexpToFunction(re, keys, options);\n}\n/**\n * Create a path match function from `path-to-regexp` output.\n */\nexport function regexpToFunction(re, keys, options) {\n if (options === void 0) { options = {}; }\n var _a = options.decode, decode = _a === void 0 ? function (x) { return x; } : _a;\n return function (pathname) {\n var m = re.exec(pathname);\n if (!m)\n return false;\n var path = m[0], index = m.index;\n var params = Object.create(null);\n var _loop_1 = function (i) {\n // tslint:disable-next-line\n if (m[i] === undefined)\n return \"continue\";\n var key = keys[i - 1];\n if (key.modifier === \"*\" || key.modifier === \"+\") {\n params[key.name] = m[i].split(key.prefix + key.suffix).map(function (value) {\n return decode(value, key);\n });\n }\n else {\n params[key.name] = decode(m[i], key);\n }\n };\n for (var i = 1; i < m.length; i++) {\n _loop_1(i);\n }\n return { path: path, index: index, params: params };\n };\n}\n/**\n * Escape a regular expression string.\n */\nfunction escapeString(str) {\n return str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n}\n/**\n * Get the flags for a regexp from the options.\n */\nfunction flags(options) {\n return options && options.sensitive ? \"\" : \"i\";\n}\n/**\n * Pull out keys from a regexp.\n */\nfunction regexpToRegexp(path, keys) {\n if (!keys)\n return path;\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: \"\",\n suffix: \"\",\n modifier: \"\",\n pattern: \"\"\n });\n }\n }\n return path;\n}\n/**\n * Transform an array into a regexp.\n */\nfunction arrayToRegexp(paths, keys, options) {\n var parts = paths.map(function (path) { return pathToRegexp(path, keys, options).source; });\n return new RegExp(\"(?:\" + parts.join(\"|\") + \")\", flags(options));\n}\n/**\n * Create a path regexp from string input.\n */\nfunction stringToRegexp(path, keys, options) {\n return tokensToRegexp(parse(path, options), keys, options);\n}\n/**\n * Expose a function for taking tokens and returning a RegExp.\n */\nexport function tokensToRegexp(tokens, keys, options) {\n if (options === void 0) { options = {}; }\n var _a = options.strict, strict = _a === void 0 ? false : _a, _b = options.start, start = _b === void 0 ? true : _b, _c = options.end, end = _c === void 0 ? true : _c, _d = options.encode, encode = _d === void 0 ? function (x) { return x; } : _d;\n var endsWith = \"[\" + escapeString(options.endsWith || \"\") + \"]|$\";\n var delimiter = \"[\" + escapeString(options.delimiter || \"/#?\") + \"]\";\n var route = start ? \"^\" : \"\";\n // Iterate over the tokens and create our regexp string.\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n if (typeof token === \"string\") {\n route += escapeString(encode(token));\n }\n else {\n var prefix = escapeString(encode(token.prefix));\n var suffix = escapeString(encode(token.suffix));\n if (token.pattern) {\n if (keys)\n keys.push(token);\n if (prefix || suffix) {\n if (token.modifier === \"+\" || token.modifier === \"*\") {\n var mod = token.modifier === \"*\" ? \"?\" : \"\";\n route += \"(?:\" + prefix + \"((?:\" + token.pattern + \")(?:\" + suffix + prefix + \"(?:\" + token.pattern + \"))*)\" + suffix + \")\" + mod;\n }\n else {\n route += \"(?:\" + prefix + \"(\" + token.pattern + \")\" + suffix + \")\" + token.modifier;\n }\n }\n else {\n route += \"(\" + token.pattern + \")\" + token.modifier;\n }\n }\n else {\n route += \"(?:\" + prefix + suffix + \")\" + token.modifier;\n }\n }\n }\n if (end) {\n if (!strict)\n route += delimiter + \"?\";\n route += !options.endsWith ? \"$\" : \"(?=\" + endsWith + \")\";\n }\n else {\n var endToken = tokens[tokens.length - 1];\n var isEndDelimited = typeof endToken === \"string\"\n ? delimiter.indexOf(endToken[endToken.length - 1]) > -1\n : // tslint:disable-next-line\n endToken === undefined;\n if (!strict) {\n route += \"(?:\" + delimiter + \"(?=\" + endsWith + \"))?\";\n }\n if (!isEndDelimited) {\n route += \"(?=\" + delimiter + \"|\" + endsWith + \")\";\n }\n }\n return new RegExp(route, flags(options));\n}\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n */\nexport function pathToRegexp(path, keys, options) {\n if (path instanceof RegExp)\n return regexpToRegexp(path, keys);\n if (Array.isArray(path))\n return arrayToRegexp(path, keys, options);\n return stringToRegexp(path, keys, options);\n}\n//# sourceMappingURL=index.js.map","/** @module @category Breadcrumb */\nimport { pathToRegexp } from 'path-to-regexp';\nimport { createGlobalStore } from '@openmrs/esm-state';\nimport type { BreadcrumbSettings, BreadcrumbRegistration } from '../types';\n\nconst store = createGlobalStore<Array<BreadcrumbRegistration>>('breadcrumbs', []);\n\nfunction getMatcher(settings: BreadcrumbSettings) {\n if (settings.matcher instanceof RegExp) {\n return settings.matcher;\n } else if (typeof settings.matcher === 'string') {\n return pathToRegexp(settings.matcher);\n } else {\n return pathToRegexp(settings.path);\n }\n}\n\nexport function registerBreadcrumb(breadcrumb: BreadcrumbSettings) {\n return registerBreadcrumbs([breadcrumb]);\n}\n\nexport function registerBreadcrumbs(breadcrumbs: Array<BreadcrumbSettings>) {\n const prevBreadcrumbs = getBreadcrumbs();\n const newBreadcrumbs = breadcrumbs.map((settings) => ({\n matcher: getMatcher(settings),\n settings,\n }));\n const nextBreadcrumbs = [...prevBreadcrumbs, ...newBreadcrumbs];\n store.setState(nextBreadcrumbs, true);\n}\n\nexport function getBreadcrumbs() {\n return store.getState();\n}\n","/** @module @category Breadcrumb */\nimport { getBreadcrumbs } from './db';\nimport type { BreadcrumbRegistration } from '../types';\n\nfunction getExact(breadcrumbs: Array<BreadcrumbRegistration>, path: string): BreadcrumbRegistration {\n const [bc] = breadcrumbs.filter((m) => m.matcher.test(path));\n return bc;\n}\n\nfunction getClosest(breadcrumbs: Array<BreadcrumbRegistration>, path: string): BreadcrumbRegistration | undefined {\n const segments = path.split('/');\n\n while (segments.length > 1) {\n segments.pop();\n const newPath = segments.join('/');\n const next = getNext(breadcrumbs, newPath);\n\n if (next) {\n return next;\n }\n }\n\n return undefined;\n}\n\nfunction getNext(breadcrumbs: Array<BreadcrumbRegistration>, path: string | undefined) {\n if (path) {\n return getExact(breadcrumbs, path) || getClosest(breadcrumbs, path);\n }\n\n return undefined;\n}\n\nexport function filterBreadcrumbs(list: Array<BreadcrumbRegistration>, path: string) {\n if (list.length > 0) {\n const current = getNext(list, path);\n\n if (current) {\n const links = [current];\n let previous = getNext(list, current.settings.parent);\n\n while (previous !== undefined) {\n links.push(previous);\n previous = getNext(list, previous.settings.parent);\n }\n\n return links.reverse();\n }\n }\n\n return [];\n}\n\nexport function getBreadcrumbsFor(path: string) {\n const breadcrumbs = getBreadcrumbs();\n return filterBreadcrumbs(breadcrumbs, path);\n}\n","/* single-spa@6.0.1 - ES2015 - prod */\nvar t=Object.freeze({__proto__:null,get start(){return It},get ensureJQuerySupport(){return ft},get setBootstrapMaxTime(){return K},get setMountMaxTime(){return H},get setUnmountMaxTime(){return J},get setUnloadMaxTime(){return Q},get registerApplication(){return Tt},get unregisterApplication(){return At},get getMountedApps(){return Et},get getAppStatus(){return Pt},get unloadApplication(){return Nt},get checkActivityFunctions(){return bt},get getAppNames(){return vt},get pathToActiveWhen(){return Dt},get navigateToUrl(){return tt},get patchHistoryApi(){return at},get triggerAppChange(){return $t},get addErrorHandler(){return i},get removeErrorHandler(){return s},get mountRootParcel(){return G},get NOT_LOADED(){return c},get LOADING_SOURCE_CODE(){return l},get NOT_BOOTSTRAPPED(){return f},get BOOTSTRAPPING(){return p},get NOT_MOUNTED(){return h},get MOUNTING(){return m},get UPDATING(){return w},get LOAD_ERROR(){return E},get MOUNTED(){return d},get UNLOADING(){return y},get UNMOUNTING(){return g},get SKIP_BECAUSE_BROKEN(){return v}}),e=(\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{}).CustomEvent,n=function(){try{var t=new e(\"cat\",{detail:{foo:\"bar\"}});return\"cat\"===t.type&&\"bar\"===t.detail.foo}catch(t){}return!1}()?e:\"undefined\"!=typeof document&&\"function\"==typeof document.createEvent?function(t,e){var n=document.createEvent(\"CustomEvent\");return e?n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail):n.initCustomEvent(t,!1,!1,void 0),n}:function(t,e){var n=document.createEventObject();return n.type=t,e?(n.bubbles=Boolean(e.bubbles),n.cancelable=Boolean(e.cancelable),n.detail=e.detail):(n.bubbles=!1,n.cancelable=!1,n.detail=void 0),n};let r=[];function o(t,e,n){const o=a(t,e,n);r.length?r.forEach((t=>t(o))):setTimeout((()=>{throw o}))}function i(t){if(\"function\"!=typeof t)throw Error(u(28,!1));r.push(t)}function s(t){if(\"function\"!=typeof t)throw Error(u(29,!1));let e=!1;return r=r.filter((n=>{const r=n===t;return e=e||r,!r})),e}function u(t,e,...n){return`single-spa minified message #${t}: ${e?e+\" \":\"\"}See https://single-spa.js.org/error/?code=${t}${n.length?`&arg=${n.join(\"&arg=\")}`:\"\"}`}function a(t,e,n){const r=`${A(e)} '${T(e)}' died in status ${e.status}: `;let o;if(t instanceof Error){try{t.message=r+t.message}catch(t){}o=t}else{console.warn(u(30,!1,e.status,T(e)));try{o=Error(r+JSON.stringify(t))}catch(e){o=t}}return o.appOrParcelName=T(e),e.status=n,o}const c=\"NOT_LOADED\",l=\"LOADING_SOURCE_CODE\",f=\"NOT_BOOTSTRAPPED\",p=\"BOOTSTRAPPING\",h=\"NOT_MOUNTED\",m=\"MOUNTING\",d=\"MOUNTED\",w=\"UPDATING\",g=\"UNMOUNTING\",y=\"UNLOADING\",E=\"LOAD_ERROR\",v=\"SKIP_BECAUSE_BROKEN\";function P(t){return t.status===d}function O(t){try{return t.activeWhen(window.location)}catch(e){return o(e,t,v),!1}}function T(t){return t.name}function b(t){return Boolean(t.unmountThisParcel)}function A(t){return b(t)?\"parcel\":\"application\"}function N(){for(let t=arguments.length-1;t>0;t--)for(let e in arguments[t])\"__proto__\"!==e&&(arguments[t-1][e]=arguments[t][e]);return arguments[0]}function S(t,e){for(let n=0;n<t.length;n++)if(e(t[n]))return t[n];return null}function _(t){return t&&(\"function\"==typeof t||(e=t,Array.isArray(e)&&!S(e,(t=>\"function\"!=typeof t))));var e}function D(t,e){let n=t[e]||[];n=Array.isArray(n)?n:[n],0===n.length&&(n=[()=>Promise.resolve()]);const r=A(t),o=T(t);return function(t){return n.reduce(((n,i,s)=>n.then((()=>{const n=i(t);return U(n)?n:Promise.reject(u(15,!1,r,o,e,s))}))),Promise.resolve())}}function U(t){return t&&\"function\"==typeof t.then&&\"function\"==typeof t.catch}let M=[];function j(t,e){return Promise.resolve().then((()=>t.status!==f?t:(t.status=p,t.bootstrap?V(t,\"bootstrap\").then(n).catch((n=>{if(e)throw a(n,t,v);return o(n,t,v),t})):Promise.resolve().then(n))));function n(){return t.status=h,t}}function $(t,e){return Promise.resolve().then((()=>{if(t.status!==d)return t;t.status=g;const n=Object.keys(t.parcels).map((e=>t.parcels[e].unmountThisParcel()));return Promise.all(n).then(r,(n=>r().then((()=>{const r=Error(n.message);if(e)throw a(r,t,v);o(r,t,v)})))).then((()=>t));function r(){return V(t,\"unmount\").then((()=>{t.status=h}),(n=>{if(e)throw a(n,t,v);o(n,t,v)}))}}))}let L=!1,R=!1;function x(t,e){return Promise.resolve().then((()=>t.status!==h?t:(L||(window.dispatchEvent(new n(\"single-spa:before-first-mount\")),L=!0),t.status=m,V(t,\"mount\").then((()=>(t.status=d,R||(window.dispatchEvent(new n(\"single-spa:first-mount\")),R=!0),t))).catch((n=>{return t.status=d,$(t,!0).then(r,r);function r(){if(e)throw a(n,t,v);return o(n,t,v),t}})))))}let I=0;const B={parcels:{}};function G(){return W.apply(B,arguments)}function W(t,e){const n=this;if(!t||\"object\"!=typeof t&&\"function\"!=typeof t)throw Error(u(2,!1));if(t.name&&\"string\"!=typeof t.name)throw Error(u(3,!1,typeof t.name));const r=I++;let o=t.name||`parcel-${r}`;if(\"object\"!=typeof e)throw Error(u(4,!1,o,typeof e));if(!e.domElement)throw Error(u(5,!1,o));const i=\"function\"==typeof t,s=i?t:()=>Promise.resolve(t),c={id:r,parcels:{},status:i?l:f,customProps:e,parentName:T(n),unmountThisParcel:()=>y.then((()=>{if(c.status!==d)throw Error(u(6,!1,o,c.status));return $(c,!0)})).then((t=>(c.parentName&&delete n.parcels[c.id],t))).then((t=>(E(t),t))).catch((t=>{throw c.status=v,P(t),t}))};let p;n.parcels[r]=c;let m=s();if(!m||\"function\"!=typeof m.then)throw Error(u(7,!1));m=m.then((t=>{if(!t)throw Error(u(8,!1));if(o=t.name||`parcel-${r}`,Object.prototype.hasOwnProperty.call(t,\"bootstrap\")&&!_(t.bootstrap))throw Error(u(9,!1,o));if(!_(t.mount))throw Error(u(10,!1,o));if(!_(t.unmount))throw Error(u(11,!1,o));if(t.update&&!_(t.update))throw Error(u(12,!1,o));const e=D(t,\"bootstrap\"),n=D(t,\"mount\"),i=D(t,\"unmount\");c.status=f,c.name=o,c.bootstrap=e,c.mount=n,c.unmount=i,c.timeouts=q(t.timeouts),t.update&&(c.update=D(t,\"update\"),p.update=function(t){return c.customProps=t,C((e=c,Promise.resolve().then((()=>{if(e.status!==d)throw Error(u(32,!1,T(e)));return e.status=w,V(e,\"update\").then((()=>(e.status=d,e))).catch((t=>{throw a(t,e,v)}))}))));var e})}));const g=m.then((()=>j(c,!0))),y=g.then((()=>x(c,!0)));let E,P;const O=new Promise(((t,e)=>{E=t,P=e}));return p={mount:()=>C(Promise.resolve().then((()=>{if(c.status!==h)throw Error(u(13,!1,o,c.status));return n.parcels[r]=c,x(c)}))),unmount:()=>C(c.unmountThisParcel()),getStatus:()=>c.status,loadPromise:C(m),bootstrapPromise:C(g),mountPromise:C(y),unmountPromise:C(O)},p}function C(t){return t.then((()=>null))}function k(e){const n=T(e);let r=\"function\"==typeof e.customProps?e.customProps(n,window.location):e.customProps;(\"object\"!=typeof r||null===r||Array.isArray(r))&&(r={},console.warn(u(40,!1),n,r));const o=N({},r,{name:n,mountParcel:W.bind(e),singleSpa:t});return b(e)&&(o.unmountSelf=e.unmountThisParcel),o}const F={bootstrap:{millis:4e3,dieOnTimeout:!1,warningMillis:1e3},mount:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},unmount:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},unload:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},update:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3}};function K(t,e,n){if(\"number\"!=typeof t||t<=0)throw Error(u(16,!1));F.bootstrap={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function H(t,e,n){if(\"number\"!=typeof t||t<=0)throw Error(u(17,!1));F.mount={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function J(t,e,n){if(\"number\"!=typeof t||t<=0)throw Error(u(18,!1));F.unmount={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function Q(t,e,n){if(\"number\"!=typeof t||t<=0)throw Error(u(19,!1));F.unload={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function V(t,e){const n=t.timeouts[e],r=n.warningMillis,o=A(t);return new Promise(((i,s)=>{let a=!1,c=!1;t[e](k(t)).then((t=>{a=!0,i(t)})).catch((t=>{a=!0,s(t)})),setTimeout((()=>f(1)),r),setTimeout((()=>f(!0)),n.millis);const l=u(31,!1,e,o,T(t),n.millis);function f(t){if(!a)if(!0===t)c=!0,n.dieOnTimeout?s(Error(l)):console.error(l);else if(!c){const e=t,o=e*r;console.warn(l),o+r<n.millis&&setTimeout((()=>f(e+1)),r)}}}))}function q(t){const e={};for(let n in F)e[n]=N({},F[n],t&&t[n]||{});return e}function z(t){return Promise.resolve().then((()=>{if(t.loadPromise)return t.loadPromise;if(t.status!==c&&t.status!==E)return t;let e,n;return t.status=l,t.loadPromise=Promise.resolve().then((()=>{const r=t.loadApp(k(t));if(!U(r))throw n=!0,Error(u(33,!1,T(t)));return r.then((n=>{let r;t.loadErrorTime=null,e=n,\"object\"!=typeof e&&(r=34),Object.prototype.hasOwnProperty.call(e,\"bootstrap\")&&!_(e.bootstrap)&&(r=35),_(e.mount)||(r=36),_(e.unmount)||(r=37);const i=A(e);if(r){let n;try{n=JSON.stringify(e)}catch(t){}return console.error(u(r,!1,i,T(t),n),e),o(void 0,t,v),t}return e.devtools&&e.devtools.overlays&&(t.devtools.overlays=N({},t.devtools.overlays,e.devtools.overlays)),t.status=f,t.bootstrap=D(e,\"bootstrap\"),t.mount=D(e,\"mount\"),t.unmount=D(e,\"unmount\"),t.unload=D(e,\"unload\"),t.timeouts=q(e.timeouts),delete t.loadPromise,t}))})).catch((e=>{let r;return delete t.loadPromise,n?r=v:(r=E,t.loadErrorTime=(new Date).getTime()),o(e,t,r),t}))}))}const X=\"undefined\"!=typeof window,Y={hashchange:[],popstate:[]},Z=[\"hashchange\",\"popstate\"];function tt(t){let e;if(\"string\"==typeof t)e=t;else if(this&&this.href)e=this.href;else{if(!(t&&t.currentTarget&&t.currentTarget.href&&t.preventDefault))throw Error(u(14,!1));e=t.currentTarget.href,t.preventDefault()}const n=ct(window.location.href),r=ct(e);0===e.indexOf(\"#\")?window.location.hash=r.hash:n.host!==r.host&&r.host?window.location.href=e:r.pathname===n.pathname&&r.search===n.search?window.location.hash=r.hash:window.history.pushState(null,null,e)}function et(t){if(t){const e=t[0].type;Z.indexOf(e)>=0&&Y[e].forEach((e=>{try{e.apply(this,t)}catch(t){setTimeout((()=>{throw t}))}}))}}let nt;function rt(){Lt([],arguments)}function ot(t,e){return function(){const n=window.location.href,r=t.apply(this,arguments),o=window.location.href;return nt&&n===o||window.dispatchEvent(it(window.history.state,e)),r}}function it(t,e){let n;try{n=new PopStateEvent(\"popstate\",{state:t})}catch(e){n=document.createEvent(\"PopStateEvent\"),n.initPopStateEvent(\"popstate\",!1,!1,t)}return n.singleSpa=!0,n.singleSpaTrigger=e,n}let st=null,ut=!1;function at(t){if(ut)throw Error(u(43,!1));nt=!t||!t.hasOwnProperty(\"urlRerouteOnly\")||t.urlRerouteOnly,ut=!0,st=window.history.replaceState,window.addEventListener(\"hashchange\",rt),window.addEventListener(\"popstate\",rt);const e=window.addEventListener,n=window.removeEventListener;window.addEventListener=function(t,n){if(!(\"function\"==typeof n&&Z.indexOf(t)>=0)||S(Y[t],(t=>t===n)))return e.apply(this,arguments);Y[t].push(n)},window.removeEventListener=function(t,e){if(!(\"function\"==typeof e&&Z.indexOf(t)>=0))return n.apply(this,arguments);Y[t]=Y[t].filter((t=>t!==e))},window.history.pushState=ot(window.history.pushState,\"pushState\"),window.history.replaceState=ot(st,\"replaceState\")}function ct(t){const e=document.createElement(\"a\");return e.href=t,e}X&&(window.singleSpaNavigate?console.warn(u(41,!1)):window.singleSpaNavigate=tt);let lt=!1;function ft(t=window.jQuery){if(t||window.$&&window.$.fn&&window.$.fn.jquery&&(t=window.$),t&&!lt){const e=t.fn.on,n=t.fn.off;t.fn.on=function(t,n){return pt.call(this,e,window.addEventListener,t,n,arguments)},t.fn.off=function(t,e){return pt.call(this,n,window.removeEventListener,t,e,arguments)},lt=!0}}function pt(t,e,n,r,o){return\"string\"!=typeof n?t.apply(this,o):(n.split(/\\s+/).forEach((t=>{Z.indexOf(t)>=0&&(e(t,r),n=n.replace(t,\"\"))})),\"\"===n.trim()?this:t.apply(this,o))}const ht={};function mt(t){return Promise.resolve().then((()=>{const e=ht[T(t)];if(!e)return t;if(t.status===c)return dt(t,e),t;if(t.status===y)return e.promise.then((()=>t));if(t.status!==h&&t.status!==E)return t;const n=t.status===E?Promise.resolve():V(t,\"unload\");return t.status=y,n.then((()=>(dt(t,e),t))).catch((n=>(function(t,e,n){delete ht[T(t)],delete t.bootstrap,delete t.mount,delete t.unmount,delete t.unload,o(n,t,v),e.reject(n)}(t,e,n),t)))}))}function dt(t,e){delete ht[T(t)],delete t.bootstrap,delete t.mount,delete t.unmount,delete t.unload,t.status=c,e.resolve()}function wt(t,e,n,r){ht[T(t)]={app:t,resolve:n,reject:r},Object.defineProperty(ht[T(t)],\"promise\",{get:e})}function gt(t){return ht[t]}const yt=[];function Et(){return yt.filter(P).map(T)}function vt(){return yt.map(T)}function Pt(t){const e=S(yt,(e=>T(e)===t));return e?e.status:null}let Ot=!1;function Tt(t,e,n,r){const o=function(t,e,n,r){const o={name:null,loadApp:null,activeWhen:null,customProps:null};return\"object\"==typeof t?(function(t){if(Array.isArray(t)||null===t)throw Error(u(39,!1));const e=[\"name\",\"app\",\"activeWhen\",\"customProps\"],n=Object.keys(t).reduce(((t,n)=>e.indexOf(n)>=0?t:t.concat(n)),[]);if(0!==n.length)throw Error(u(38,!1,e.join(\", \"),n.join(\", \")));if(\"string\"!=typeof t.name||0===t.name.length)throw Error(u(20,!1));if(\"object\"!=typeof t.app&&\"function\"!=typeof t.app)throw Error(u(20,!1));const r=t=>\"string\"==typeof t||\"function\"==typeof t;if(!(r(t.activeWhen)||Array.isArray(t.activeWhen)&&t.activeWhen.every(r)))throw Error(u(24,!1));if(!_t(t.customProps))throw Error(u(22,!1))}(t),o.name=t.name,o.loadApp=t.app,o.activeWhen=t.activeWhen,o.customProps=t.customProps):(function(t,e,n,r){if(\"string\"!=typeof t||0===t.length)throw Error(u(20,!1));if(!e)throw Error(u(23,!1));if(\"function\"!=typeof n)throw Error(u(24,!1));if(!_t(r))throw Error(u(22,!1))}(t,e,n,r),o.name=t,o.loadApp=e,o.activeWhen=n,o.customProps=r),o.loadApp=\"function\"!=typeof(i=o.loadApp)?()=>Promise.resolve(i):i,o.customProps=function(t){return t||{}}(o.customProps),o.activeWhen=function(t){let e=Array.isArray(t)?t:[t];return e=e.map((t=>\"function\"==typeof t?t:Dt(t))),t=>e.some((e=>e(t)))}(o.activeWhen),o;var i}(t,e,n,r);if(Bt()||Ot||(Ot=!0,setTimeout((()=>{Bt()||console.warn(u(1,!1))}),5e3)),-1!==vt().indexOf(o.name))throw Error(u(21,!1,o.name));yt.push(N({loadErrorTime:null,status:c,parcels:{},devtools:{overlays:{options:{},selectors:[]}}},o)),X&&(ft(),Lt())}function bt(t=window.location){return yt.filter((e=>e.activeWhen(t))).map(T)}function At(t){if(0===yt.filter((e=>T(e)===t)).length)throw Error(u(25,!1,t));return(X?Nt(t,{waitForUnmount:!1}):Promise.resolve()).then((()=>{const e=yt.map(T).indexOf(t);yt.splice(e,1)}))}function Nt(t,e={waitForUnmount:!1}){if(\"string\"!=typeof t)throw Error(u(26,!1));const n=S(yt,(e=>T(e)===t));if(!n)throw Error(u(27,!1,t));const r=gt(T(n));if(e&&e.waitForUnmount){if(r)return r.promise;{const t=new Promise(((e,r)=>{wt(n,(()=>t),e,r)}));return t}}{let t;return r?(t=r.promise,St(n,r.resolve,r.reject)):t=new Promise(((e,r)=>{wt(n,(()=>t),e,r),St(n,e,r)})),t}}function St(t,e,n){Promise.resolve().then((()=>{if(S(bt(),(e=>e===T(t))))return $t()})).then((()=>$(t).then(mt).then((()=>{e(),setTimeout((()=>{Lt()}))})))).catch(n)}function _t(t){return!t||\"function\"==typeof t||\"object\"==typeof t&&null!==t&&!Array.isArray(t)}function Dt(t,e){const n=function(t,e){let n=0,r=!1,o=\"^\";\"/\"!==t[0]&&(t=\"/\"+t);for(let e=0;e<t.length;e++){const n=t[e],o=r&&\"/\"===n;(!r&&\":\"===n||o)&&i(e)}return i(t.length),new RegExp(o,\"i\");function i(i){const s=t.slice(n,i).replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\");if(o+=r?\"[^/]+/?\":s,i===t.length)if(r)e&&(o+=\"$\");else{const t=e?\"\":\".*\";o=\"/\"===o.charAt(o.length-1)?`${o}${t}$`:`${o}(/${t})?(#.*)?$`}r=!r,n=i}}(t,e);return t=>{let e=t.origin;e||(e=`${t.protocol}//${t.host}`);const r=t.href.replace(e,\"\").replace(t.search,\"\").split(\"?\")[0];return n.test(r)}}let Ut=!1,Mt=[],jt=X&&window.location.href;function $t(){return Lt()}function Lt(t=[],e,r=!1){if(Ut)return new Promise(((t,n)=>{Mt.push({resolve:t,reject:n,eventArguments:e})}));const{appsToUnload:o,appsToUnmount:i,appsToLoad:s,appsToMount:a}=function(){const t=[],e=[],n=[],r=[],o=(new Date).getTime();return yt.forEach((i=>{const s=i.status!==v&&O(i);switch(i.status){case E:s&&o-i.loadErrorTime>=200&&n.push(i);break;case c:case l:s&&n.push(i);break;case f:case h:!s&&gt(T(i))?t.push(i):s&&r.push(i);break;case d:s||e.push(i)}})),{appsToUnload:t,appsToUnmount:e,appsToLoad:n,appsToMount:r}}();let p,m=[],w=jt,g=jt=window.location.href;return Bt()?(Ut=!0,p=o.concat(s,i,a),Promise.resolve().then((()=>(S(0===p.length?\"before-no-app-change\":\"before-app-change\",A(!0)),S(\"before-routing-event\",A(!0,{cancelNavigation:y})),Promise.all(m).then((n=>{if(n.some((t=>t)))return st.call(window.history,history.state,\"\",w.substring(location.origin.length)),jt=location.href,Ut=!1,Lt(t,e,!0);const r=o.map(mt),u=i.map($).map((t=>t.then(mt))).concat(r),c=Promise.all(u);c.then((()=>{S(\"before-mount-routing-event\",A(!0))}),(t=>{throw t}));const l=s.map((t=>z(t).then((t=>Rt(t,c))))),f=a.filter((t=>s.indexOf(t)<0)).map((t=>Rt(t,c)));return c.catch((t=>{throw b(),t})).then((()=>(b(),Promise.all(l.concat(f)).catch((e=>{throw t.forEach((t=>t.reject(e))),e})).then(P).then((()=>{}),(t=>{throw t})))))})))))):(p=s,Promise.resolve().then((()=>{const t=s.map(z);return Promise.all(t).then(b).then((()=>[])).catch((t=>{throw b(),t})).finally((()=>{}))})));function y(t=!0){const e=\"function\"==typeof(null==t?void 0:t.then)?t:Promise.resolve(t);m.push(e.catch((t=>(console.warn(Error(u(42,!1))),console.warn(t),!1))))}function P(){const e=Et();t.forEach((t=>t.resolve(e)));try{S(0===p.length?\"no-app-change\":\"app-change\",A()),S(\"routing-event\",A())}catch(t){setTimeout((()=>{throw t}))}if(Ut=!1,Mt.length>0){const t=Mt;Mt=[],Lt(t)}return e}function b(){r||(t.forEach((t=>{et(t.eventArguments)})),et(e))}function A(t=!1,n){const r={},u={[d]:[],[h]:[],[c]:[],[v]:[]};t?(s.concat(a).forEach(((t,e)=>{f(t,d)})),o.forEach((t=>{f(t,c)})),i.forEach((t=>{f(t,h)}))):p.forEach((t=>{f(t)}));const l={detail:{newAppStatuses:r,appsByNewStatus:u,totalAppChanges:p.length,originalEvent:null==e?void 0:e[0],oldUrl:w,newUrl:g}};return n&&N(l.detail,n),l;function f(t,e){const n=T(t);e=e||Pt(n),r[n]=e,(u[e]=u[e]||[]).push(n)}}function S(t,e){r||window.dispatchEvent(new n(`single-spa:${t}`,e))}}function Rt(t,e){return O(t)?j(t).then((t=>e.then((()=>O(t)?x(t):t)))):e.then((()=>t))}let xt=!1;function It(t){xt=!0,X&&(at(t),Lt())}function Bt(){return xt}var Gt={getRawAppData:function(){return[...yt]},reroute:Lt,NOT_LOADED:c,toLoadPromise:z,toBootstrapPromise:j,unregisterApplication:At,getProfilerData:function(){return M}};X&&window.__SINGLE_SPA_DEVTOOLS__&&(window.__SINGLE_SPA_DEVTOOLS__.exposedMethods=Gt);export{p as BOOTSTRAPPING,l as LOADING_SOURCE_CODE,E as LOAD_ERROR,d as MOUNTED,m as MOUNTING,f as NOT_BOOTSTRAPPED,c as NOT_LOADED,h as NOT_MOUNTED,v as SKIP_BECAUSE_BROKEN,y as UNLOADING,g as UNMOUNTING,w as UPDATING,i as addErrorHandler,bt as checkActivityFunctions,ft as ensureJQuerySupport,vt as getAppNames,Pt as getAppStatus,Et as getMountedApps,G as mountRootParcel,tt as navigateToUrl,at as patchHistoryApi,Dt as pathToActiveWhen,Tt as registerApplication,s as removeErrorHandler,K as setBootstrapMaxTime,H as setMountMaxTime,Q as setUnloadMaxTime,J as setUnmountMaxTime,It as start,$t as triggerAppChange,Nt as unloadApplication,At as unregisterApplication};\n//# sourceMappingURL=single-spa.min.js.map\n","/** @module @category Navigation */\n\nfunction trimTrailingSlash(str: string) {\n return str.replace(/\\/$/, '');\n}\n\n/**\n * Interpolates a string with openmrsBase and openmrsSpaBase.\n *\n * Useful for accepting `${openmrsBase}` or `${openmrsSpaBase}`plus additional template\n * parameters in configurable URLs.\n *\n * Example usage:\n * ```js\n * interpolateUrl(\"test ${openmrsBase} ${openmrsSpaBase} ok\");\n * // will return \"test /openmrs /openmrs/spa ok\"\n *\n * interpolateUrl(\"${openmrsSpaBase}/patient/${patientUuid}\", {\n * patientUuid: \"4fcb7185-c6c9-450f-8828-ccae9436bd82\",\n * }); // will return \"/openmrs/spa/patient/4fcb7185-c6c9-450f-8828-ccae9436bd82\"\n * ```\n *\n * This can be used in conjunction with the `navigate` function like so\n * ```js\n * navigate({\n * to: interpolateUrl(\n * \"${openmrsSpaBase}/patient/${patientUuid}\",\n * { patientUuid: patient.uuid }\n * )\n * }); // will navigate to \"/openmrs/spa/patient/4fcb7185-c6c9-450f-8828-ccae9436bd82\"\n * ```\n *\n * @param template A string to interpolate\n * @param additionalParams Additional values to interpolate into the string template\n */\nexport function interpolateUrl(template: string, additionalParams?: { [key: string]: string }): string {\n const openmrsSpaBase = trimTrailingSlash(window.getOpenmrsSpaBase());\n return interpolateString(template, {\n openmrsBase: window.openmrsBase,\n openmrsSpaBase: openmrsSpaBase,\n ...additionalParams,\n }).replace(/^\\/\\//, '/'); // remove extra initial slash if present\n}\n\n/**\n * Interpolates values of `params` into the `template` string.\n *\n * Example usage:\n * ```js\n * interpolateString(\"test ${one} ${two} 3\", {\n * one: \"1\",\n * two: \"2\",\n * }); // will return \"test 1 2 3\"\n * interpolateString(\"test ok\", { one: \"1\", two: \"2\" }) // will return \"test ok\"\n * ```\n *\n * @param template With optional params wrapped in `${ }`\n * @param params Values to interpolate into the string template\n */\nexport function interpolateString(template: string, params: { [key: string]: string }): string {\n const names = Object.keys(params);\n return names.reduce((prev, curr) => prev.split('${' + curr + '}').join(params[curr]), template);\n}\n","/** @module @category Navigation */\nimport { navigateToUrl } from 'single-spa';\nimport { interpolateUrl } from './interpolate-string';\nimport type {} from '@openmrs/esm-globals';\n\nfunction trimTrailingSlash(str: string) {\n return str.replace(/\\/$/, '');\n}\n\nexport type TemplateParams = { [key: string]: string };\n\nexport interface NavigateOptions {\n to: string;\n templateParams?: TemplateParams;\n}\n\n/**\n * Calls `location.assign` for non-SPA paths and [navigateToUrl](https://single-spa.js.org/docs/api/#navigatetourl) for SPA paths\n *\n * #### Example usage:\n * ```js\n * @example\n * const config = useConfig();\n * const submitHandler = () => {\n * navigate({ to: config.links.submitSuccess });\n * };\n * ```\n *\n * #### Example behavior::\n * ```js\n * @example\n * navigate({ to: \"/some/path\" }); // => window.location.assign(\"/some/path\")\n * navigate({ to: \"https://single-spa.js.org/\" }); // => window.location.assign(\"https://single-spa.js.org/\")\n * navigate({ to: \"${openmrsBase}/some/path\" }); // => window.location.assign(\"/openmrs/some/path\")\n * navigate({ to: \"/openmrs/spa/foo/page\" }); // => navigateToUrl(\"/openmrs/spa/foo/page\")\n * navigate({ to: \"${openmrsSpaBase}/bar/page\" }); // => navigateToUrl(\"/openmrs/spa/bar/page\")\n * navigate({ to: \"/${openmrsSpaBase}/baz/page\" }) // => navigateToUrl(\"/openmrs/spa/baz/page\")\n * navigate({ to: \"https://o3.openmrs.org/${openmrsSpaBase}/qux/page\" }); // => navigateToUrl(\"/openmrs/spa/qux/page\")\n * if `window.location.origin` == \"https://o3.openmrs.org\", else will use window.location.assign\n * ```\n *\n * @param to The target path or URL. Supports templating with 'openmrsBase', 'openmrsSpaBase',\n * and any additional template parameters defined in `templateParams`.\n * For example, `${openmrsSpaBase}/home` will resolve to `/openmrs/spa/home`\n * for implementations using the standard OpenMRS and SPA base paths.\n * If `templateParams` contains `{ foo: \"bar\" }`, then the URL `${openmrsBase}/${foo}`\n * will become `/openmrs/bar`.\n */\nexport function navigate({ to, templateParams }: NavigateOptions): void {\n const openmrsSpaBase = trimTrailingSlash(window.getOpenmrsSpaBase());\n const target = interpolateUrl(to, templateParams).replace(window.location.origin, '');\n const isSpaPath = target.startsWith(openmrsSpaBase);\n\n if (isSpaPath) {\n navigateToUrl(target);\n } else {\n window.location.assign(target);\n }\n}\n","/** @module @category Navigation */\nimport { navigate } from '../navigation/navigate';\n\nconst historyKey = 'openmrs:history';\n\nfunction addToHistory(newLocation: string) {\n let history = JSON.parse(sessionStorage.getItem(historyKey) ?? '[]') || [];\n history.push(newLocation);\n const maxSize = 50;\n if (history.length > maxSize) {\n history = history.slice(-maxSize);\n }\n sessionStorage.setItem(historyKey, JSON.stringify(history));\n}\n\n/**\n * Initialize history from sessionStorage. If history is empty, add\n * document.referrer if available.\n *\n * @internal\n */\nexport function setupHistory() {\n let history = JSON.parse(sessionStorage.getItem(historyKey) ?? '[]');\n if (history.length === 0 && document.referrer) {\n addToHistory(document.referrer);\n }\n\n window.addEventListener('single-spa:routing-event', (evt: CustomEvent) => {\n const history = getHistory();\n if (evt.detail.originalEvent?.singleSpaTrigger == 'replaceState') {\n // handle redirect\n history[history.length - 1] = window.location.href;\n sessionStorage.setItem(historyKey, JSON.stringify(history));\n } else if (!evt.detail.originalEvent?.singleSpa && history.includes(window.location.href)) {\n // handle back button (as best we can tell whether it was used or not)\n goBackInHistory({ toUrl: window.location.href });\n } else if (history[history.length - 1] !== window.location.href) {\n // handle normal navigation\n addToHistory(window.location.href);\n }\n });\n}\n\n/**\n * Returns a list of URLs representing the history of the current window session.\n */\nexport function getHistory(): Array<string> {\n return JSON.parse(sessionStorage.getItem(historyKey) ?? '[]');\n}\n\n/**\n * Rolls back the history to the specified point and navigates to that URL.\n *\n * @param toUrl: The URL in the history to navigate to. History after that index\n * will be deleted. If the URL is not found in the history, an error will be\n * thrown.\n */\nexport function goBackInHistory({ toUrl }: { toUrl: string }) {\n const history = getHistory();\n const toIndex = history.lastIndexOf(toUrl);\n if (toIndex != -1) {\n const newHistory = history.slice(0, toIndex + 1);\n navigate({ to: history[toIndex] });\n sessionStorage.setItem(historyKey, JSON.stringify(newHistory));\n } else {\n throw new Error(`URL ${toUrl} not found in history; cannot go back to it.`);\n }\n}\n\n/**\n * Clears the history from sessionStorage. This should be done when the user\n * logs out.\n */\nexport function clearHistory() {\n sessionStorage.removeItem(historyKey);\n}\n"],"names":["module","exports","__WEBPACK_EXTERNAL_MODULE__685__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","d","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","escapeString","str","replace","flags","options","sensitive","stringToRegexp","path","keys","tokens","_a","strict","_b","start","_c","end","_d","encode","x","endsWith","delimiter","route","_i","tokens_1","length","token","prefix","suffix","pattern","push","modifier","mod","endToken","isEndDelimited","indexOf","RegExp","tokensToRegexp","i","char","type","index","count","j","TypeError","name","code","charCodeAt","lexer","prefixes","defaultPattern","result","tryConsume","mustConsume","nextType","consumeText","name_1","pattern_1","parse","pathToRegexp","groups","source","match","regexpToRegexp","Array","isArray","paths","parts","map","join","arrayToRegexp","store","createGlobalStore","getMatcher","settings","matcher","registerBreadcrumb","breadcrumb","registerBreadcrumbs","breadcrumbs","prevBreadcrumbs","getBreadcrumbs","newBreadcrumbs","nextBreadcrumbs","setState","getState","getNext","filter","m","test","getExact","segments","split","pop","next","getClosest","filterBreadcrumbs","list","current","links","previous","parent","reverse","getBreadcrumbsFor","t","freeze","__proto__","It","ensureJQuerySupport","ft","setBootstrapMaxTime","K","setMountMaxTime","H","setUnmountMaxTime","J","setUnloadMaxTime","Q","registerApplication","Tt","unregisterApplication","At","getMountedApps","Et","getAppStatus","Pt","unloadApplication","Nt","checkActivityFunctions","bt","getAppNames","vt","pathToActiveWhen","Dt","navigateToUrl","tt","patchHistoryApi","at","triggerAppChange","$t","addErrorHandler","removeErrorHandler","s","mountRootParcel","G","NOT_LOADED","c","LOADING_SOURCE_CODE","l","NOT_BOOTSTRAPPED","f","BOOTSTRAPPING","p","NOT_MOUNTED","h","MOUNTING","UPDATING","w","LOAD_ERROR","E","MOUNTED","UNLOADING","y","UNMOUNTING","g","SKIP_BECAUSE_BROKEN","v","e","globalThis","window","global","self","CustomEvent","n","detail","foo","document","createEvent","initCustomEvent","bubbles","cancelable","createEventObject","Boolean","a","forEach","setTimeout","Error","u","A","T","status","message","console","warn","JSON","stringify","appOrParcelName","P","O","activeWhen","location","b","unmountThisParcel","N","arguments","S","_","D","Promise","resolve","reduce","then","U","reject","catch","M","bootstrap","V","$","parcels","all","L","R","dispatchEvent","I","B","W","apply","this","domElement","id","customProps","parentName","mount","unmount","update","timeouts","q","C","getStatus","loadPromise","bootstrapPromise","mountPromise","unmountPromise","k","mountParcel","bind","singleSpa","unmountSelf","F","millis","dieOnTimeout","warningMillis","unload","error","z","loadApp","loadErrorTime","devtools","overlays","Date","getTime","X","Y","hashchange","popstate","Z","href","currentTarget","preventDefault","ct","hash","host","pathname","search","history","pushState","et","nt","rt","Lt","ot","PopStateEvent","state","initPopStateEvent","singleSpaTrigger","it","st","ut","urlRerouteOnly","replaceState","addEventListener","removeEventListener","createElement","singleSpaNavigate","lt","jQuery","fn","jquery","on","off","pt","trim","ht","mt","dt","promise","wt","app","gt","yt","Ot","concat","every","_t","some","Bt","selectors","waitForUnmount","splice","St","slice","charAt","origin","protocol","Ut","Mt","jt","eventArguments","appsToUnload","appsToUnmount","appsToLoad","appsToMount","cancelNavigation","substring","Rt","finally","newAppStatuses","appsByNewStatus","totalAppChanges","originalEvent","oldUrl","newUrl","xt","Gt","getRawAppData","reroute","toLoadPromise","toBootstrapPromise","getProfilerData","interpolateUrl","template","additionalParams","openmrsSpaBase","getOpenmrsSpaBase","interpolateString","openmrsBase","params","prev","curr","navigate","to","templateParams","target","startsWith","assign","__SINGLE_SPA_DEVTOOLS__","exposedMethods","historyKey","addToHistory","newLocation","sessionStorage","getItem","setItem","setupHistory","referrer","evt","getHistory","includes","goBackInHistory","toUrl","toIndex","lastIndexOf","newHistory","clearHistory","removeItem"],"sourceRoot":""}
1
+ {"version":3,"file":"openmrs-esm-navigation.js","mappings":"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","sources":["webpack://@openmrs/esm-navigation/external system \"@openmrs/esm-state\"","webpack://@openmrs/esm-navigation/webpack/bootstrap","webpack://@openmrs/esm-navigation/webpack/runtime/define property getters","webpack://@openmrs/esm-navigation/webpack/runtime/hasOwnProperty shorthand","webpack://@openmrs/esm-navigation/webpack/runtime/make namespace object","webpack://@openmrs/esm-navigation/../../../node_modules/path-to-regexp/dist.es2015/index.js","webpack://@openmrs/esm-navigation/./src/breadcrumbs/db.ts","webpack://@openmrs/esm-navigation/./src/breadcrumbs/filter.ts","webpack://@openmrs/esm-navigation/../../../node_modules/single-spa/lib/es2015/esm/single-spa.min.js","webpack://@openmrs/esm-navigation/./src/navigation/interpolate-string.ts","webpack://@openmrs/esm-navigation/./src/navigation/navigate.ts","webpack://@openmrs/esm-navigation/./src/history/history.ts"],"sourcesContent":["module.exports = __WEBPACK_EXTERNAL_MODULE__685__;","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","/**\n * Tokenize input string.\n */\nfunction lexer(str) {\n var tokens = [];\n var i = 0;\n while (i < str.length) {\n var char = str[i];\n if (char === \"*\" || char === \"+\" || char === \"?\") {\n tokens.push({ type: \"MODIFIER\", index: i, value: str[i++] });\n continue;\n }\n if (char === \"\\\\\") {\n tokens.push({ type: \"ESCAPED_CHAR\", index: i++, value: str[i++] });\n continue;\n }\n if (char === \"{\") {\n tokens.push({ type: \"OPEN\", index: i, value: str[i++] });\n continue;\n }\n if (char === \"}\") {\n tokens.push({ type: \"CLOSE\", index: i, value: str[i++] });\n continue;\n }\n if (char === \":\") {\n var name = \"\";\n var j = i + 1;\n while (j < str.length) {\n var code = str.charCodeAt(j);\n if (\n // `0-9`\n (code >= 48 && code <= 57) ||\n // `A-Z`\n (code >= 65 && code <= 90) ||\n // `a-z`\n (code >= 97 && code <= 122) ||\n // `_`\n code === 95) {\n name += str[j++];\n continue;\n }\n break;\n }\n if (!name)\n throw new TypeError(\"Missing parameter name at \" + i);\n tokens.push({ type: \"NAME\", index: i, value: name });\n i = j;\n continue;\n }\n if (char === \"(\") {\n var count = 1;\n var pattern = \"\";\n var j = i + 1;\n if (str[j] === \"?\") {\n throw new TypeError(\"Pattern cannot start with \\\"?\\\" at \" + j);\n }\n while (j < str.length) {\n if (str[j] === \"\\\\\") {\n pattern += str[j++] + str[j++];\n continue;\n }\n if (str[j] === \")\") {\n count--;\n if (count === 0) {\n j++;\n break;\n }\n }\n else if (str[j] === \"(\") {\n count++;\n if (str[j + 1] !== \"?\") {\n throw new TypeError(\"Capturing groups are not allowed at \" + j);\n }\n }\n pattern += str[j++];\n }\n if (count)\n throw new TypeError(\"Unbalanced pattern at \" + i);\n if (!pattern)\n throw new TypeError(\"Missing pattern at \" + i);\n tokens.push({ type: \"PATTERN\", index: i, value: pattern });\n i = j;\n continue;\n }\n tokens.push({ type: \"CHAR\", index: i, value: str[i++] });\n }\n tokens.push({ type: \"END\", index: i, value: \"\" });\n return tokens;\n}\n/**\n * Parse a string for the raw tokens.\n */\nexport function parse(str, options) {\n if (options === void 0) { options = {}; }\n var tokens = lexer(str);\n var _a = options.prefixes, prefixes = _a === void 0 ? \"./\" : _a;\n var defaultPattern = \"[^\" + escapeString(options.delimiter || \"/#?\") + \"]+?\";\n var result = [];\n var key = 0;\n var i = 0;\n var path = \"\";\n var tryConsume = function (type) {\n if (i < tokens.length && tokens[i].type === type)\n return tokens[i++].value;\n };\n var mustConsume = function (type) {\n var value = tryConsume(type);\n if (value !== undefined)\n return value;\n var _a = tokens[i], nextType = _a.type, index = _a.index;\n throw new TypeError(\"Unexpected \" + nextType + \" at \" + index + \", expected \" + type);\n };\n var consumeText = function () {\n var result = \"\";\n var value;\n // tslint:disable-next-line\n while ((value = tryConsume(\"CHAR\") || tryConsume(\"ESCAPED_CHAR\"))) {\n result += value;\n }\n return result;\n };\n while (i < tokens.length) {\n var char = tryConsume(\"CHAR\");\n var name = tryConsume(\"NAME\");\n var pattern = tryConsume(\"PATTERN\");\n if (name || pattern) {\n var prefix = char || \"\";\n if (prefixes.indexOf(prefix) === -1) {\n path += prefix;\n prefix = \"\";\n }\n if (path) {\n result.push(path);\n path = \"\";\n }\n result.push({\n name: name || key++,\n prefix: prefix,\n suffix: \"\",\n pattern: pattern || defaultPattern,\n modifier: tryConsume(\"MODIFIER\") || \"\"\n });\n continue;\n }\n var value = char || tryConsume(\"ESCAPED_CHAR\");\n if (value) {\n path += value;\n continue;\n }\n if (path) {\n result.push(path);\n path = \"\";\n }\n var open = tryConsume(\"OPEN\");\n if (open) {\n var prefix = consumeText();\n var name_1 = tryConsume(\"NAME\") || \"\";\n var pattern_1 = tryConsume(\"PATTERN\") || \"\";\n var suffix = consumeText();\n mustConsume(\"CLOSE\");\n result.push({\n name: name_1 || (pattern_1 ? key++ : \"\"),\n pattern: name_1 && !pattern_1 ? defaultPattern : pattern_1,\n prefix: prefix,\n suffix: suffix,\n modifier: tryConsume(\"MODIFIER\") || \"\"\n });\n continue;\n }\n mustConsume(\"END\");\n }\n return result;\n}\n/**\n * Compile a string to a template function for the path.\n */\nexport function compile(str, options) {\n return tokensToFunction(parse(str, options), options);\n}\n/**\n * Expose a method for transforming tokens into the path function.\n */\nexport function tokensToFunction(tokens, options) {\n if (options === void 0) { options = {}; }\n var reFlags = flags(options);\n var _a = options.encode, encode = _a === void 0 ? function (x) { return x; } : _a, _b = options.validate, validate = _b === void 0 ? true : _b;\n // Compile all the tokens into regexps.\n var matches = tokens.map(function (token) {\n if (typeof token === \"object\") {\n return new RegExp(\"^(?:\" + token.pattern + \")$\", reFlags);\n }\n });\n return function (data) {\n var path = \"\";\n for (var i = 0; i < tokens.length; i++) {\n var token = tokens[i];\n if (typeof token === \"string\") {\n path += token;\n continue;\n }\n var value = data ? data[token.name] : undefined;\n var optional = token.modifier === \"?\" || token.modifier === \"*\";\n var repeat = token.modifier === \"*\" || token.modifier === \"+\";\n if (Array.isArray(value)) {\n if (!repeat) {\n throw new TypeError(\"Expected \\\"\" + token.name + \"\\\" to not repeat, but got an array\");\n }\n if (value.length === 0) {\n if (optional)\n continue;\n throw new TypeError(\"Expected \\\"\" + token.name + \"\\\" to not be empty\");\n }\n for (var j = 0; j < value.length; j++) {\n var segment = encode(value[j], token);\n if (validate && !matches[i].test(segment)) {\n throw new TypeError(\"Expected all \\\"\" + token.name + \"\\\" to match \\\"\" + token.pattern + \"\\\", but got \\\"\" + segment + \"\\\"\");\n }\n path += token.prefix + segment + token.suffix;\n }\n continue;\n }\n if (typeof value === \"string\" || typeof value === \"number\") {\n var segment = encode(String(value), token);\n if (validate && !matches[i].test(segment)) {\n throw new TypeError(\"Expected \\\"\" + token.name + \"\\\" to match \\\"\" + token.pattern + \"\\\", but got \\\"\" + segment + \"\\\"\");\n }\n path += token.prefix + segment + token.suffix;\n continue;\n }\n if (optional)\n continue;\n var typeOfMessage = repeat ? \"an array\" : \"a string\";\n throw new TypeError(\"Expected \\\"\" + token.name + \"\\\" to be \" + typeOfMessage);\n }\n return path;\n };\n}\n/**\n * Create path match function from `path-to-regexp` spec.\n */\nexport function match(str, options) {\n var keys = [];\n var re = pathToRegexp(str, keys, options);\n return regexpToFunction(re, keys, options);\n}\n/**\n * Create a path match function from `path-to-regexp` output.\n */\nexport function regexpToFunction(re, keys, options) {\n if (options === void 0) { options = {}; }\n var _a = options.decode, decode = _a === void 0 ? function (x) { return x; } : _a;\n return function (pathname) {\n var m = re.exec(pathname);\n if (!m)\n return false;\n var path = m[0], index = m.index;\n var params = Object.create(null);\n var _loop_1 = function (i) {\n // tslint:disable-next-line\n if (m[i] === undefined)\n return \"continue\";\n var key = keys[i - 1];\n if (key.modifier === \"*\" || key.modifier === \"+\") {\n params[key.name] = m[i].split(key.prefix + key.suffix).map(function (value) {\n return decode(value, key);\n });\n }\n else {\n params[key.name] = decode(m[i], key);\n }\n };\n for (var i = 1; i < m.length; i++) {\n _loop_1(i);\n }\n return { path: path, index: index, params: params };\n };\n}\n/**\n * Escape a regular expression string.\n */\nfunction escapeString(str) {\n return str.replace(/([.+*?=^!:${}()[\\]|/\\\\])/g, \"\\\\$1\");\n}\n/**\n * Get the flags for a regexp from the options.\n */\nfunction flags(options) {\n return options && options.sensitive ? \"\" : \"i\";\n}\n/**\n * Pull out keys from a regexp.\n */\nfunction regexpToRegexp(path, keys) {\n if (!keys)\n return path;\n // Use a negative lookahead to match only capturing groups.\n var groups = path.source.match(/\\((?!\\?)/g);\n if (groups) {\n for (var i = 0; i < groups.length; i++) {\n keys.push({\n name: i,\n prefix: \"\",\n suffix: \"\",\n modifier: \"\",\n pattern: \"\"\n });\n }\n }\n return path;\n}\n/**\n * Transform an array into a regexp.\n */\nfunction arrayToRegexp(paths, keys, options) {\n var parts = paths.map(function (path) { return pathToRegexp(path, keys, options).source; });\n return new RegExp(\"(?:\" + parts.join(\"|\") + \")\", flags(options));\n}\n/**\n * Create a path regexp from string input.\n */\nfunction stringToRegexp(path, keys, options) {\n return tokensToRegexp(parse(path, options), keys, options);\n}\n/**\n * Expose a function for taking tokens and returning a RegExp.\n */\nexport function tokensToRegexp(tokens, keys, options) {\n if (options === void 0) { options = {}; }\n var _a = options.strict, strict = _a === void 0 ? false : _a, _b = options.start, start = _b === void 0 ? true : _b, _c = options.end, end = _c === void 0 ? true : _c, _d = options.encode, encode = _d === void 0 ? function (x) { return x; } : _d;\n var endsWith = \"[\" + escapeString(options.endsWith || \"\") + \"]|$\";\n var delimiter = \"[\" + escapeString(options.delimiter || \"/#?\") + \"]\";\n var route = start ? \"^\" : \"\";\n // Iterate over the tokens and create our regexp string.\n for (var _i = 0, tokens_1 = tokens; _i < tokens_1.length; _i++) {\n var token = tokens_1[_i];\n if (typeof token === \"string\") {\n route += escapeString(encode(token));\n }\n else {\n var prefix = escapeString(encode(token.prefix));\n var suffix = escapeString(encode(token.suffix));\n if (token.pattern) {\n if (keys)\n keys.push(token);\n if (prefix || suffix) {\n if (token.modifier === \"+\" || token.modifier === \"*\") {\n var mod = token.modifier === \"*\" ? \"?\" : \"\";\n route += \"(?:\" + prefix + \"((?:\" + token.pattern + \")(?:\" + suffix + prefix + \"(?:\" + token.pattern + \"))*)\" + suffix + \")\" + mod;\n }\n else {\n route += \"(?:\" + prefix + \"(\" + token.pattern + \")\" + suffix + \")\" + token.modifier;\n }\n }\n else {\n route += \"(\" + token.pattern + \")\" + token.modifier;\n }\n }\n else {\n route += \"(?:\" + prefix + suffix + \")\" + token.modifier;\n }\n }\n }\n if (end) {\n if (!strict)\n route += delimiter + \"?\";\n route += !options.endsWith ? \"$\" : \"(?=\" + endsWith + \")\";\n }\n else {\n var endToken = tokens[tokens.length - 1];\n var isEndDelimited = typeof endToken === \"string\"\n ? delimiter.indexOf(endToken[endToken.length - 1]) > -1\n : // tslint:disable-next-line\n endToken === undefined;\n if (!strict) {\n route += \"(?:\" + delimiter + \"(?=\" + endsWith + \"))?\";\n }\n if (!isEndDelimited) {\n route += \"(?=\" + delimiter + \"|\" + endsWith + \")\";\n }\n }\n return new RegExp(route, flags(options));\n}\n/**\n * Normalize the given path string, returning a regular expression.\n *\n * An empty array can be passed in for the keys, which will hold the\n * placeholder key descriptions. For example, using `/user/:id`, `keys` will\n * contain `[{ name: 'id', delimiter: '/', optional: false, repeat: false }]`.\n */\nexport function pathToRegexp(path, keys, options) {\n if (path instanceof RegExp)\n return regexpToRegexp(path, keys);\n if (Array.isArray(path))\n return arrayToRegexp(path, keys, options);\n return stringToRegexp(path, keys, options);\n}\n//# sourceMappingURL=index.js.map","/** @module @category Breadcrumb */\nimport { pathToRegexp } from 'path-to-regexp';\nimport { createGlobalStore } from '@openmrs/esm-state';\nimport type { BreadcrumbSettings, BreadcrumbRegistration } from '../types';\n\nconst store = createGlobalStore<Array<BreadcrumbRegistration>>('breadcrumbs', []);\n\nfunction getMatcher(settings: BreadcrumbSettings) {\n if (settings.matcher instanceof RegExp) {\n return settings.matcher;\n } else if (typeof settings.matcher === 'string') {\n return pathToRegexp(settings.matcher);\n } else {\n return pathToRegexp(settings.path);\n }\n}\n\nexport function registerBreadcrumb(breadcrumb: BreadcrumbSettings) {\n return registerBreadcrumbs([breadcrumb]);\n}\n\nexport function registerBreadcrumbs(breadcrumbs: Array<BreadcrumbSettings>) {\n const prevBreadcrumbs = getBreadcrumbs();\n const newBreadcrumbs = breadcrumbs.map((settings) => ({\n matcher: getMatcher(settings),\n settings,\n }));\n const nextBreadcrumbs = [...prevBreadcrumbs, ...newBreadcrumbs];\n store.setState(nextBreadcrumbs, true);\n}\n\nexport function getBreadcrumbs() {\n return store.getState();\n}\n","/** @module @category Breadcrumb */\nimport { getBreadcrumbs } from './db';\nimport type { BreadcrumbRegistration } from '../types';\n\nfunction getExact(breadcrumbs: Array<BreadcrumbRegistration>, path: string): BreadcrumbRegistration {\n const [bc] = breadcrumbs.filter((m) => m.matcher.test(path));\n return bc;\n}\n\nfunction getClosest(breadcrumbs: Array<BreadcrumbRegistration>, path: string): BreadcrumbRegistration | undefined {\n const segments = path.split('/');\n\n while (segments.length > 1) {\n segments.pop();\n const newPath = segments.join('/');\n const next = getNext(breadcrumbs, newPath);\n\n if (next) {\n return next;\n }\n }\n\n return undefined;\n}\n\nfunction getNext(breadcrumbs: Array<BreadcrumbRegistration>, path: string | undefined) {\n if (path) {\n return getExact(breadcrumbs, path) || getClosest(breadcrumbs, path);\n }\n\n return undefined;\n}\n\nexport function filterBreadcrumbs(list: Array<BreadcrumbRegistration>, path: string) {\n if (list.length > 0) {\n const current = getNext(list, path);\n\n if (current) {\n const links = [current];\n let previous = getNext(list, current.settings.parent);\n\n while (previous !== undefined) {\n links.push(previous);\n previous = getNext(list, previous.settings.parent);\n }\n\n return links.reverse();\n }\n }\n\n return [];\n}\n\nexport function getBreadcrumbsFor(path: string) {\n const breadcrumbs = getBreadcrumbs();\n return filterBreadcrumbs(breadcrumbs, path);\n}\n","/* single-spa@6.0.3 - ES2015 - prod */\nvar t=Object.freeze({__proto__:null,get start(){return It},get ensureJQuerySupport(){return ft},get setBootstrapMaxTime(){return K},get setMountMaxTime(){return H},get setUnmountMaxTime(){return J},get setUnloadMaxTime(){return Q},get registerApplication(){return Tt},get unregisterApplication(){return At},get getMountedApps(){return Et},get getAppStatus(){return Pt},get unloadApplication(){return Nt},get checkActivityFunctions(){return bt},get getAppNames(){return vt},get pathToActiveWhen(){return Dt},get navigateToUrl(){return tt},get patchHistoryApi(){return at},get triggerAppChange(){return $t},get addErrorHandler(){return i},get removeErrorHandler(){return s},get mountRootParcel(){return G},get NOT_LOADED(){return c},get LOADING_SOURCE_CODE(){return l},get NOT_BOOTSTRAPPED(){return f},get BOOTSTRAPPING(){return p},get NOT_MOUNTED(){return h},get MOUNTING(){return m},get UPDATING(){return w},get LOAD_ERROR(){return E},get MOUNTED(){return d},get UNLOADING(){return y},get UNMOUNTING(){return g},get SKIP_BECAUSE_BROKEN(){return v}}),e=(\"undefined\"!=typeof globalThis?globalThis:\"undefined\"!=typeof window?window:\"undefined\"!=typeof global?global:\"undefined\"!=typeof self?self:{}).CustomEvent,n=function(){try{var t=new e(\"cat\",{detail:{foo:\"bar\"}});return\"cat\"===t.type&&\"bar\"===t.detail.foo}catch(t){}return!1}()?e:\"undefined\"!=typeof document&&\"function\"==typeof document.createEvent?function(t,e){var n=document.createEvent(\"CustomEvent\");return e?n.initCustomEvent(t,e.bubbles,e.cancelable,e.detail):n.initCustomEvent(t,!1,!1,void 0),n}:function(t,e){var n=document.createEventObject();return n.type=t,e?(n.bubbles=Boolean(e.bubbles),n.cancelable=Boolean(e.cancelable),n.detail=e.detail):(n.bubbles=!1,n.cancelable=!1,n.detail=void 0),n};let r=[];function o(t,e,n){const o=a(t,e,n);r.length?r.forEach((t=>t(o))):setTimeout((()=>{throw o}))}function i(t){if(\"function\"!=typeof t)throw Error(u(28,!1));r.push(t)}function s(t){if(\"function\"!=typeof t)throw Error(u(29,!1));let e=!1;return r=r.filter((n=>{const r=n===t;return e=e||r,!r})),e}function u(t,e,...n){return`single-spa minified message #${t}: ${e?e+\" \":\"\"}See https://single-spa.js.org/error/?code=${t}${n.length?`&arg=${n.join(\"&arg=\")}`:\"\"}`}function a(t,e,n){const r=`${A(e)} '${T(e)}' died in status ${e.status}: `;let o;if(t instanceof Error){try{t.message=r+t.message}catch(t){}o=t}else{console.warn(u(30,!1,e.status,T(e)));try{o=Error(r+JSON.stringify(t))}catch(e){o=t}}return o.appOrParcelName=T(e),e.status=n,o}const c=\"NOT_LOADED\",l=\"LOADING_SOURCE_CODE\",f=\"NOT_BOOTSTRAPPED\",p=\"BOOTSTRAPPING\",h=\"NOT_MOUNTED\",m=\"MOUNTING\",d=\"MOUNTED\",w=\"UPDATING\",g=\"UNMOUNTING\",y=\"UNLOADING\",E=\"LOAD_ERROR\",v=\"SKIP_BECAUSE_BROKEN\";function P(t){return t.status===d}function O(t){try{return t.activeWhen(window.location)}catch(e){return o(e,t,v),!1}}function T(t){return t.name}function b(t){return Boolean(t.unmountThisParcel)}function A(t){return b(t)?\"parcel\":\"application\"}function N(){for(let t=arguments.length-1;t>0;t--)for(let e in arguments[t])\"__proto__\"!==e&&(arguments[t-1][e]=arguments[t][e]);return arguments[0]}function S(t,e){for(let n=0;n<t.length;n++)if(e(t[n]))return t[n];return null}function _(t){return t&&(\"function\"==typeof t||(e=t,Array.isArray(e)&&!S(e,(t=>\"function\"!=typeof t))));var e}function D(t,e){let n=t[e]||[];n=Array.isArray(n)?n:[n],0===n.length&&(n=[()=>Promise.resolve()]);const r=A(t),o=T(t);return function(t){return n.reduce(((n,i,s)=>n.then((()=>{const n=i(t);return U(n)?n:Promise.reject(u(15,!1,r,o,e,s))}))),Promise.resolve())}}function U(t){return t&&\"function\"==typeof t.then&&\"function\"==typeof t.catch}let M=[];function j(t,e){return Promise.resolve().then((()=>t.status!==f?t:(t.status=p,t.bootstrap?V(t,\"bootstrap\").then(n).catch((n=>{if(e)throw a(n,t,v);return o(n,t,v),t})):Promise.resolve().then(n))));function n(){return t.status=h,t}}function $(t,e){return Promise.resolve().then((()=>{if(t.status!==d)return t;t.status=g;const n=Object.keys(t.parcels).map((e=>t.parcels[e].unmountThisParcel()));return Promise.all(n).then(r,(n=>r().then((()=>{const r=Error(n.message);if(e)throw a(r,t,v);o(r,t,v)})))).then((()=>t));function r(){return V(t,\"unmount\").then((()=>{t.status=h}),(n=>{if(e)throw a(n,t,v);o(n,t,v)}))}}))}let L=!1,R=!1;function x(t,e){return Promise.resolve().then((()=>t.status!==h?t:(L||(window.dispatchEvent(new n(\"single-spa:before-first-mount\")),L=!0),t.status=m,V(t,\"mount\").then((()=>(t.status=d,R||(window.dispatchEvent(new n(\"single-spa:first-mount\")),R=!0),t))).catch((n=>{return t.status=d,$(t,!0).then(r,r);function r(){if(e)throw a(n,t,v);return o(n,t,v),t}})))))}let I=0;const B={parcels:{}};function G(){return W.apply(B,arguments)}function W(t,e){const n=this;if(!t||\"object\"!=typeof t&&\"function\"!=typeof t)throw Error(u(2,!1));if(t.name&&\"string\"!=typeof t.name)throw Error(u(3,!1,typeof t.name));const r=I++;let o=t.name||`parcel-${r}`;if(\"object\"!=typeof e)throw Error(u(4,!1,o,typeof e));if(!e.domElement)throw Error(u(5,!1,o));const i=\"function\"==typeof t,s=i?t:()=>Promise.resolve(t),c={id:r,parcels:{},status:i?l:f,customProps:e,parentName:T(n),unmountThisParcel:()=>y.then((()=>{if(c.status!==d)throw Error(u(6,!1,o,c.status));return $(c,!0)})).then((t=>(c.parentName&&delete n.parcels[c.id],t))).then((t=>(E(t),t))).catch((t=>{throw c.status=v,P(t),t}))};let p;n.parcels[r]=c;let m=s();if(!m||\"function\"!=typeof m.then)throw Error(u(7,!1));m=m.then((t=>{if(!t)throw Error(u(8,!1));if(o=t.name||`parcel-${r}`,Object.prototype.hasOwnProperty.call(t,\"bootstrap\")&&!_(t.bootstrap))throw Error(u(9,!1,o));if(!_(t.mount))throw Error(u(10,!1,o));if(!_(t.unmount))throw Error(u(11,!1,o));if(t.update&&!_(t.update))throw Error(u(12,!1,o));const e=D(t,\"bootstrap\"),n=D(t,\"mount\"),i=D(t,\"unmount\");c.status=f,c.name=o,c.bootstrap=e,c.mount=n,c.unmount=i,c.timeouts=q(t.timeouts),t.update&&(c.update=D(t,\"update\"),p.update=function(t){return c.customProps=t,C((e=c,Promise.resolve().then((()=>{if(e.status!==d)throw Error(u(32,!1,T(e)));return e.status=w,V(e,\"update\").then((()=>(e.status=d,e))).catch((t=>{throw a(t,e,v)}))}))));var e})}));const g=m.then((()=>j(c,!0))),y=g.then((()=>x(c,!0)));let E,P;const O=new Promise(((t,e)=>{E=t,P=e}));return p={mount:()=>C(Promise.resolve().then((()=>{if(c.status!==h)throw Error(u(13,!1,o,c.status));return n.parcels[r]=c,x(c)}))),unmount:()=>C(c.unmountThisParcel()),getStatus:()=>c.status,loadPromise:C(m),bootstrapPromise:C(g),mountPromise:C(y),unmountPromise:C(O)},p}function C(t){return t.then((()=>null))}function k(e){const n=T(e);let r=\"function\"==typeof e.customProps?e.customProps(n,window.location):e.customProps;(\"object\"!=typeof r||null===r||Array.isArray(r))&&(r={},console.warn(u(40,!1),n,r));const o=N({},r,{name:n,mountParcel:W.bind(e),singleSpa:t});return b(e)&&(o.unmountSelf=e.unmountThisParcel),o}const F={bootstrap:{millis:4e3,dieOnTimeout:!1,warningMillis:1e3},mount:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},unmount:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},unload:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3},update:{millis:3e3,dieOnTimeout:!1,warningMillis:1e3}};function K(t,e,n){if(\"number\"!=typeof t||t<=0)throw Error(u(16,!1));F.bootstrap={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function H(t,e,n){if(\"number\"!=typeof t||t<=0)throw Error(u(17,!1));F.mount={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function J(t,e,n){if(\"number\"!=typeof t||t<=0)throw Error(u(18,!1));F.unmount={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function Q(t,e,n){if(\"number\"!=typeof t||t<=0)throw Error(u(19,!1));F.unload={millis:t,dieOnTimeout:e,warningMillis:n||1e3}}function V(t,e){const n=t.timeouts[e],r=n.warningMillis,o=A(t);return new Promise(((i,s)=>{let a=!1,c=!1;t[e](k(t)).then((t=>{a=!0,i(t)})).catch((t=>{a=!0,s(t)})),setTimeout((()=>f(1)),r),setTimeout((()=>f(!0)),n.millis);const l=u(31,!1,e,o,T(t),n.millis);function f(t){if(!a)if(!0===t)c=!0,n.dieOnTimeout?s(Error(l)):console.error(l);else if(!c){const e=t,o=e*r;console.warn(l),o+r<n.millis&&setTimeout((()=>f(e+1)),r)}}}))}function q(t){const e={};for(let n in F)e[n]=N({},F[n],t&&t[n]||{});return e}function z(t){return Promise.resolve().then((()=>{if(t.loadPromise)return t.loadPromise;if(t.status!==c&&t.status!==E)return t;let e,n;return t.status=l,t.loadPromise=Promise.resolve().then((()=>{const r=t.loadApp(k(t));if(!U(r))throw n=!0,Error(u(33,!1,T(t)));return r.then((n=>{let r;t.loadErrorTime=null,e=n,\"object\"!=typeof e&&(r=34),Object.prototype.hasOwnProperty.call(e,\"bootstrap\")&&!_(e.bootstrap)&&(r=35),_(e.mount)||(r=36),_(e.unmount)||(r=37);const i=A(e);if(r){let n;try{n=JSON.stringify(e)}catch(t){}return console.error(u(r,!1,i,T(t),n),e),o(void 0,t,v),t}return e.devtools&&e.devtools.overlays&&(t.devtools.overlays=N({},t.devtools.overlays,e.devtools.overlays)),t.status=f,t.bootstrap=D(e,\"bootstrap\"),t.mount=D(e,\"mount\"),t.unmount=D(e,\"unmount\"),t.unload=D(e,\"unload\"),t.timeouts=q(e.timeouts),delete t.loadPromise,t}))})).catch((e=>{let r;return delete t.loadPromise,n?r=v:(r=E,t.loadErrorTime=(new Date).getTime()),o(e,t,r),t}))}))}const X=\"undefined\"!=typeof window,Y={hashchange:[],popstate:[]},Z=[\"hashchange\",\"popstate\"];function tt(t){let e;if(\"string\"==typeof t)e=t;else if(this&&this.href)e=this.href;else{if(!(t&&t.currentTarget&&t.currentTarget.href&&t.preventDefault))throw Error(u(14,!1));e=t.currentTarget.href,t.preventDefault()}const n=ct(window.location.href),r=ct(e);0===e.indexOf(\"#\")?window.location.hash=r.hash:n.host!==r.host&&r.host?window.location.href=e:r.pathname===n.pathname&&r.search===n.search?window.location.hash=r.hash:window.history.pushState(null,null,e)}function et(t){if(t){const e=t[0].type;Z.indexOf(e)>=0&&Y[e].forEach((e=>{try{e.apply(this,t)}catch(t){setTimeout((()=>{throw t}))}}))}}let nt;function rt(){Lt([],arguments)}function ot(t,e){return function(){const n=window.location.href,r=t.apply(this,arguments),o=window.location.href;return nt&&n===o||window.dispatchEvent(it(window.history.state,e)),r}}function it(t,e){let n;try{n=new PopStateEvent(\"popstate\",{state:t})}catch(e){n=document.createEvent(\"PopStateEvent\"),n.initPopStateEvent(\"popstate\",!1,!1,t)}return n.singleSpa=!0,n.singleSpaTrigger=e,n}let st=null,ut=!1;function at(t){if(ut)throw Error(u(43,!1));nt=!t||!t.hasOwnProperty(\"urlRerouteOnly\")||t.urlRerouteOnly,ut=!0,st=window.history.replaceState,window.addEventListener(\"hashchange\",rt),window.addEventListener(\"popstate\",rt);const e=window.addEventListener,n=window.removeEventListener;window.addEventListener=function(t,n){if(!(\"function\"==typeof n&&Z.indexOf(t)>=0)||S(Y[t],(t=>t===n)))return e.apply(this,arguments);Y[t].push(n)},window.removeEventListener=function(t,e){return\"function\"==typeof e&&Z.indexOf(t)>=0&&(Y[t]=Y[t].filter((t=>t!==e))),n.apply(this,arguments)},window.history.pushState=ot(window.history.pushState,\"pushState\"),window.history.replaceState=ot(st,\"replaceState\")}function ct(t){const e=document.createElement(\"a\");return e.href=t,e}X&&(window.singleSpaNavigate?console.warn(u(41,!1)):window.singleSpaNavigate=tt);let lt=!1;function ft(t=window.jQuery){if(t||window.$&&window.$.fn&&window.$.fn.jquery&&(t=window.$),t&&!lt){const e=t.fn.on,n=t.fn.off;t.fn.on=function(t,n){return pt.call(this,e,window.addEventListener,t,n,arguments)},t.fn.off=function(t,e){return pt.call(this,n,window.removeEventListener,t,e,arguments)},lt=!0}}function pt(t,e,n,r,o){return\"string\"!=typeof n?t.apply(this,o):(n.split(/\\s+/).forEach((t=>{Z.indexOf(t)>=0&&(e(t,r),n=n.replace(t,\"\"))})),\"\"===n.trim()?this:t.apply(this,o))}const ht={};function mt(t){return Promise.resolve().then((()=>{const e=ht[T(t)];if(!e)return t;if(t.status===c)return dt(t,e),t;if(t.status===y)return e.promise.then((()=>t));if(t.status!==h&&t.status!==E)return t;const n=t.status===E?Promise.resolve():V(t,\"unload\");return t.status=y,n.then((()=>(dt(t,e),t))).catch((n=>(function(t,e,n){delete ht[T(t)],delete t.bootstrap,delete t.mount,delete t.unmount,delete t.unload,o(n,t,v),e.reject(n)}(t,e,n),t)))}))}function dt(t,e){delete ht[T(t)],delete t.bootstrap,delete t.mount,delete t.unmount,delete t.unload,t.status=c,e.resolve()}function wt(t,e,n,r){ht[T(t)]={app:t,resolve:n,reject:r},Object.defineProperty(ht[T(t)],\"promise\",{get:e})}function gt(t){return ht[t]}const yt=[];function Et(){return yt.filter(P).map(T)}function vt(){return yt.map(T)}function Pt(t){const e=S(yt,(e=>T(e)===t));return e?e.status:null}let Ot=!1;function Tt(t,e,n,r){const o=function(t,e,n,r){const o={name:null,loadApp:null,activeWhen:null,customProps:null};return\"object\"==typeof t?(function(t){if(Array.isArray(t)||null===t)throw Error(u(39,!1));const e=[\"name\",\"app\",\"activeWhen\",\"customProps\"],n=Object.keys(t).reduce(((t,n)=>e.indexOf(n)>=0?t:t.concat(n)),[]);if(0!==n.length)throw Error(u(38,!1,e.join(\", \"),n.join(\", \")));if(\"string\"!=typeof t.name||0===t.name.length)throw Error(u(20,!1));if(\"object\"!=typeof t.app&&\"function\"!=typeof t.app)throw Error(u(20,!1));const r=t=>\"string\"==typeof t||\"function\"==typeof t;if(!(r(t.activeWhen)||Array.isArray(t.activeWhen)&&t.activeWhen.every(r)))throw Error(u(24,!1));if(!_t(t.customProps))throw Error(u(22,!1))}(t),o.name=t.name,o.loadApp=t.app,o.activeWhen=t.activeWhen,o.customProps=t.customProps):(function(t,e,n,r){if(\"string\"!=typeof t||0===t.length)throw Error(u(20,!1));if(!e)throw Error(u(23,!1));if(\"function\"!=typeof n)throw Error(u(24,!1));if(!_t(r))throw Error(u(22,!1))}(t,e,n,r),o.name=t,o.loadApp=e,o.activeWhen=n,o.customProps=r),o.loadApp=\"function\"!=typeof(i=o.loadApp)?()=>Promise.resolve(i):i,o.customProps=function(t){return t||{}}(o.customProps),o.activeWhen=function(t){let e=Array.isArray(t)?t:[t];return e=e.map((t=>\"function\"==typeof t?t:Dt(t))),t=>e.some((e=>e(t)))}(o.activeWhen),o;var i}(t,e,n,r);if(Bt()||Ot||(Ot=!0,setTimeout((()=>{Bt()||console.warn(u(1,!1))}),5e3)),-1!==vt().indexOf(o.name))throw Error(u(21,!1,o.name));yt.push(N({loadErrorTime:null,status:c,parcels:{},devtools:{overlays:{options:{},selectors:[]}}},o)),X&&(ft(),Lt())}function bt(t=window.location){return yt.filter((e=>e.activeWhen(t))).map(T)}function At(t){if(0===yt.filter((e=>T(e)===t)).length)throw Error(u(25,!1,t));return(X?Nt(t,{waitForUnmount:!1}):Promise.resolve()).then((()=>{const e=yt.map(T).indexOf(t);yt.splice(e,1)}))}function Nt(t,e={waitForUnmount:!1}){if(\"string\"!=typeof t)throw Error(u(26,!1));const n=S(yt,(e=>T(e)===t));if(!n)throw Error(u(27,!1,t));const r=gt(T(n));if(e&&e.waitForUnmount){if(r)return r.promise;{const t=new Promise(((e,r)=>{wt(n,(()=>t),e,r)}));return t}}{let t;return r?(t=r.promise,St(n,r.resolve,r.reject)):t=new Promise(((e,r)=>{wt(n,(()=>t),e,r),St(n,e,r)})),t}}function St(t,e,n){Promise.resolve().then((()=>{if(S(bt(),(e=>e===T(t))))return $t()})).then((()=>$(t).then(mt).then((()=>{e(),setTimeout((()=>{Lt()}))})))).catch(n)}function _t(t){return!t||\"function\"==typeof t||\"object\"==typeof t&&null!==t&&!Array.isArray(t)}function Dt(t,e){const n=function(t,e){let n=0,r=!1,o=\"^\";\"/\"!==t[0]&&(t=\"/\"+t);for(let e=0;e<t.length;e++){const n=t[e],o=r&&\"/\"===n;(!r&&\":\"===n||o)&&i(e)}return i(t.length),new RegExp(o,\"i\");function i(i){const s=t.slice(n,i).replace(/[|\\\\{}()[\\]^$+*?.]/g,\"\\\\$&\");if(o+=r?\"[^/]+/?\":s,i===t.length)if(r)e&&(o+=\"$\");else{const t=e?\"\":\".*\";o=\"/\"===o.charAt(o.length-1)?`${o}${t}$`:`${o}(/${t})?(#.*)?$`}r=!r,n=i}}(t,e);return t=>{let e=t.origin;e||(e=`${t.protocol}//${t.host}`);const r=t.href.replace(e,\"\").replace(t.search,\"\").split(\"?\")[0];return n.test(r)}}let Ut=!1,Mt=[],jt=X&&window.location.href;function $t(){return Lt()}function Lt(t=[],e,r=!1){if(Ut)return new Promise(((t,n)=>{Mt.push({resolve:t,reject:n,eventArguments:e})}));const{appsToUnload:o,appsToUnmount:i,appsToLoad:s,appsToMount:a}=function(){const t=[],e=[],n=[],r=[],o=(new Date).getTime();return yt.forEach((i=>{const s=i.status!==v&&O(i);switch(i.status){case E:s&&o-i.loadErrorTime>=200&&n.push(i);break;case c:case l:s&&n.push(i);break;case f:case h:!s&&gt(T(i))?t.push(i):s&&r.push(i);break;case d:s||e.push(i)}})),{appsToUnload:t,appsToUnmount:e,appsToLoad:n,appsToMount:r}}();let p,m=[],w=jt,g=jt=window.location.href;return Bt()?(Ut=!0,p=o.concat(s,i,a),Promise.resolve().then((()=>(S(0===p.length?\"before-no-app-change\":\"before-app-change\",A(!0)),S(\"before-routing-event\",A(!0,{cancelNavigation:y})),Promise.all(m).then((n=>{if(n.some((t=>t)))return st.call(window.history,history.state,\"\",w.substring(location.origin.length)),jt=location.href,Ut=!1,Lt(t,e,!0);const r=o.map(mt),u=i.map($).map((t=>t.then(mt))).concat(r),c=Promise.all(u);c.then((()=>{S(\"before-mount-routing-event\",A(!0))}),(t=>{throw t}));const l=s.map((t=>z(t).then((t=>Rt(t,c))))),f=a.filter((t=>s.indexOf(t)<0)).map((t=>Rt(t,c)));return c.catch((t=>{throw b(),t})).then((()=>(b(),Promise.all(l.concat(f)).catch((e=>{throw t.forEach((t=>t.reject(e))),e})).then(P).then((()=>{}),(t=>{throw t})))))})))))):(p=s,Promise.resolve().then((()=>{const t=s.map(z);return Promise.all(t).then(b).then((()=>[])).catch((t=>{throw b(),t})).finally((()=>{}))})));function y(t=!0){const e=\"function\"==typeof(null==t?void 0:t.then)?t:Promise.resolve(t);m.push(e.catch((t=>(console.warn(Error(u(42,!1))),console.warn(t),!1))))}function P(){const e=Et();t.forEach((t=>t.resolve(e)));try{S(0===p.length?\"no-app-change\":\"app-change\",A()),S(\"routing-event\",A())}catch(t){setTimeout((()=>{throw t}))}if(Ut=!1,Mt.length>0){const t=Mt;Mt=[],Lt(t)}return e}function b(){r||(t.forEach((t=>{et(t.eventArguments)})),et(e))}function A(t=!1,n){const r={},u={[d]:[],[h]:[],[c]:[],[v]:[]};t?(s.concat(a).forEach(((t,e)=>{f(t,d)})),o.forEach((t=>{f(t,c)})),i.forEach((t=>{f(t,h)}))):p.forEach((t=>{f(t)}));const l={detail:{newAppStatuses:r,appsByNewStatus:u,totalAppChanges:p.length,originalEvent:null==e?void 0:e[0],oldUrl:w,newUrl:g}};return n&&N(l.detail,n),l;function f(t,e){const n=T(t);e=e||Pt(n),r[n]=e,(u[e]=u[e]||[]).push(n)}}function S(t,e){r||window.dispatchEvent(new n(`single-spa:${t}`,e))}}function Rt(t,e){return O(t)?j(t).then((t=>e.then((()=>O(t)?x(t):t)))):e.then((()=>t))}let xt=!1;function It(t){xt=!0,X&&(at(t),Lt())}function Bt(){return xt}var Gt={getRawAppData:function(){return[...yt]},reroute:Lt,NOT_LOADED:c,toLoadPromise:z,toBootstrapPromise:j,unregisterApplication:At,getProfilerData:function(){return M}};X&&window.__SINGLE_SPA_DEVTOOLS__&&(window.__SINGLE_SPA_DEVTOOLS__.exposedMethods=Gt);export{p as BOOTSTRAPPING,l as LOADING_SOURCE_CODE,E as LOAD_ERROR,d as MOUNTED,m as MOUNTING,f as NOT_BOOTSTRAPPED,c as NOT_LOADED,h as NOT_MOUNTED,v as SKIP_BECAUSE_BROKEN,y as UNLOADING,g as UNMOUNTING,w as UPDATING,i as addErrorHandler,bt as checkActivityFunctions,ft as ensureJQuerySupport,vt as getAppNames,Pt as getAppStatus,Et as getMountedApps,G as mountRootParcel,tt as navigateToUrl,at as patchHistoryApi,Dt as pathToActiveWhen,Tt as registerApplication,s as removeErrorHandler,K as setBootstrapMaxTime,H as setMountMaxTime,Q as setUnloadMaxTime,J as setUnmountMaxTime,It as start,$t as triggerAppChange,Nt as unloadApplication,At as unregisterApplication};\n//# sourceMappingURL=single-spa.min.js.map\n","/** @module @category Navigation */\n\nfunction trimTrailingSlash(str: string) {\n return str.replace(/\\/$/, '');\n}\n\n/**\n * Interpolates a string with openmrsBase and openmrsSpaBase.\n *\n * Useful for accepting `${openmrsBase}` or `${openmrsSpaBase}`plus additional template\n * parameters in configurable URLs.\n *\n * Example usage:\n * ```js\n * interpolateUrl(\"test ${openmrsBase} ${openmrsSpaBase} ok\");\n * // will return \"test /openmrs /openmrs/spa ok\"\n *\n * interpolateUrl(\"${openmrsSpaBase}/patient/${patientUuid}\", {\n * patientUuid: \"4fcb7185-c6c9-450f-8828-ccae9436bd82\",\n * }); // will return \"/openmrs/spa/patient/4fcb7185-c6c9-450f-8828-ccae9436bd82\"\n * ```\n *\n * This can be used in conjunction with the `navigate` function like so\n * ```js\n * navigate({\n * to: interpolateUrl(\n * \"${openmrsSpaBase}/patient/${patientUuid}\",\n * { patientUuid: patient.uuid }\n * )\n * }); // will navigate to \"/openmrs/spa/patient/4fcb7185-c6c9-450f-8828-ccae9436bd82\"\n * ```\n *\n * @param template A string to interpolate\n * @param additionalParams Additional values to interpolate into the string template\n */\nexport function interpolateUrl(template: string, additionalParams?: { [key: string]: string }): string {\n const openmrsSpaBase = trimTrailingSlash(window.getOpenmrsSpaBase());\n return interpolateString(template, {\n openmrsBase: window.openmrsBase,\n openmrsSpaBase: openmrsSpaBase,\n ...additionalParams,\n }).replace(/^\\/\\//, '/'); // remove extra initial slash if present\n}\n\n/**\n * Interpolates values of `params` into the `template` string.\n *\n * Example usage:\n * ```js\n * interpolateString(\"test ${one} ${two} 3\", {\n * one: \"1\",\n * two: \"2\",\n * }); // will return \"test 1 2 3\"\n * interpolateString(\"test ok\", { one: \"1\", two: \"2\" }) // will return \"test ok\"\n * ```\n *\n * @param template With optional params wrapped in `${ }`\n * @param params Values to interpolate into the string template\n */\nexport function interpolateString(template: string, params: { [key: string]: string }): string {\n const names = Object.keys(params);\n return names.reduce((prev, curr) => prev.split('${' + curr + '}').join(params[curr]), template);\n}\n","/** @module @category Navigation */\nimport { navigateToUrl } from 'single-spa';\nimport { interpolateUrl } from './interpolate-string';\nimport type {} from '@openmrs/esm-globals';\n\nfunction trimTrailingSlash(str: string) {\n return str.replace(/\\/$/, '');\n}\n\nexport type TemplateParams = { [key: string]: string };\n\nexport interface NavigateOptions {\n to: string;\n templateParams?: TemplateParams;\n}\n\n/**\n * Calls `location.assign` for non-SPA paths and [navigateToUrl](https://single-spa.js.org/docs/api/#navigatetourl) for SPA paths\n *\n * #### Example usage:\n * ```js\n * @example\n * const config = useConfig();\n * const submitHandler = () => {\n * navigate({ to: config.links.submitSuccess });\n * };\n * ```\n *\n * #### Example behavior::\n * ```js\n * @example\n * navigate({ to: \"/some/path\" }); // => window.location.assign(\"/some/path\")\n * navigate({ to: \"https://single-spa.js.org/\" }); // => window.location.assign(\"https://single-spa.js.org/\")\n * navigate({ to: \"${openmrsBase}/some/path\" }); // => window.location.assign(\"/openmrs/some/path\")\n * navigate({ to: \"/openmrs/spa/foo/page\" }); // => navigateToUrl(\"/openmrs/spa/foo/page\")\n * navigate({ to: \"${openmrsSpaBase}/bar/page\" }); // => navigateToUrl(\"/openmrs/spa/bar/page\")\n * navigate({ to: \"/${openmrsSpaBase}/baz/page\" }) // => navigateToUrl(\"/openmrs/spa/baz/page\")\n * navigate({ to: \"https://o3.openmrs.org/${openmrsSpaBase}/qux/page\" }); // => navigateToUrl(\"/openmrs/spa/qux/page\")\n * if `window.location.origin` == \"https://o3.openmrs.org\", else will use window.location.assign\n * ```\n *\n * @param to The target path or URL. Supports templating with 'openmrsBase', 'openmrsSpaBase',\n * and any additional template parameters defined in `templateParams`.\n * For example, `${openmrsSpaBase}/home` will resolve to `/openmrs/spa/home`\n * for implementations using the standard OpenMRS and SPA base paths.\n * If `templateParams` contains `{ foo: \"bar\" }`, then the URL `${openmrsBase}/${foo}`\n * will become `/openmrs/bar`.\n */\nexport function navigate({ to, templateParams }: NavigateOptions): void {\n const openmrsSpaBase = trimTrailingSlash(window.getOpenmrsSpaBase());\n const target = interpolateUrl(to, templateParams).replace(window.location.origin, '');\n const isSpaPath = target.startsWith(openmrsSpaBase);\n\n if (isSpaPath) {\n navigateToUrl(target);\n } else {\n window.location.assign(target);\n }\n}\n","/** @module @category Navigation */\nimport { navigate } from '../navigation/navigate';\n\nconst historyKey = 'openmrs:history';\n\nfunction addToHistory(newLocation: string) {\n let history = JSON.parse(sessionStorage.getItem(historyKey) ?? '[]') || [];\n history.push(newLocation);\n const maxSize = 50;\n if (history.length > maxSize) {\n history = history.slice(-maxSize);\n }\n sessionStorage.setItem(historyKey, JSON.stringify(history));\n}\n\n/**\n * Initialize history from sessionStorage. If history is empty, add\n * document.referrer if available.\n *\n * @internal\n */\nexport function setupHistory() {\n let history = JSON.parse(sessionStorage.getItem(historyKey) ?? '[]');\n if (history.length === 0 && document.referrer) {\n addToHistory(document.referrer);\n }\n\n window.addEventListener('single-spa:routing-event', (evt: CustomEvent) => {\n const history = getHistory();\n if (evt.detail.originalEvent?.singleSpaTrigger == 'replaceState') {\n // handle redirect\n history[history.length - 1] = window.location.href;\n sessionStorage.setItem(historyKey, JSON.stringify(history));\n } else if (!evt.detail.originalEvent?.singleSpa && history.includes(window.location.href)) {\n // handle back button (as best we can tell whether it was used or not)\n goBackInHistory({ toUrl: window.location.href });\n } else if (history[history.length - 1] !== window.location.href) {\n // handle normal navigation\n addToHistory(window.location.href);\n }\n });\n}\n\n/**\n * Returns a list of URLs representing the history of the current window session.\n */\nexport function getHistory(): Array<string> {\n return JSON.parse(sessionStorage.getItem(historyKey) ?? '[]');\n}\n\n/**\n * Rolls back the history to the specified point and navigates to that URL.\n *\n * @param toUrl: The URL in the history to navigate to. History after that index\n * will be deleted. If the URL is not found in the history, an error will be\n * thrown.\n */\nexport function goBackInHistory({ toUrl }: { toUrl: string }) {\n const history = getHistory();\n const toIndex = history.lastIndexOf(toUrl);\n if (toIndex != -1) {\n const newHistory = history.slice(0, toIndex + 1);\n navigate({ to: history[toIndex] });\n sessionStorage.setItem(historyKey, JSON.stringify(newHistory));\n } else {\n throw new Error(`URL ${toUrl} not found in history; cannot go back to it.`);\n }\n}\n\n/**\n * Clears the history from sessionStorage. This should be done when the user\n * logs out.\n */\nexport function clearHistory() {\n sessionStorage.removeItem(historyKey);\n}\n"],"names":["module","exports","__WEBPACK_EXTERNAL_MODULE__685__","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","d","definition","key","o","Object","defineProperty","enumerable","get","obj","prop","prototype","hasOwnProperty","call","r","Symbol","toStringTag","value","escapeString","str","replace","flags","options","sensitive","stringToRegexp","path","keys","tokens","_a","strict","_b","start","_c","end","_d","encode","x","endsWith","delimiter","route","_i","tokens_1","length","token","prefix","suffix","pattern","push","modifier","mod","endToken","isEndDelimited","indexOf","RegExp","tokensToRegexp","i","char","type","index","count","j","TypeError","name","code","charCodeAt","lexer","prefixes","defaultPattern","result","tryConsume","mustConsume","nextType","consumeText","name_1","pattern_1","parse","pathToRegexp","groups","source","match","regexpToRegexp","Array","isArray","paths","parts","map","join","arrayToRegexp","store","createGlobalStore","getMatcher","settings","matcher","registerBreadcrumb","breadcrumb","registerBreadcrumbs","breadcrumbs","prevBreadcrumbs","getBreadcrumbs","newBreadcrumbs","nextBreadcrumbs","setState","getState","getNext","filter","m","test","getExact","segments","split","pop","next","getClosest","filterBreadcrumbs","list","current","links","previous","parent","reverse","getBreadcrumbsFor","t","freeze","__proto__","It","ensureJQuerySupport","ft","setBootstrapMaxTime","K","setMountMaxTime","H","setUnmountMaxTime","J","setUnloadMaxTime","Q","registerApplication","Tt","unregisterApplication","At","getMountedApps","Et","getAppStatus","Pt","unloadApplication","Nt","checkActivityFunctions","bt","getAppNames","vt","pathToActiveWhen","Dt","navigateToUrl","tt","patchHistoryApi","at","triggerAppChange","$t","addErrorHandler","removeErrorHandler","s","mountRootParcel","G","NOT_LOADED","c","LOADING_SOURCE_CODE","l","NOT_BOOTSTRAPPED","f","BOOTSTRAPPING","p","NOT_MOUNTED","h","MOUNTING","UPDATING","w","LOAD_ERROR","E","MOUNTED","UNLOADING","y","UNMOUNTING","g","SKIP_BECAUSE_BROKEN","v","e","globalThis","window","global","self","CustomEvent","n","detail","foo","document","createEvent","initCustomEvent","bubbles","cancelable","createEventObject","Boolean","a","forEach","setTimeout","Error","u","A","T","status","message","console","warn","JSON","stringify","appOrParcelName","P","O","activeWhen","location","b","unmountThisParcel","N","arguments","S","_","D","Promise","resolve","reduce","then","U","reject","catch","M","bootstrap","V","$","parcels","all","L","R","dispatchEvent","I","B","W","apply","this","domElement","id","customProps","parentName","mount","unmount","update","timeouts","q","C","getStatus","loadPromise","bootstrapPromise","mountPromise","unmountPromise","k","mountParcel","bind","singleSpa","unmountSelf","F","millis","dieOnTimeout","warningMillis","unload","error","z","loadApp","loadErrorTime","devtools","overlays","Date","getTime","X","Y","hashchange","popstate","Z","href","currentTarget","preventDefault","ct","hash","host","pathname","search","history","pushState","et","nt","rt","Lt","ot","PopStateEvent","state","initPopStateEvent","singleSpaTrigger","it","st","ut","urlRerouteOnly","replaceState","addEventListener","removeEventListener","createElement","singleSpaNavigate","lt","jQuery","fn","jquery","on","off","pt","trim","ht","mt","dt","promise","wt","app","gt","yt","Ot","concat","every","_t","some","Bt","selectors","waitForUnmount","splice","St","slice","charAt","origin","protocol","Ut","Mt","jt","eventArguments","appsToUnload","appsToUnmount","appsToLoad","appsToMount","cancelNavigation","substring","Rt","finally","newAppStatuses","appsByNewStatus","totalAppChanges","originalEvent","oldUrl","newUrl","xt","Gt","getRawAppData","reroute","toLoadPromise","toBootstrapPromise","getProfilerData","interpolateUrl","template","additionalParams","openmrsSpaBase","getOpenmrsSpaBase","interpolateString","openmrsBase","params","prev","curr","navigate","to","templateParams","target","startsWith","assign","__SINGLE_SPA_DEVTOOLS__","exposedMethods","historyKey","addToHistory","newLocation","sessionStorage","getItem","setItem","setupHistory","referrer","evt","getHistory","includes","goBackInHistory","toUrl","toIndex","lastIndexOf","newHistory","clearHistory","removeItem"],"sourceRoot":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@openmrs/esm-navigation",
3
- "version": "6.0.3-pre.2651",
3
+ "version": "6.0.3-pre.2653",
4
4
  "license": "MPL-2.0",
5
5
  "description": "OpenMRS library providing tools for breadcrumbs, navigation, and history.",
6
6
  "browser": "dist/openmrs-esm-navigation.js",
@@ -44,7 +44,7 @@
44
44
  "@openmrs/esm-state": "6.x"
45
45
  },
46
46
  "devDependencies": {
47
- "@openmrs/esm-state": "6.0.3-pre.2651",
47
+ "@openmrs/esm-state": "6.0.3-pre.2653",
48
48
  "lodash": "^4.17.21"
49
49
  },
50
50
  "stableVersion": "6.0.2"