@openmrs/esm-app-shell 6.3.1-pre.3139 → 6.3.1-pre.3149

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.
Files changed (160) hide show
  1. package/.turbo/turbo-build.log +12 -10
  2. package/dist/edf03f0b27db2680.js +1 -0
  3. package/dist/edf03f0b27db2680.js.map +1 -0
  4. package/dist/index.html +1 -1
  5. package/dist/{openmrs.f48705d2b63f049c.js → openmrs.0af302abfdf7f936.js} +1 -1
  6. package/dist/{openmrs.f48705d2b63f049c.js.map → openmrs.0af302abfdf7f936.js.map} +1 -1
  7. package/dist/service-worker.js +1 -1
  8. package/lib/{e8db8a77a5868dd5.js → 5d11963da87241cb.js} +3 -3
  9. package/lib/esm-devtools-app/869.js +1 -1
  10. package/lib/esm-devtools-app/869.js.map +1 -1
  11. package/lib/esm-devtools-app/main.js +1 -1
  12. package/lib/esm-devtools-app/openmrs-esm-devtools-app.js +1 -1
  13. package/lib/esm-devtools-app/openmrs-esm-devtools-app.js.buildmanifest.json +5 -5
  14. package/lib/esm-devtools-app/routes.json +1 -1
  15. package/lib/esm-implementer-tools-app/7869.js +1 -1
  16. package/lib/esm-implementer-tools-app/7869.js.map +1 -1
  17. package/lib/esm-implementer-tools-app/main.js +1 -1
  18. package/lib/esm-implementer-tools-app/openmrs-esm-implementer-tools-app.js +1 -1
  19. package/lib/esm-implementer-tools-app/openmrs-esm-implementer-tools-app.js.buildmanifest.json +5 -5
  20. package/lib/esm-implementer-tools-app/routes.json +1 -1
  21. package/lib/esm-login-app/2434.js +2 -2
  22. package/lib/esm-login-app/2434.js.map +1 -1
  23. package/lib/esm-login-app/main.js +1 -1
  24. package/lib/esm-login-app/main.js.map +1 -1
  25. package/lib/esm-login-app/openmrs-esm-login-app.js +1 -1
  26. package/lib/esm-login-app/openmrs-esm-login-app.js.buildmanifest.json +5 -5
  27. package/lib/esm-login-app/routes.json +1 -1
  28. package/lib/esm-offline-tools-app/7869.js +1 -1
  29. package/lib/esm-offline-tools-app/7869.js.map +1 -1
  30. package/lib/esm-offline-tools-app/main.js +1 -1
  31. package/lib/esm-offline-tools-app/openmrs-esm-offline-tools-app.js +1 -1
  32. package/lib/esm-offline-tools-app/openmrs-esm-offline-tools-app.js.buildmanifest.json +5 -5
  33. package/lib/esm-offline-tools-app/routes.json +1 -1
  34. package/lib/esm-primary-navigation-app/1119.js +1 -0
  35. package/lib/esm-primary-navigation-app/1197.js +1 -0
  36. package/lib/esm-primary-navigation-app/1782.js +1 -0
  37. package/lib/esm-primary-navigation-app/1782.js.map +1 -0
  38. package/lib/esm-primary-navigation-app/2146.js +1 -0
  39. package/lib/esm-primary-navigation-app/2267.js +1 -0
  40. package/lib/esm-primary-navigation-app/2267.js.map +1 -0
  41. package/lib/esm-primary-navigation-app/2690.js +1 -0
  42. package/lib/esm-primary-navigation-app/2727.js +2 -0
  43. package/lib/esm-primary-navigation-app/2727.js.map +1 -0
  44. package/lib/esm-primary-navigation-app/3099.js +1 -0
  45. package/lib/esm-primary-navigation-app/3584.js +1 -0
  46. package/lib/esm-primary-navigation-app/3637.js +2 -0
  47. package/lib/esm-primary-navigation-app/3637.js.map +1 -0
  48. package/lib/esm-primary-navigation-app/4055.js +1 -0
  49. package/lib/esm-primary-navigation-app/4132.js +1 -0
  50. package/lib/esm-primary-navigation-app/4300.js +1 -0
  51. package/lib/esm-primary-navigation-app/4335.js +1 -0
  52. package/lib/esm-primary-navigation-app/4618.js +1 -0
  53. package/lib/esm-primary-navigation-app/4652.js +1 -0
  54. package/lib/esm-primary-navigation-app/4740.js +2 -0
  55. package/lib/esm-primary-navigation-app/4740.js.LICENSE.txt +5 -0
  56. package/lib/esm-primary-navigation-app/4740.js.map +1 -0
  57. package/lib/esm-primary-navigation-app/4944.js +1 -0
  58. package/lib/esm-primary-navigation-app/5173.js +1 -0
  59. package/lib/esm-primary-navigation-app/5241.js +1 -0
  60. package/lib/esm-primary-navigation-app/5442.js +1 -0
  61. package/lib/esm-primary-navigation-app/5623.js +2 -0
  62. package/lib/esm-primary-navigation-app/5623.js.map +1 -0
  63. package/lib/esm-primary-navigation-app/5661.js +1 -0
  64. package/lib/esm-primary-navigation-app/5770.js +2 -0
  65. package/lib/esm-primary-navigation-app/5770.js.map +1 -0
  66. package/lib/esm-primary-navigation-app/6022.js +1 -0
  67. package/lib/esm-primary-navigation-app/6248.js +1 -0
  68. package/lib/esm-primary-navigation-app/6248.js.map +1 -0
  69. package/lib/esm-primary-navigation-app/6326.js +2 -0
  70. package/lib/esm-primary-navigation-app/6326.js.map +1 -0
  71. package/lib/esm-primary-navigation-app/6408.js +2 -0
  72. package/lib/esm-primary-navigation-app/6408.js.LICENSE.txt +32 -0
  73. package/lib/esm-primary-navigation-app/6408.js.map +1 -0
  74. package/lib/esm-primary-navigation-app/6468.js +1 -0
  75. package/lib/esm-primary-navigation-app/6537.js +2 -0
  76. package/lib/esm-primary-navigation-app/6537.js.LICENSE.txt +5 -0
  77. package/lib/esm-primary-navigation-app/6537.js.map +1 -0
  78. package/lib/esm-primary-navigation-app/6679.js +1 -0
  79. package/lib/esm-primary-navigation-app/6840.js +1 -0
  80. package/lib/esm-primary-navigation-app/6859.js +1 -0
  81. package/lib/esm-primary-navigation-app/7097.js +1 -0
  82. package/lib/esm-primary-navigation-app/7159.js +1 -0
  83. package/lib/esm-primary-navigation-app/723.js +1 -0
  84. package/lib/esm-primary-navigation-app/7617.js +1 -0
  85. package/lib/esm-primary-navigation-app/7869.js +1 -0
  86. package/lib/esm-primary-navigation-app/7869.js.map +1 -0
  87. package/lib/esm-primary-navigation-app/795.js +1 -0
  88. package/lib/esm-primary-navigation-app/815.js +1 -0
  89. package/lib/esm-primary-navigation-app/815.js.map +1 -0
  90. package/lib/esm-primary-navigation-app/8163.js +1 -0
  91. package/lib/esm-primary-navigation-app/8349.js +1 -0
  92. package/lib/esm-primary-navigation-app/8577.js +1 -0
  93. package/lib/esm-primary-navigation-app/8577.js.map +1 -0
  94. package/lib/esm-primary-navigation-app/8618.js +1 -0
  95. package/lib/esm-primary-navigation-app/890.js +1 -0
  96. package/lib/esm-primary-navigation-app/9.js +1 -0
  97. package/lib/esm-primary-navigation-app/9.js.map +1 -0
  98. package/lib/esm-primary-navigation-app/9214.js +1 -0
  99. package/lib/esm-primary-navigation-app/9309.js +2 -0
  100. package/lib/esm-primary-navigation-app/9309.js.map +1 -0
  101. package/lib/esm-primary-navigation-app/9538.js +1 -0
  102. package/lib/esm-primary-navigation-app/9569.js +1 -0
  103. package/lib/esm-primary-navigation-app/986.js +1 -0
  104. package/lib/esm-primary-navigation-app/9879.js +1 -0
  105. package/lib/esm-primary-navigation-app/9895.js +1 -0
  106. package/lib/esm-primary-navigation-app/9900.js +1 -0
  107. package/lib/esm-primary-navigation-app/9913.js +1 -0
  108. package/lib/esm-primary-navigation-app/main.js +2 -0
  109. package/lib/esm-primary-navigation-app/main.js.LICENSE.txt +5 -0
  110. package/lib/esm-primary-navigation-app/main.js.map +1 -0
  111. package/lib/esm-primary-navigation-app/openmrs-esm-primary-navigation-app.js +1 -0
  112. package/lib/esm-primary-navigation-app/openmrs-esm-primary-navigation-app.js.buildmanifest.json +1392 -0
  113. package/lib/esm-primary-navigation-app/openmrs-esm-primary-navigation-app.js.map +1 -0
  114. package/lib/esm-primary-navigation-app/routes.json +1 -0
  115. package/lib/index.html +2 -2
  116. package/lib/openmrs.js +4 -4
  117. package/lib/service-worker.js +1 -1
  118. package/package.json +3 -3
  119. package/dist/70448c042c088737.js +0 -1
  120. package/dist/70448c042c088737.js.map +0 -1
  121. package/lib/esm-help-menu-app/108.js +0 -1
  122. package/lib/esm-help-menu-app/108.js.map +0 -1
  123. package/lib/esm-help-menu-app/11.js +0 -1
  124. package/lib/esm-help-menu-app/11.js.map +0 -1
  125. package/lib/esm-help-menu-app/248.js +0 -1
  126. package/lib/esm-help-menu-app/248.js.map +0 -1
  127. package/lib/esm-help-menu-app/322.js +0 -1
  128. package/lib/esm-help-menu-app/322.js.map +0 -1
  129. package/lib/esm-help-menu-app/326.js +0 -2
  130. package/lib/esm-help-menu-app/326.js.map +0 -1
  131. package/lib/esm-help-menu-app/451.js +0 -2
  132. package/lib/esm-help-menu-app/451.js.map +0 -1
  133. package/lib/esm-help-menu-app/555.js +0 -1
  134. package/lib/esm-help-menu-app/555.js.map +0 -1
  135. package/lib/esm-help-menu-app/623.js +0 -2
  136. package/lib/esm-help-menu-app/623.js.map +0 -1
  137. package/lib/esm-help-menu-app/660.js +0 -2
  138. package/lib/esm-help-menu-app/660.js.map +0 -1
  139. package/lib/esm-help-menu-app/770.js +0 -2
  140. package/lib/esm-help-menu-app/770.js.map +0 -1
  141. package/lib/esm-help-menu-app/802.js +0 -1
  142. package/lib/esm-help-menu-app/802.js.map +0 -1
  143. package/lib/esm-help-menu-app/869.js +0 -1
  144. package/lib/esm-help-menu-app/869.js.map +0 -1
  145. package/lib/esm-help-menu-app/90.js +0 -1
  146. package/lib/esm-help-menu-app/90.js.map +0 -1
  147. package/lib/esm-help-menu-app/932.js +0 -2
  148. package/lib/esm-help-menu-app/932.js.map +0 -1
  149. package/lib/esm-help-menu-app/main.js +0 -1
  150. package/lib/esm-help-menu-app/main.js.map +0 -1
  151. package/lib/esm-help-menu-app/openmrs-esm-help-menu-app.js +0 -1
  152. package/lib/esm-help-menu-app/openmrs-esm-help-menu-app.js.buildmanifest.json +0 -464
  153. package/lib/esm-help-menu-app/openmrs-esm-help-menu-app.js.map +0 -1
  154. package/lib/esm-help-menu-app/routes.json +0 -1
  155. /package/lib/{esm-help-menu-app/932.js.LICENSE.txt → esm-primary-navigation-app/2727.js.LICENSE.txt} +0 -0
  156. /package/lib/{esm-help-menu-app/660.js.LICENSE.txt → esm-primary-navigation-app/3637.js.LICENSE.txt} +0 -0
  157. /package/lib/{esm-help-menu-app/623.js.LICENSE.txt → esm-primary-navigation-app/5623.js.LICENSE.txt} +0 -0
  158. /package/lib/{esm-help-menu-app/770.js.LICENSE.txt → esm-primary-navigation-app/5770.js.LICENSE.txt} +0 -0
  159. /package/lib/{esm-help-menu-app/326.js.LICENSE.txt → esm-primary-navigation-app/6326.js.LICENSE.txt} +0 -0
  160. /package/lib/{esm-help-menu-app/451.js.LICENSE.txt → esm-primary-navigation-app/9309.js.LICENSE.txt} +0 -0
@@ -935,7 +935,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
935
935
  \*************************************************************************/
936
936
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
937
937
 
938
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ openmrsComponentDecorator: () => (/* binding */ openmrsComponentDecorator)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-i18next */ \"webpack/sharing/consume/default/react-i18next/react-i18next\");\n/* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! swr */ \"../../../node_modules/swr/dist/core/index.mjs\");\n/* harmony import */ var _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @openmrs/esm-api */ \"../../framework/esm-api/dist/index.js\");\n/* harmony import */ var _ComponentContext_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ComponentContext.js */ \"../../framework/esm-react-utils/dist/ComponentContext.js\");\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n\n\n\n\n\nconst defaultOpts = {\n strictMode: true,\n throwErrorsToConsole: true,\n disableTranslations: false\n};\nconst swrCache = new Map();\n// Read more about the available config options here: https://swr.vercel.app/docs/api#configuration\nconst defaultSwrConfig = {\n // max number of retries after requests have failed\n errorRetryCount: 3,\n // default fetcher function\n fetcher: _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_3__.openmrsFetch,\n // only revalidate once every 30 minutes\n focusThrottleInterval: 1800000,\n revalidateIfStale: true,\n // disable automatic revalidations by default\n revalidateOnFocus: false,\n revalidateOnReconnect: false,\n refreshInterval: 0,\n provider: ()=>swrCache\n};\nfunction openmrsComponentDecorator(userOpts) {\n if (typeof userOpts !== 'object' || typeof userOpts.featureName !== 'string' || typeof userOpts.moduleName !== 'string') {\n throw new Error('Invalid options');\n }\n const opts = Object.assign({}, defaultOpts, userOpts);\n const swrConfig = {\n ...defaultSwrConfig,\n ...opts.swrConfig\n };\n return function decorateComponent(Comp) {\n var _React_Component, _OpenmrsReactComponent;\n return _OpenmrsReactComponent = class OpenmrsReactComponent extends (_React_Component = react__WEBPACK_IMPORTED_MODULE_0__.Component) {\n componentDidCatch(err, info) {\n if (info && info.componentStack) {\n err.extra = Object.assign(err.extra || {}, {\n componentStack: info.componentStack\n });\n }\n if (opts.throwErrorsToConsole) {\n setTimeout(()=>{\n throw err;\n });\n }\n this.setState({\n caughtError: err,\n caughtErrorInfo: info\n });\n }\n render() {\n if (this.state.caughtError) {\n // TO-DO have a UX designed for when a catastrophic error occurs\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"div\", null, \"An error has occurred. Please try reloading the page.\");\n } else {\n const content = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Suspense, {\n fallback: null\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(swr__WEBPACK_IMPORTED_MODULE_2__.SWRConfig, {\n value: swrConfig\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ComponentContext_js__WEBPACK_IMPORTED_MODULE_4__.ComponentContext.Provider, {\n value: this.state.config\n }, opts.disableTranslations ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Comp, this.props) : /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_i18next__WEBPACK_IMPORTED_MODULE_1__.I18nextProvider, {\n i18n: window.i18next,\n defaultNS: this.props._extensionContext ? `${opts.moduleName}___${this.props._extensionContext.extensionSlotName}___${this.props._extensionContext.extensionId}` : opts.moduleName\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Comp, this.props)))));\n if (!opts.strictMode || !react__WEBPACK_IMPORTED_MODULE_0__.StrictMode) {\n return content;\n } else {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.StrictMode, null, content);\n }\n }\n }\n constructor(props){\n super(props);\n this.state = {\n caughtError: null,\n caughtErrorInfo: null,\n config: {\n moduleName: opts.moduleName,\n featureName: opts.featureName,\n extension: props._extensionContext\n }\n };\n }\n }, _define_property(_OpenmrsReactComponent, \"displayName\", `OpenmrsReactComponent(${opts.featureName})`), _OpenmrsReactComponent;\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9kaXN0L29wZW5tcnNDb21wb25lbnREZWNvcmF0b3IuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsU0FBU0EsaUJBQWlCQyxHQUFHLEVBQUVDLEdBQUcsRUFBRUMsS0FBSztJQUNyQyxJQUFJRCxPQUFPRCxLQUFLO1FBQ1pHLE9BQU9DLGNBQWMsQ0FBQ0osS0FBS0MsS0FBSztZQUM1QkMsT0FBT0E7WUFDUEcsWUFBWTtZQUNaQyxjQUFjO1lBQ2RDLFVBQVU7UUFDZDtJQUNKLE9BQU87UUFDSFAsR0FBRyxDQUFDQyxJQUFJLEdBQUdDO0lBQ2Y7SUFDQSxPQUFPRjtBQUNYO0FBQ3dDO0FBQ1E7QUFDaEI7QUFDZ0I7QUFDUztBQUN6RCxNQUFNYyxjQUFjO0lBQ2hCQyxZQUFZO0lBQ1pDLHNCQUFzQjtJQUN0QkMscUJBQXFCO0FBQ3pCO0FBQ0EsTUFBTUMsV0FBVyxJQUFJQztBQUNyQixtR0FBbUc7QUFDbkcsTUFBTUMsbUJBQW1CO0lBQ3JCLG1EQUFtRDtJQUNuREMsaUJBQWlCO0lBQ2pCLDJCQUEyQjtJQUMzQkMsU0FBU1YsMERBQVlBO0lBQ3JCLHdDQUF3QztJQUN4Q1csdUJBQXVCO0lBQ3ZCQyxtQkFBbUI7SUFDbkIsNkNBQTZDO0lBQzdDQyxtQkFBbUI7SUFDbkJDLHVCQUF1QjtJQUN2QkMsaUJBQWlCO0lBQ2pCQyxVQUFVLElBQUlWO0FBQ2xCO0FBQ08sU0FBU1csMEJBQTBCQyxRQUFRO0lBQzlDLElBQUksT0FBT0EsYUFBYSxZQUFZLE9BQU9BLFNBQVNDLFdBQVcsS0FBSyxZQUFZLE9BQU9ELFNBQVNFLFVBQVUsS0FBSyxVQUFVO1FBQ3JILE1BQU0sSUFBSUMsTUFBTTtJQUNwQjtJQUNBLE1BQU1DLE9BQU8vQixPQUFPZ0MsTUFBTSxDQUFDLENBQUMsR0FBR3JCLGFBQWFnQjtJQUM1QyxNQUFNTSxZQUFZO1FBQ2QsR0FBR2hCLGdCQUFnQjtRQUNuQixHQUFHYyxLQUFLRSxTQUFTO0lBQ3JCO0lBQ0EsT0FBTyxTQUFTQyxrQkFBa0JDLElBQUk7UUFDbEMsSUFBSUMsa0JBQWtCQztRQUN0QixPQUFPQSx5QkFBeUIsTUFBTUMsOEJBQStCRixDQUFBQSxtQkFBbUIvQiw0Q0FBZTtZQUNuR21DLGtCQUFrQkMsR0FBRyxFQUFFQyxJQUFJLEVBQUU7Z0JBQ3pCLElBQUlBLFFBQVFBLEtBQUtDLGNBQWMsRUFBRTtvQkFDN0JGLElBQUlHLEtBQUssR0FBRzVDLE9BQU9nQyxNQUFNLENBQUNTLElBQUlHLEtBQUssSUFBSSxDQUFDLEdBQUc7d0JBQ3ZDRCxnQkFBZ0JELEtBQUtDLGNBQWM7b0JBQ3ZDO2dCQUNKO2dCQUNBLElBQUlaLEtBQUtsQixvQkFBb0IsRUFBRTtvQkFDM0JnQyxXQUFXO3dCQUNQLE1BQU1KO29CQUNWO2dCQUNKO2dCQUNBLElBQUksQ0FBQ0ssUUFBUSxDQUFDO29CQUNWQyxhQUFhTjtvQkFDYk8saUJBQWlCTjtnQkFDckI7WUFDSjtZQUNBTyxTQUFTO2dCQUNMLElBQUksSUFBSSxDQUFDQyxLQUFLLENBQUNILFdBQVcsRUFBRTtvQkFDeEIsZ0VBQWdFO29CQUNoRSxPQUFPLFdBQVcsR0FBRzFDLGdEQUFtQixDQUFDLE9BQU8sTUFBTTtnQkFDMUQsT0FBTztvQkFDSCxNQUFNK0MsVUFBVSxXQUFXLEdBQUcvQyxnREFBbUIsQ0FBQ0MsMkNBQVFBLEVBQUU7d0JBQ3hEK0MsVUFBVTtvQkFDZCxHQUFHLFdBQVcsR0FBR2hELGdEQUFtQixDQUFDRywwQ0FBU0EsRUFBRTt3QkFDNUNULE9BQU9rQztvQkFDWCxHQUFHLFdBQVcsR0FBRzVCLGdEQUFtQixDQUFDSyxrRUFBZ0JBLENBQUM0QyxRQUFRLEVBQUU7d0JBQzVEdkQsT0FBTyxJQUFJLENBQUNtRCxLQUFLLENBQUNLLE1BQU07b0JBQzVCLEdBQUd4QixLQUFLakIsbUJBQW1CLEdBQUcsV0FBVyxHQUFHVCxnREFBbUIsQ0FBQzhCLE1BQU0sSUFBSSxDQUFDcUIsS0FBSyxJQUFJLFdBQVcsR0FBR25ELGdEQUFtQixDQUFDRSwwREFBZUEsRUFBRTt3QkFDbklrRCxNQUFNQyxPQUFPQyxPQUFPO3dCQUNwQkMsV0FBVyxJQUFJLENBQUNKLEtBQUssQ0FBQ0ssaUJBQWlCLEdBQUcsR0FBRzlCLEtBQUtGLFVBQVUsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDMkIsS0FBSyxDQUFDSyxpQkFBaUIsQ0FBQ0MsaUJBQWlCLENBQUMsR0FBRyxFQUFFLElBQUksQ0FBQ04sS0FBSyxDQUFDSyxpQkFBaUIsQ0FBQ0UsV0FBVyxFQUFFLEdBQUdoQyxLQUFLRixVQUFVO29CQUN0TCxHQUFHLFdBQVcsR0FBR3hCLGdEQUFtQixDQUFDOEIsTUFBTSxJQUFJLENBQUNxQixLQUFLO29CQUNyRCxJQUFJLENBQUN6QixLQUFLbkIsVUFBVSxJQUFJLENBQUNQLDZDQUFnQixFQUFFO3dCQUN2QyxPQUFPK0M7b0JBQ1gsT0FBTzt3QkFDSCxPQUFPLFdBQVcsR0FBRy9DLGdEQUFtQixDQUFDQSw2Q0FBZ0IsRUFBRSxNQUFNK0M7b0JBQ3JFO2dCQUNKO1lBQ0o7WUFDQSxZQUFZSSxLQUFLLENBQUM7Z0JBQ2QsS0FBSyxDQUFDQTtnQkFDTixJQUFJLENBQUNOLEtBQUssR0FBRztvQkFDVEgsYUFBYTtvQkFDYkMsaUJBQWlCO29CQUNqQk8sUUFBUTt3QkFDSjFCLFlBQVlFLEtBQUtGLFVBQVU7d0JBQzNCRCxhQUFhRyxLQUFLSCxXQUFXO3dCQUM3QnFDLFdBQVdULE1BQU1LLGlCQUFpQjtvQkFDdEM7Z0JBQ0o7WUFDSjtRQUNKLEdBQUdqRSxpQkFBaUJ5Qyx3QkFBd0IsZUFBZSxDQUFDLHNCQUFzQixFQUFFTixLQUFLSCxXQUFXLENBQUMsQ0FBQyxDQUFDLEdBQUdTO0lBQzlHO0FBQ0oiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tcmVhY3QtdXRpbHMvZGlzdC9vcGVubXJzQ29tcG9uZW50RGVjb3JhdG9yLmpzPzdiMTgiXSwic291cmNlc0NvbnRlbnQiOlsiZnVuY3Rpb24gX2RlZmluZV9wcm9wZXJ0eShvYmosIGtleSwgdmFsdWUpIHtcbiAgICBpZiAoa2V5IGluIG9iaikge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkob2JqLCBrZXksIHtcbiAgICAgICAgICAgIHZhbHVlOiB2YWx1ZSxcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICB3cml0YWJsZTogdHJ1ZVxuICAgICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgICBvYmpba2V5XSA9IHZhbHVlO1xuICAgIH1cbiAgICByZXR1cm4gb2JqO1xufVxuaW1wb3J0IFJlYWN0LCB7IFN1c3BlbnNlIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBJMThuZXh0UHJvdmlkZXIgfSBmcm9tIFwicmVhY3QtaTE4bmV4dFwiO1xuaW1wb3J0IHsgU1dSQ29uZmlnIH0gZnJvbSBcInN3clwiO1xuaW1wb3J0IHsgb3Blbm1yc0ZldGNoIH0gZnJvbSBcIkBvcGVubXJzL2VzbS1hcGlcIjtcbmltcG9ydCB7IENvbXBvbmVudENvbnRleHQgfSBmcm9tIFwiLi9Db21wb25lbnRDb250ZXh0LmpzXCI7XG5jb25zdCBkZWZhdWx0T3B0cyA9IHtcbiAgICBzdHJpY3RNb2RlOiB0cnVlLFxuICAgIHRocm93RXJyb3JzVG9Db25zb2xlOiB0cnVlLFxuICAgIGRpc2FibGVUcmFuc2xhdGlvbnM6IGZhbHNlXG59O1xuY29uc3Qgc3dyQ2FjaGUgPSBuZXcgTWFwKCk7XG4vLyBSZWFkIG1vcmUgYWJvdXQgdGhlIGF2YWlsYWJsZSBjb25maWcgb3B0aW9ucyBoZXJlOiBodHRwczovL3N3ci52ZXJjZWwuYXBwL2RvY3MvYXBpI2NvbmZpZ3VyYXRpb25cbmNvbnN0IGRlZmF1bHRTd3JDb25maWcgPSB7XG4gICAgLy8gbWF4IG51bWJlciBvZiByZXRyaWVzIGFmdGVyIHJlcXVlc3RzIGhhdmUgZmFpbGVkXG4gICAgZXJyb3JSZXRyeUNvdW50OiAzLFxuICAgIC8vIGRlZmF1bHQgZmV0Y2hlciBmdW5jdGlvblxuICAgIGZldGNoZXI6IG9wZW5tcnNGZXRjaCxcbiAgICAvLyBvbmx5IHJldmFsaWRhdGUgb25jZSBldmVyeSAzMCBtaW51dGVzXG4gICAgZm9jdXNUaHJvdHRsZUludGVydmFsOiAxODAwMDAwLFxuICAgIHJldmFsaWRhdGVJZlN0YWxlOiB0cnVlLFxuICAgIC8vIGRpc2FibGUgYXV0b21hdGljIHJldmFsaWRhdGlvbnMgYnkgZGVmYXVsdFxuICAgIHJldmFsaWRhdGVPbkZvY3VzOiBmYWxzZSxcbiAgICByZXZhbGlkYXRlT25SZWNvbm5lY3Q6IGZhbHNlLFxuICAgIHJlZnJlc2hJbnRlcnZhbDogMCxcbiAgICBwcm92aWRlcjogKCk9PnN3ckNhY2hlXG59O1xuZXhwb3J0IGZ1bmN0aW9uIG9wZW5tcnNDb21wb25lbnREZWNvcmF0b3IodXNlck9wdHMpIHtcbiAgICBpZiAodHlwZW9mIHVzZXJPcHRzICE9PSAnb2JqZWN0JyB8fCB0eXBlb2YgdXNlck9wdHMuZmVhdHVyZU5hbWUgIT09ICdzdHJpbmcnIHx8IHR5cGVvZiB1c2VyT3B0cy5tb2R1bGVOYW1lICE9PSAnc3RyaW5nJykge1xuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgb3B0aW9ucycpO1xuICAgIH1cbiAgICBjb25zdCBvcHRzID0gT2JqZWN0LmFzc2lnbih7fSwgZGVmYXVsdE9wdHMsIHVzZXJPcHRzKTtcbiAgICBjb25zdCBzd3JDb25maWcgPSB7XG4gICAgICAgIC4uLmRlZmF1bHRTd3JDb25maWcsXG4gICAgICAgIC4uLm9wdHMuc3dyQ29uZmlnXG4gICAgfTtcbiAgICByZXR1cm4gZnVuY3Rpb24gZGVjb3JhdGVDb21wb25lbnQoQ29tcCkge1xuICAgICAgICB2YXIgX1JlYWN0X0NvbXBvbmVudCwgX09wZW5tcnNSZWFjdENvbXBvbmVudDtcbiAgICAgICAgcmV0dXJuIF9PcGVubXJzUmVhY3RDb21wb25lbnQgPSBjbGFzcyBPcGVubXJzUmVhY3RDb21wb25lbnQgZXh0ZW5kcyAoX1JlYWN0X0NvbXBvbmVudCA9IFJlYWN0LkNvbXBvbmVudCkge1xuICAgICAgICAgICAgY29tcG9uZW50RGlkQ2F0Y2goZXJyLCBpbmZvKSB7XG4gICAgICAgICAgICAgICAgaWYgKGluZm8gJiYgaW5mby5jb21wb25lbnRTdGFjaykge1xuICAgICAgICAgICAgICAgICAgICBlcnIuZXh0cmEgPSBPYmplY3QuYXNzaWduKGVyci5leHRyYSB8fCB7fSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgY29tcG9uZW50U3RhY2s6IGluZm8uY29tcG9uZW50U3RhY2tcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGlmIChvcHRzLnRocm93RXJyb3JzVG9Db25zb2xlKSB7XG4gICAgICAgICAgICAgICAgICAgIHNldFRpbWVvdXQoKCk9PntcbiAgICAgICAgICAgICAgICAgICAgICAgIHRocm93IGVycjtcbiAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIHRoaXMuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICAgICAgICBjYXVnaHRFcnJvcjogZXJyLFxuICAgICAgICAgICAgICAgICAgICBjYXVnaHRFcnJvckluZm86IGluZm9cbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHJlbmRlcigpIHtcbiAgICAgICAgICAgICAgICBpZiAodGhpcy5zdGF0ZS5jYXVnaHRFcnJvcikge1xuICAgICAgICAgICAgICAgICAgICAvLyBUTy1ETyBoYXZlIGEgVVggZGVzaWduZWQgZm9yIHdoZW4gYSBjYXRhc3Ryb3BoaWMgZXJyb3Igb2NjdXJzXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoXCJkaXZcIiwgbnVsbCwgXCJBbiBlcnJvciBoYXMgb2NjdXJyZWQuIFBsZWFzZSB0cnkgcmVsb2FkaW5nIHRoZSBwYWdlLlwiKTtcbiAgICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjb250ZW50ID0gLyojX19QVVJFX18qLyBSZWFjdC5jcmVhdGVFbGVtZW50KFN1c3BlbnNlLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICBmYWxsYmFjazogbnVsbFxuICAgICAgICAgICAgICAgICAgICB9LCAvKiNfX1BVUkVfXyovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoU1dSQ29uZmlnLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogc3dyQ29uZmlnXG4gICAgICAgICAgICAgICAgICAgIH0sIC8qI19fUFVSRV9fKi8gUmVhY3QuY3JlYXRlRWxlbWVudChDb21wb25lbnRDb250ZXh0LlByb3ZpZGVyLCB7XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZTogdGhpcy5zdGF0ZS5jb25maWdcbiAgICAgICAgICAgICAgICAgICAgfSwgb3B0cy5kaXNhYmxlVHJhbnNsYXRpb25zID8gLyojX19QVVJFX18qLyBSZWFjdC5jcmVhdGVFbGVtZW50KENvbXAsIHRoaXMucHJvcHMpIDogLyojX19QVVJFX18qLyBSZWFjdC5jcmVhdGVFbGVtZW50KEkxOG5leHRQcm92aWRlciwge1xuICAgICAgICAgICAgICAgICAgICAgICAgaTE4bjogd2luZG93LmkxOG5leHQsXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWZhdWx0TlM6IHRoaXMucHJvcHMuX2V4dGVuc2lvbkNvbnRleHQgPyBgJHtvcHRzLm1vZHVsZU5hbWV9X19fJHt0aGlzLnByb3BzLl9leHRlbnNpb25Db250ZXh0LmV4dGVuc2lvblNsb3ROYW1lfV9fXyR7dGhpcy5wcm9wcy5fZXh0ZW5zaW9uQ29udGV4dC5leHRlbnNpb25JZH1gIDogb3B0cy5tb2R1bGVOYW1lXG4gICAgICAgICAgICAgICAgICAgIH0sIC8qI19fUFVSRV9fKi8gUmVhY3QuY3JlYXRlRWxlbWVudChDb21wLCB0aGlzLnByb3BzKSkpKSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghb3B0cy5zdHJpY3RNb2RlIHx8ICFSZWFjdC5TdHJpY3RNb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoUmVhY3QuU3RyaWN0TW9kZSwgbnVsbCwgY29udGVudCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdHJ1Y3Rvcihwcm9wcyl7XG4gICAgICAgICAgICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAgICAgICAgICAgICAgIGNhdWdodEVycm9yOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBjYXVnaHRFcnJvckluZm86IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlTmFtZTogb3B0cy5tb2R1bGVOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmVhdHVyZU5hbWU6IG9wdHMuZmVhdHVyZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBleHRlbnNpb246IHByb3BzLl9leHRlbnNpb25Db250ZXh0XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBfZGVmaW5lX3Byb3BlcnR5KF9PcGVubXJzUmVhY3RDb21wb25lbnQsIFwiZGlzcGxheU5hbWVcIiwgYE9wZW5tcnNSZWFjdENvbXBvbmVudCgke29wdHMuZmVhdHVyZU5hbWV9KWApLCBfT3Blbm1yc1JlYWN0Q29tcG9uZW50O1xuICAgIH07XG59XG4iXSwibmFtZXMiOlsiX2RlZmluZV9wcm9wZXJ0eSIsIm9iaiIsImtleSIsInZhbHVlIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJSZWFjdCIsIlN1c3BlbnNlIiwiSTE4bmV4dFByb3ZpZGVyIiwiU1dSQ29uZmlnIiwib3Blbm1yc0ZldGNoIiwiQ29tcG9uZW50Q29udGV4dCIsImRlZmF1bHRPcHRzIiwic3RyaWN0TW9kZSIsInRocm93RXJyb3JzVG9Db25zb2xlIiwiZGlzYWJsZVRyYW5zbGF0aW9ucyIsInN3ckNhY2hlIiwiTWFwIiwiZGVmYXVsdFN3ckNvbmZpZyIsImVycm9yUmV0cnlDb3VudCIsImZldGNoZXIiLCJmb2N1c1Rocm90dGxlSW50ZXJ2YWwiLCJyZXZhbGlkYXRlSWZTdGFsZSIsInJldmFsaWRhdGVPbkZvY3VzIiwicmV2YWxpZGF0ZU9uUmVjb25uZWN0IiwicmVmcmVzaEludGVydmFsIiwicHJvdmlkZXIiLCJvcGVubXJzQ29tcG9uZW50RGVjb3JhdG9yIiwidXNlck9wdHMiLCJmZWF0dXJlTmFtZSIsIm1vZHVsZU5hbWUiLCJFcnJvciIsIm9wdHMiLCJhc3NpZ24iLCJzd3JDb25maWciLCJkZWNvcmF0ZUNvbXBvbmVudCIsIkNvbXAiLCJfUmVhY3RfQ29tcG9uZW50IiwiX09wZW5tcnNSZWFjdENvbXBvbmVudCIsIk9wZW5tcnNSZWFjdENvbXBvbmVudCIsIkNvbXBvbmVudCIsImNvbXBvbmVudERpZENhdGNoIiwiZXJyIiwiaW5mbyIsImNvbXBvbmVudFN0YWNrIiwiZXh0cmEiLCJzZXRUaW1lb3V0Iiwic2V0U3RhdGUiLCJjYXVnaHRFcnJvciIsImNhdWdodEVycm9ySW5mbyIsInJlbmRlciIsInN0YXRlIiwiY3JlYXRlRWxlbWVudCIsImNvbnRlbnQiLCJmYWxsYmFjayIsIlByb3ZpZGVyIiwiY29uZmlnIiwicHJvcHMiLCJpMThuIiwid2luZG93IiwiaTE4bmV4dCIsImRlZmF1bHROUyIsIl9leHRlbnNpb25Db250ZXh0IiwiZXh0ZW5zaW9uU2xvdE5hbWUiLCJleHRlbnNpb25JZCIsIlN0cmljdE1vZGUiLCJleHRlbnNpb24iXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/dist/openmrsComponentDecorator.js\n");
938
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ openmrsComponentDecorator: () => (/* binding */ openmrsComponentDecorator)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var react_i18next__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-i18next */ \"webpack/sharing/consume/default/react-i18next/react-i18next\");\n/* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! swr */ \"../../../node_modules/swr/dist/core/index.mjs\");\n/* harmony import */ var _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! @openmrs/esm-api */ \"../../framework/esm-api/dist/index.js\");\n/* harmony import */ var _ComponentContext_js__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./ComponentContext.js */ \"../../framework/esm-react-utils/dist/ComponentContext.js\");\nfunction _define_property(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}\n\n\n\n\n\nconst defaultOpts = {\n strictMode: true,\n throwErrorsToConsole: true,\n disableTranslations: false\n};\nconst swrCache = new Map();\n// Read more about the available config options here: https://swr.vercel.app/docs/api#configuration\nconst defaultSwrConfig = {\n // max number of retries after requests have failed\n errorRetryCount: 3,\n // default fetcher function\n fetcher: _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_3__.openmrsFetch,\n // only revalidate once every 30 minutes\n focusThrottleInterval: 1800000,\n revalidateIfStale: true,\n // disable automatic revalidations by default\n revalidateOnFocus: false,\n revalidateOnReconnect: false,\n refreshInterval: 0,\n provider: ()=>swrCache\n};\nfunction openmrsComponentDecorator(userOpts) {\n if (typeof userOpts !== 'object' || typeof userOpts.featureName !== 'string' || typeof userOpts.moduleName !== 'string') {\n throw new Error('Invalid options');\n }\n const opts = Object.assign({}, defaultOpts, userOpts);\n const swrConfig = {\n ...defaultSwrConfig,\n ...opts.swrConfig\n };\n return function decorateComponent(Comp) {\n var _React_Component, _OpenmrsReactComponent;\n return _OpenmrsReactComponent = class OpenmrsReactComponent extends (_React_Component = react__WEBPACK_IMPORTED_MODULE_0__.Component) {\n componentDidCatch(err, info) {\n if (info && info.componentStack) {\n err.extra = Object.assign(err.extra || {}, {\n componentStack: info.componentStack\n });\n }\n if (opts.throwErrorsToConsole) {\n setTimeout(()=>{\n throw err;\n });\n }\n this.setState({\n caughtError: err,\n caughtErrorInfo: info\n });\n }\n render() {\n if (this.state.caughtError) {\n // TO-DO have a UX designed for when a catastrophic error occurs\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(\"div\", null, \"An error has occurred. Please try reloading the page.\");\n } else {\n const content = /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.Suspense, {\n fallback: null\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(swr__WEBPACK_IMPORTED_MODULE_2__.SWRConfig, {\n value: swrConfig\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(_ComponentContext_js__WEBPACK_IMPORTED_MODULE_4__.ComponentContext.Provider, {\n value: this.state.config\n }, opts.disableTranslations ? /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Comp, this.props) : /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react_i18next__WEBPACK_IMPORTED_MODULE_1__.I18nextProvider, {\n i18n: window.i18next,\n defaultNS: this.state.config.extension ? `${this.state.config.moduleName}___${this.state.config.extension.extensionSlotName}___${this.state.config.extension.extensionId}` : this.state.config.moduleName\n }, /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(Comp, this.props)))));\n if (!opts.strictMode || !react__WEBPACK_IMPORTED_MODULE_0__.StrictMode) {\n return content;\n } else {\n return /*#__PURE__*/ react__WEBPACK_IMPORTED_MODULE_0__.createElement(react__WEBPACK_IMPORTED_MODULE_0__.StrictMode, null, content);\n }\n }\n }\n constructor(props){\n super(props);\n this.state = {\n caughtError: null,\n caughtErrorInfo: null,\n config: {\n moduleName: opts.moduleName,\n featureName: opts.featureName,\n extension: props._extensionContext\n }\n };\n }\n }, _define_property(_OpenmrsReactComponent, \"displayName\", `OpenmrsReactComponent(${opts.featureName})`), _OpenmrsReactComponent;\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9kaXN0L29wZW5tcnNDb21wb25lbnREZWNvcmF0b3IuanMiLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUEsU0FBU0EsaUJBQWlCQyxHQUFHLEVBQUVDLEdBQUcsRUFBRUMsS0FBSztJQUNyQyxJQUFJRCxPQUFPRCxLQUFLO1FBQ1pHLE9BQU9DLGNBQWMsQ0FBQ0osS0FBS0MsS0FBSztZQUM1QkMsT0FBT0E7WUFDUEcsWUFBWTtZQUNaQyxjQUFjO1lBQ2RDLFVBQVU7UUFDZDtJQUNKLE9BQU87UUFDSFAsR0FBRyxDQUFDQyxJQUFJLEdBQUdDO0lBQ2Y7SUFDQSxPQUFPRjtBQUNYO0FBQ3dDO0FBQ1E7QUFDaEI7QUFDZ0I7QUFDUztBQUN6RCxNQUFNYyxjQUFjO0lBQ2hCQyxZQUFZO0lBQ1pDLHNCQUFzQjtJQUN0QkMscUJBQXFCO0FBQ3pCO0FBQ0EsTUFBTUMsV0FBVyxJQUFJQztBQUNyQixtR0FBbUc7QUFDbkcsTUFBTUMsbUJBQW1CO0lBQ3JCLG1EQUFtRDtJQUNuREMsaUJBQWlCO0lBQ2pCLDJCQUEyQjtJQUMzQkMsU0FBU1YsMERBQVlBO0lBQ3JCLHdDQUF3QztJQUN4Q1csdUJBQXVCO0lBQ3ZCQyxtQkFBbUI7SUFDbkIsNkNBQTZDO0lBQzdDQyxtQkFBbUI7SUFDbkJDLHVCQUF1QjtJQUN2QkMsaUJBQWlCO0lBQ2pCQyxVQUFVLElBQUlWO0FBQ2xCO0FBQ08sU0FBU1csMEJBQTBCQyxRQUFRO0lBQzlDLElBQUksT0FBT0EsYUFBYSxZQUFZLE9BQU9BLFNBQVNDLFdBQVcsS0FBSyxZQUFZLE9BQU9ELFNBQVNFLFVBQVUsS0FBSyxVQUFVO1FBQ3JILE1BQU0sSUFBSUMsTUFBTTtJQUNwQjtJQUNBLE1BQU1DLE9BQU8vQixPQUFPZ0MsTUFBTSxDQUFDLENBQUMsR0FBR3JCLGFBQWFnQjtJQUM1QyxNQUFNTSxZQUFZO1FBQ2QsR0FBR2hCLGdCQUFnQjtRQUNuQixHQUFHYyxLQUFLRSxTQUFTO0lBQ3JCO0lBQ0EsT0FBTyxTQUFTQyxrQkFBa0JDLElBQUk7UUFDbEMsSUFBSUMsa0JBQWtCQztRQUN0QixPQUFPQSx5QkFBeUIsTUFBTUMsOEJBQStCRixDQUFBQSxtQkFBbUIvQiw0Q0FBZTtZQUNuR21DLGtCQUFrQkMsR0FBRyxFQUFFQyxJQUFJLEVBQUU7Z0JBQ3pCLElBQUlBLFFBQVFBLEtBQUtDLGNBQWMsRUFBRTtvQkFDN0JGLElBQUlHLEtBQUssR0FBRzVDLE9BQU9nQyxNQUFNLENBQUNTLElBQUlHLEtBQUssSUFBSSxDQUFDLEdBQUc7d0JBQ3ZDRCxnQkFBZ0JELEtBQUtDLGNBQWM7b0JBQ3ZDO2dCQUNKO2dCQUNBLElBQUlaLEtBQUtsQixvQkFBb0IsRUFBRTtvQkFDM0JnQyxXQUFXO3dCQUNQLE1BQU1KO29CQUNWO2dCQUNKO2dCQUNBLElBQUksQ0FBQ0ssUUFBUSxDQUFDO29CQUNWQyxhQUFhTjtvQkFDYk8saUJBQWlCTjtnQkFDckI7WUFDSjtZQUNBTyxTQUFTO2dCQUNMLElBQUksSUFBSSxDQUFDQyxLQUFLLENBQUNILFdBQVcsRUFBRTtvQkFDeEIsZ0VBQWdFO29CQUNoRSxPQUFPLFdBQVcsR0FBRzFDLGdEQUFtQixDQUFDLE9BQU8sTUFBTTtnQkFDMUQsT0FBTztvQkFDSCxNQUFNK0MsVUFBVSxXQUFXLEdBQUcvQyxnREFBbUIsQ0FBQ0MsMkNBQVFBLEVBQUU7d0JBQ3hEK0MsVUFBVTtvQkFDZCxHQUFHLFdBQVcsR0FBR2hELGdEQUFtQixDQUFDRywwQ0FBU0EsRUFBRTt3QkFDNUNULE9BQU9rQztvQkFDWCxHQUFHLFdBQVcsR0FBRzVCLGdEQUFtQixDQUFDSyxrRUFBZ0JBLENBQUM0QyxRQUFRLEVBQUU7d0JBQzVEdkQsT0FBTyxJQUFJLENBQUNtRCxLQUFLLENBQUNLLE1BQU07b0JBQzVCLEdBQUd4QixLQUFLakIsbUJBQW1CLEdBQUcsV0FBVyxHQUFHVCxnREFBbUIsQ0FBQzhCLE1BQU0sSUFBSSxDQUFDcUIsS0FBSyxJQUFJLFdBQVcsR0FBR25ELGdEQUFtQixDQUFDRSwwREFBZUEsRUFBRTt3QkFDbklrRCxNQUFNQyxPQUFPQyxPQUFPO3dCQUNwQkMsV0FBVyxJQUFJLENBQUNWLEtBQUssQ0FBQ0ssTUFBTSxDQUFDTSxTQUFTLEdBQUcsR0FBRyxJQUFJLENBQUNYLEtBQUssQ0FBQ0ssTUFBTSxDQUFDMUIsVUFBVSxDQUFDLEdBQUcsRUFBRSxJQUFJLENBQUNxQixLQUFLLENBQUNLLE1BQU0sQ0FBQ00sU0FBUyxDQUFDQyxpQkFBaUIsQ0FBQyxHQUFHLEVBQUUsSUFBSSxDQUFDWixLQUFLLENBQUNLLE1BQU0sQ0FBQ00sU0FBUyxDQUFDRSxXQUFXLEVBQUUsR0FBRyxJQUFJLENBQUNiLEtBQUssQ0FBQ0ssTUFBTSxDQUFDMUIsVUFBVTtvQkFDN00sR0FBRyxXQUFXLEdBQUd4QixnREFBbUIsQ0FBQzhCLE1BQU0sSUFBSSxDQUFDcUIsS0FBSztvQkFDckQsSUFBSSxDQUFDekIsS0FBS25CLFVBQVUsSUFBSSxDQUFDUCw2Q0FBZ0IsRUFBRTt3QkFDdkMsT0FBTytDO29CQUNYLE9BQU87d0JBQ0gsT0FBTyxXQUFXLEdBQUcvQyxnREFBbUIsQ0FBQ0EsNkNBQWdCLEVBQUUsTUFBTStDO29CQUNyRTtnQkFDSjtZQUNKO1lBQ0EsWUFBWUksS0FBSyxDQUFDO2dCQUNkLEtBQUssQ0FBQ0E7Z0JBQ04sSUFBSSxDQUFDTixLQUFLLEdBQUc7b0JBQ1RILGFBQWE7b0JBQ2JDLGlCQUFpQjtvQkFDakJPLFFBQVE7d0JBQ0oxQixZQUFZRSxLQUFLRixVQUFVO3dCQUMzQkQsYUFBYUcsS0FBS0gsV0FBVzt3QkFDN0JpQyxXQUFXTCxNQUFNUyxpQkFBaUI7b0JBQ3RDO2dCQUNKO1lBQ0o7UUFDSixHQUFHckUsaUJBQWlCeUMsd0JBQXdCLGVBQWUsQ0FBQyxzQkFBc0IsRUFBRU4sS0FBS0gsV0FBVyxDQUFDLENBQUMsQ0FBQyxHQUFHUztJQUM5RztBQUNKIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLXJlYWN0LXV0aWxzL2Rpc3Qvb3Blbm1yc0NvbXBvbmVudERlY29yYXRvci5qcz83YjE4Il0sInNvdXJjZXNDb250ZW50IjpbImZ1bmN0aW9uIF9kZWZpbmVfcHJvcGVydHkob2JqLCBrZXksIHZhbHVlKSB7XG4gICAgaWYgKGtleSBpbiBvYmopIHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KG9iaiwga2V5LCB7XG4gICAgICAgICAgICB2YWx1ZTogdmFsdWUsXG4gICAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgICAgd3JpdGFibGU6IHRydWVcbiAgICAgICAgfSk7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgb2JqW2tleV0gPSB2YWx1ZTtcbiAgICB9XG4gICAgcmV0dXJuIG9iajtcbn1cbmltcG9ydCBSZWFjdCwgeyBTdXNwZW5zZSB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IHsgSTE4bmV4dFByb3ZpZGVyIH0gZnJvbSBcInJlYWN0LWkxOG5leHRcIjtcbmltcG9ydCB7IFNXUkNvbmZpZyB9IGZyb20gXCJzd3JcIjtcbmltcG9ydCB7IG9wZW5tcnNGZXRjaCB9IGZyb20gXCJAb3Blbm1ycy9lc20tYXBpXCI7XG5pbXBvcnQgeyBDb21wb25lbnRDb250ZXh0IH0gZnJvbSBcIi4vQ29tcG9uZW50Q29udGV4dC5qc1wiO1xuY29uc3QgZGVmYXVsdE9wdHMgPSB7XG4gICAgc3RyaWN0TW9kZTogdHJ1ZSxcbiAgICB0aHJvd0Vycm9yc1RvQ29uc29sZTogdHJ1ZSxcbiAgICBkaXNhYmxlVHJhbnNsYXRpb25zOiBmYWxzZVxufTtcbmNvbnN0IHN3ckNhY2hlID0gbmV3IE1hcCgpO1xuLy8gUmVhZCBtb3JlIGFib3V0IHRoZSBhdmFpbGFibGUgY29uZmlnIG9wdGlvbnMgaGVyZTogaHR0cHM6Ly9zd3IudmVyY2VsLmFwcC9kb2NzL2FwaSNjb25maWd1cmF0aW9uXG5jb25zdCBkZWZhdWx0U3dyQ29uZmlnID0ge1xuICAgIC8vIG1heCBudW1iZXIgb2YgcmV0cmllcyBhZnRlciByZXF1ZXN0cyBoYXZlIGZhaWxlZFxuICAgIGVycm9yUmV0cnlDb3VudDogMyxcbiAgICAvLyBkZWZhdWx0IGZldGNoZXIgZnVuY3Rpb25cbiAgICBmZXRjaGVyOiBvcGVubXJzRmV0Y2gsXG4gICAgLy8gb25seSByZXZhbGlkYXRlIG9uY2UgZXZlcnkgMzAgbWludXRlc1xuICAgIGZvY3VzVGhyb3R0bGVJbnRlcnZhbDogMTgwMDAwMCxcbiAgICByZXZhbGlkYXRlSWZTdGFsZTogdHJ1ZSxcbiAgICAvLyBkaXNhYmxlIGF1dG9tYXRpYyByZXZhbGlkYXRpb25zIGJ5IGRlZmF1bHRcbiAgICByZXZhbGlkYXRlT25Gb2N1czogZmFsc2UsXG4gICAgcmV2YWxpZGF0ZU9uUmVjb25uZWN0OiBmYWxzZSxcbiAgICByZWZyZXNoSW50ZXJ2YWw6IDAsXG4gICAgcHJvdmlkZXI6ICgpPT5zd3JDYWNoZVxufTtcbmV4cG9ydCBmdW5jdGlvbiBvcGVubXJzQ29tcG9uZW50RGVjb3JhdG9yKHVzZXJPcHRzKSB7XG4gICAgaWYgKHR5cGVvZiB1c2VyT3B0cyAhPT0gJ29iamVjdCcgfHwgdHlwZW9mIHVzZXJPcHRzLmZlYXR1cmVOYW1lICE9PSAnc3RyaW5nJyB8fCB0eXBlb2YgdXNlck9wdHMubW9kdWxlTmFtZSAhPT0gJ3N0cmluZycpIHtcbiAgICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIG9wdGlvbnMnKTtcbiAgICB9XG4gICAgY29uc3Qgb3B0cyA9IE9iamVjdC5hc3NpZ24oe30sIGRlZmF1bHRPcHRzLCB1c2VyT3B0cyk7XG4gICAgY29uc3Qgc3dyQ29uZmlnID0ge1xuICAgICAgICAuLi5kZWZhdWx0U3dyQ29uZmlnLFxuICAgICAgICAuLi5vcHRzLnN3ckNvbmZpZ1xuICAgIH07XG4gICAgcmV0dXJuIGZ1bmN0aW9uIGRlY29yYXRlQ29tcG9uZW50KENvbXApIHtcbiAgICAgICAgdmFyIF9SZWFjdF9Db21wb25lbnQsIF9PcGVubXJzUmVhY3RDb21wb25lbnQ7XG4gICAgICAgIHJldHVybiBfT3Blbm1yc1JlYWN0Q29tcG9uZW50ID0gY2xhc3MgT3Blbm1yc1JlYWN0Q29tcG9uZW50IGV4dGVuZHMgKF9SZWFjdF9Db21wb25lbnQgPSBSZWFjdC5Db21wb25lbnQpIHtcbiAgICAgICAgICAgIGNvbXBvbmVudERpZENhdGNoKGVyciwgaW5mbykge1xuICAgICAgICAgICAgICAgIGlmIChpbmZvICYmIGluZm8uY29tcG9uZW50U3RhY2spIHtcbiAgICAgICAgICAgICAgICAgICAgZXJyLmV4dHJhID0gT2JqZWN0LmFzc2lnbihlcnIuZXh0cmEgfHwge30sIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbXBvbmVudFN0YWNrOiBpbmZvLmNvbXBvbmVudFN0YWNrXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICBpZiAob3B0cy50aHJvd0Vycm9yc1RvQ29uc29sZSkge1xuICAgICAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpPT57XG4gICAgICAgICAgICAgICAgICAgICAgICB0aHJvdyBlcnI7XG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB0aGlzLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICAgICAgY2F1Z2h0RXJyb3I6IGVycixcbiAgICAgICAgICAgICAgICAgICAgY2F1Z2h0RXJyb3JJbmZvOiBpbmZvXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICByZW5kZXIoKSB7XG4gICAgICAgICAgICAgICAgaWYgKHRoaXMuc3RhdGUuY2F1Z2h0RXJyb3IpIHtcbiAgICAgICAgICAgICAgICAgICAgLy8gVE8tRE8gaGF2ZSBhIFVYIGRlc2lnbmVkIGZvciB3aGVuIGEgY2F0YXN0cm9waGljIGVycm9yIG9jY3Vyc1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gLyojX19QVVJFX18qLyBSZWFjdC5jcmVhdGVFbGVtZW50KFwiZGl2XCIsIG51bGwsIFwiQW4gZXJyb3IgaGFzIG9jY3VycmVkLiBQbGVhc2UgdHJ5IHJlbG9hZGluZyB0aGUgcGFnZS5cIik7XG4gICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgY29udGVudCA9IC8qI19fUFVSRV9fKi8gUmVhY3QuY3JlYXRlRWxlbWVudChTdXNwZW5zZSwge1xuICAgICAgICAgICAgICAgICAgICAgICAgZmFsbGJhY2s6IG51bGxcbiAgICAgICAgICAgICAgICAgICAgfSwgLyojX19QVVJFX18qLyBSZWFjdC5jcmVhdGVFbGVtZW50KFNXUkNvbmZpZywge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHN3ckNvbmZpZ1xuICAgICAgICAgICAgICAgICAgICB9LCAvKiNfX1BVUkVfXyovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoQ29tcG9uZW50Q29udGV4dC5Qcm92aWRlciwge1xuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU6IHRoaXMuc3RhdGUuY29uZmlnXG4gICAgICAgICAgICAgICAgICAgIH0sIG9wdHMuZGlzYWJsZVRyYW5zbGF0aW9ucyA/IC8qI19fUFVSRV9fKi8gUmVhY3QuY3JlYXRlRWxlbWVudChDb21wLCB0aGlzLnByb3BzKSA6IC8qI19fUFVSRV9fKi8gUmVhY3QuY3JlYXRlRWxlbWVudChJMThuZXh0UHJvdmlkZXIsIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGkxOG46IHdpbmRvdy5pMThuZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgZGVmYXVsdE5TOiB0aGlzLnN0YXRlLmNvbmZpZy5leHRlbnNpb24gPyBgJHt0aGlzLnN0YXRlLmNvbmZpZy5tb2R1bGVOYW1lfV9fXyR7dGhpcy5zdGF0ZS5jb25maWcuZXh0ZW5zaW9uLmV4dGVuc2lvblNsb3ROYW1lfV9fXyR7dGhpcy5zdGF0ZS5jb25maWcuZXh0ZW5zaW9uLmV4dGVuc2lvbklkfWAgOiB0aGlzLnN0YXRlLmNvbmZpZy5tb2R1bGVOYW1lXG4gICAgICAgICAgICAgICAgICAgIH0sIC8qI19fUFVSRV9fKi8gUmVhY3QuY3JlYXRlRWxlbWVudChDb21wLCB0aGlzLnByb3BzKSkpKSk7XG4gICAgICAgICAgICAgICAgICAgIGlmICghb3B0cy5zdHJpY3RNb2RlIHx8ICFSZWFjdC5TdHJpY3RNb2RlKSB7XG4gICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gY29udGVudDtcbiAgICAgICAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiAvKiNfX1BVUkVfXyovIFJlYWN0LmNyZWF0ZUVsZW1lbnQoUmVhY3QuU3RyaWN0TW9kZSwgbnVsbCwgY29udGVudCk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBjb25zdHJ1Y3Rvcihwcm9wcyl7XG4gICAgICAgICAgICAgICAgc3VwZXIocHJvcHMpO1xuICAgICAgICAgICAgICAgIHRoaXMuc3RhdGUgPSB7XG4gICAgICAgICAgICAgICAgICAgIGNhdWdodEVycm9yOiBudWxsLFxuICAgICAgICAgICAgICAgICAgICBjYXVnaHRFcnJvckluZm86IG51bGwsXG4gICAgICAgICAgICAgICAgICAgIGNvbmZpZzoge1xuICAgICAgICAgICAgICAgICAgICAgICAgbW9kdWxlTmFtZTogb3B0cy5tb2R1bGVOYW1lLFxuICAgICAgICAgICAgICAgICAgICAgICAgZmVhdHVyZU5hbWU6IG9wdHMuZmVhdHVyZU5hbWUsXG4gICAgICAgICAgICAgICAgICAgICAgICBleHRlbnNpb246IHByb3BzLl9leHRlbnNpb25Db250ZXh0XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfVxuICAgICAgICB9LCBfZGVmaW5lX3Byb3BlcnR5KF9PcGVubXJzUmVhY3RDb21wb25lbnQsIFwiZGlzcGxheU5hbWVcIiwgYE9wZW5tcnNSZWFjdENvbXBvbmVudCgke29wdHMuZmVhdHVyZU5hbWV9KWApLCBfT3Blbm1yc1JlYWN0Q29tcG9uZW50O1xuICAgIH07XG59XG4iXSwibmFtZXMiOlsiX2RlZmluZV9wcm9wZXJ0eSIsIm9iaiIsImtleSIsInZhbHVlIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJlbnVtZXJhYmxlIiwiY29uZmlndXJhYmxlIiwid3JpdGFibGUiLCJSZWFjdCIsIlN1c3BlbnNlIiwiSTE4bmV4dFByb3ZpZGVyIiwiU1dSQ29uZmlnIiwib3Blbm1yc0ZldGNoIiwiQ29tcG9uZW50Q29udGV4dCIsImRlZmF1bHRPcHRzIiwic3RyaWN0TW9kZSIsInRocm93RXJyb3JzVG9Db25zb2xlIiwiZGlzYWJsZVRyYW5zbGF0aW9ucyIsInN3ckNhY2hlIiwiTWFwIiwiZGVmYXVsdFN3ckNvbmZpZyIsImVycm9yUmV0cnlDb3VudCIsImZldGNoZXIiLCJmb2N1c1Rocm90dGxlSW50ZXJ2YWwiLCJyZXZhbGlkYXRlSWZTdGFsZSIsInJldmFsaWRhdGVPbkZvY3VzIiwicmV2YWxpZGF0ZU9uUmVjb25uZWN0IiwicmVmcmVzaEludGVydmFsIiwicHJvdmlkZXIiLCJvcGVubXJzQ29tcG9uZW50RGVjb3JhdG9yIiwidXNlck9wdHMiLCJmZWF0dXJlTmFtZSIsIm1vZHVsZU5hbWUiLCJFcnJvciIsIm9wdHMiLCJhc3NpZ24iLCJzd3JDb25maWciLCJkZWNvcmF0ZUNvbXBvbmVudCIsIkNvbXAiLCJfUmVhY3RfQ29tcG9uZW50IiwiX09wZW5tcnNSZWFjdENvbXBvbmVudCIsIk9wZW5tcnNSZWFjdENvbXBvbmVudCIsIkNvbXBvbmVudCIsImNvbXBvbmVudERpZENhdGNoIiwiZXJyIiwiaW5mbyIsImNvbXBvbmVudFN0YWNrIiwiZXh0cmEiLCJzZXRUaW1lb3V0Iiwic2V0U3RhdGUiLCJjYXVnaHRFcnJvciIsImNhdWdodEVycm9ySW5mbyIsInJlbmRlciIsInN0YXRlIiwiY3JlYXRlRWxlbWVudCIsImNvbnRlbnQiLCJmYWxsYmFjayIsIlByb3ZpZGVyIiwiY29uZmlnIiwicHJvcHMiLCJpMThuIiwid2luZG93IiwiaTE4bmV4dCIsImRlZmF1bHROUyIsImV4dGVuc2lvbiIsImV4dGVuc2lvblNsb3ROYW1lIiwiZXh0ZW5zaW9uSWQiLCJTdHJpY3RNb2RlIiwiX2V4dGVuc2lvbkNvbnRleHQiXSwic291cmNlUm9vdCI6IiJ9\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/dist/openmrsComponentDecorator.js\n");
939
939
 
940
940
  /***/ }),
941
941
 
@@ -1325,7 +1325,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1325
1325
  \********************************************************/
1326
1326
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1327
1327
 
1328
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useVisit: () => (/* binding */ useVisit)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! swr */ \"../../../node_modules/swr/dist/core/index.mjs\");\n/* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dayjs */ \"webpack/sharing/consume/default/dayjs/dayjs\");\n/* harmony import */ var dayjs_plugin_isToday_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dayjs/plugin/isToday.js */ \"../../../node_modules/dayjs/plugin/isToday.js\");\n/* harmony import */ var _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @openmrs/esm-api */ \"../../framework/esm-api/dist/index.js\");\n/* harmony import */ var _openmrs_esm_emr_api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @openmrs/esm-emr-api */ \"../../framework/esm-emr-api/dist/index.js\");\n/* harmony import */ var _useVisitContextStore_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./useVisitContextStore.js */ \"../../framework/esm-react-utils/dist/useVisitContextStore.js\");\n/** @module @category API */ \n\n\n\n\n\n\ndayjs__WEBPACK_IMPORTED_MODULE_2__.extend(dayjs_plugin_isToday_js__WEBPACK_IMPORTED_MODULE_3__);\n/**\n * This React hook returns visit information if the patient UUID is not null. There are\n * potentially two relevant visits at a time: \"active\" and \"current\".\n *\n * The active visit is the most recent visit without an end date. The presence of an active\n * visit generally means that the patient is in the facility.\n *\n * The current visit is the active visit, unless a retrospective visit has been selected.\n * If there is no active visit and no selected retrospective visit, then there is no\n * current visit. If there is no active visit but there is a retrospective visit, then\n * the retrospective visit is the current visit. `currentVisitIsRetrospective` tells you\n * whether the current visit is a retrospective visit.\n *\n * The active visit and current visit require two separate API calls. `error` contains\n * the error from either one, if there is an error. `isValidating` is true if either\n * API call is in progress. `mutate` refreshes the data from both API calls.\n *\n * @param patientUuid Unique patient identifier `string`\n * @param representation The custom representation of the visit\n */ function useVisit(patientUuid, representation = _openmrs_esm_emr_api__WEBPACK_IMPORTED_MODULE_5__.defaultVisitCustomRepresentation) {\n const { patientUuid: visitStorePatientUuid, manuallySetVisitUuid, setVisitContext } = (0,_useVisitContextStore_js__WEBPACK_IMPORTED_MODULE_6__.useVisitContextStore)();\n // Ignore the visit store data if it is not for this patient\n const retrospectiveVisitUuid = patientUuid && visitStorePatientUuid == patientUuid ? manuallySetVisitUuid : null;\n const activeVisitUrlSuffix = `?patient=${patientUuid}&v=${representation}&includeInactive=false`;\n const retrospectiveVisitUrlSuffix = `/${retrospectiveVisitUuid}?v=${representation}`;\n const { data: activeData, error: activeError, mutate: activeMutate, isValidating: activeIsValidating } = (0,swr__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(patientUuid ? `${_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_4__.restBaseUrl}/visit${activeVisitUrlSuffix}` : null, _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_4__.openmrsFetch);\n const { data: retroData, error: retroError, mutate: retroMutate, isValidating: retroIsValidating } = (0,swr__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(patientUuid && retrospectiveVisitUuid ? `${_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_4__.restBaseUrl}/visit${retrospectiveVisitUrlSuffix}` : null, _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_4__.openmrsFetch);\n const activeVisit = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>activeData?.data.results.find((visit)=>visit.stopDatetime === null) ?? null, [\n activeData\n ]);\n const currentVisit = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>retrospectiveVisitUuid && retroData ? retroData.data : null, [\n retroData,\n retrospectiveVisitUuid\n ]);\n const previousCurrentVisit = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n // if an active visit is created and either there is no visit in context or we've switched to a different patient, set the context to the active visit\n if (!activeIsValidating && activeVisit && (visitStorePatientUuid != patientUuid || manuallySetVisitUuid == null)) {\n setVisitContext(activeVisit);\n }\n if (!retroIsValidating) {\n // if the current visit happened to be active but it just got ended (inactive), remove the\n // visit from context\n if (previousCurrentVisit.current && currentVisit && previousCurrentVisit.current.uuid === currentVisit.uuid && !previousCurrentVisit.current.stopDatetime && currentVisit.stopDatetime) {\n setVisitContext(null);\n }\n previousCurrentVisit.current = currentVisit;\n }\n }, [\n currentVisit,\n manuallySetVisitUuid,\n activeVisit,\n activeIsValidating,\n retroIsValidating,\n visitStorePatientUuid\n ]);\n const mutateVisit = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>{\n activeMutate();\n retroMutate();\n }, [\n activeMutate,\n retroMutate\n ]);\n (0,_useVisitContextStore_js__WEBPACK_IMPORTED_MODULE_6__.useVisitContextStore)(mutateVisit);\n return {\n error: activeError || retroError,\n mutate: mutateVisit,\n isValidating: activeIsValidating || retroIsValidating,\n activeVisit,\n currentVisit,\n currentVisitIsRetrospective: Boolean(retrospectiveVisitUuid),\n isLoading: Boolean((!activeData || retrospectiveVisitUuid && !retroData) && (!activeError || !retroError))\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9kaXN0L3VzZVZpc2l0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsMEJBQTBCLEdBQW1FO0FBQ3BFO0FBQ0M7QUFDb0I7QUFDZTtBQUNXO0FBQ1A7QUFDakVLLHlDQUFZLENBQUNDLG9EQUFPQTtBQUNwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQW1CQyxHQUFVLFNBQVNNLFNBQVNDLFdBQVcsRUFBRUMsaUJBQWlCTCxrRkFBZ0M7SUFDdkYsTUFBTSxFQUFFSSxhQUFhRSxxQkFBcUIsRUFBRUMsb0JBQW9CLEVBQUVDLGVBQWUsRUFBRSxHQUFHUCw4RUFBb0JBO0lBQzFHLDREQUE0RDtJQUM1RCxNQUFNUSx5QkFBeUJMLGVBQWVFLHlCQUF5QkYsY0FBY0csdUJBQXVCO0lBQzVHLE1BQU1HLHVCQUF1QixDQUFDLFNBQVMsRUFBRU4sWUFBWSxHQUFHLEVBQUVDLGVBQWUsc0JBQXNCLENBQUM7SUFDaEcsTUFBTU0sOEJBQThCLENBQUMsQ0FBQyxFQUFFRix1QkFBdUIsR0FBRyxFQUFFSixnQkFBZ0I7SUFDcEYsTUFBTSxFQUFFTyxNQUFNQyxVQUFVLEVBQUVDLE9BQU9DLFdBQVcsRUFBRUMsUUFBUUMsWUFBWSxFQUFFQyxjQUFjQyxrQkFBa0IsRUFBRSxHQUFHeEIsK0NBQU1BLENBQUNTLGNBQWMsR0FBR0wseURBQVdBLENBQUMsTUFBTSxFQUFFVyxzQkFBc0IsR0FBRyxNQUFNWiwwREFBWUE7SUFDaE0sTUFBTSxFQUFFYyxNQUFNUSxTQUFTLEVBQUVOLE9BQU9PLFVBQVUsRUFBRUwsUUFBUU0sV0FBVyxFQUFFSixjQUFjSyxpQkFBaUIsRUFBRSxHQUFHNUIsK0NBQU1BLENBQUNTLGVBQWVLLHlCQUF5QixHQUFHVix5REFBV0EsQ0FBQyxNQUFNLEVBQUVZLDZCQUE2QixHQUFHLE1BQU1iLDBEQUFZQTtJQUM3TixNQUFNMEIsY0FBYy9CLDhDQUFPQSxDQUFDLElBQUlvQixZQUFZRCxLQUFLYSxRQUFRQyxLQUFLLENBQUNDLFFBQVFBLE1BQU1DLFlBQVksS0FBSyxTQUFTLE1BQU07UUFDekdmO0tBQ0g7SUFDRCxNQUFNZ0IsZUFBZXBDLDhDQUFPQSxDQUFDLElBQUlnQiwwQkFBMEJXLFlBQVlBLFVBQVVSLElBQUksR0FBRyxNQUFNO1FBQzFGUTtRQUNBWDtLQUNIO0lBQ0QsTUFBTXFCLHVCQUF1QnBDLDZDQUFNQSxDQUFDO0lBQ3BDRixnREFBU0EsQ0FBQztRQUNOLHNKQUFzSjtRQUN0SixJQUFJLENBQUMyQixzQkFBc0JLLGVBQWdCbEIsQ0FBQUEseUJBQXlCRixlQUFlRyx3QkFBd0IsSUFBRyxHQUFJO1lBQzlHQyxnQkFBZ0JnQjtRQUNwQjtRQUNBLElBQUksQ0FBQ0QsbUJBQW1CO1lBQ3BCLDBGQUEwRjtZQUMxRixxQkFBcUI7WUFDckIsSUFBSU8scUJBQXFCQyxPQUFPLElBQUlGLGdCQUFnQkMscUJBQXFCQyxPQUFPLENBQUNDLElBQUksS0FBS0gsYUFBYUcsSUFBSSxJQUFJLENBQUNGLHFCQUFxQkMsT0FBTyxDQUFDSCxZQUFZLElBQUlDLGFBQWFELFlBQVksRUFBRTtnQkFDcExwQixnQkFBZ0I7WUFDcEI7WUFDQXNCLHFCQUFxQkMsT0FBTyxHQUFHRjtRQUNuQztJQUNKLEdBQUc7UUFDQ0E7UUFDQXRCO1FBQ0FpQjtRQUNBTDtRQUNBSTtRQUNBakI7S0FDSDtJQUNELE1BQU0yQixjQUFjMUMsa0RBQVdBLENBQUM7UUFDNUIwQjtRQUNBSztJQUNKLEdBQUc7UUFDQ0w7UUFDQUs7S0FDSDtJQUNEckIsOEVBQW9CQSxDQUFDZ0M7SUFDckIsT0FBTztRQUNIbkIsT0FBT0MsZUFBZU07UUFDdEJMLFFBQVFpQjtRQUNSZixjQUFjQyxzQkFBc0JJO1FBQ3BDQztRQUNBSztRQUNBSyw2QkFBNkJDLFFBQVExQjtRQUNyQzJCLFdBQVdELFFBQVEsQ0FBQyxDQUFDdEIsY0FBY0osMEJBQTBCLENBQUNXLFNBQVEsS0FBTyxFQUFDTCxlQUFlLENBQUNNLFVBQVM7SUFDM0c7QUFDSiIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9kaXN0L3VzZVZpc2l0LmpzPzQ4NjYiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBtb2R1bGUgQGNhdGVnb3J5IEFQSSAqLyBpbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB1c2VTV1IgZnJvbSBcInN3clwiO1xuaW1wb3J0IGRheWpzIGZyb20gXCJkYXlqc1wiO1xuaW1wb3J0IGlzVG9kYXkgZnJvbSBcImRheWpzL3BsdWdpbi9pc1RvZGF5LmpzXCI7XG5pbXBvcnQgeyBvcGVubXJzRmV0Y2gsIHJlc3RCYXNlVXJsIH0gZnJvbSBcIkBvcGVubXJzL2VzbS1hcGlcIjtcbmltcG9ydCB7IGRlZmF1bHRWaXNpdEN1c3RvbVJlcHJlc2VudGF0aW9uIH0gZnJvbSBcIkBvcGVubXJzL2VzbS1lbXItYXBpXCI7XG5pbXBvcnQgeyB1c2VWaXNpdENvbnRleHRTdG9yZSB9IGZyb20gXCIuL3VzZVZpc2l0Q29udGV4dFN0b3JlLmpzXCI7XG5kYXlqcy5leHRlbmQoaXNUb2RheSk7XG4vKipcbiAqIFRoaXMgUmVhY3QgaG9vayByZXR1cm5zIHZpc2l0IGluZm9ybWF0aW9uIGlmIHRoZSBwYXRpZW50IFVVSUQgaXMgbm90IG51bGwuIFRoZXJlIGFyZVxuICogcG90ZW50aWFsbHkgdHdvIHJlbGV2YW50IHZpc2l0cyBhdCBhIHRpbWU6IFwiYWN0aXZlXCIgYW5kIFwiY3VycmVudFwiLlxuICpcbiAqIFRoZSBhY3RpdmUgdmlzaXQgaXMgdGhlIG1vc3QgcmVjZW50IHZpc2l0IHdpdGhvdXQgYW4gZW5kIGRhdGUuIFRoZSBwcmVzZW5jZSBvZiBhbiBhY3RpdmVcbiAqIHZpc2l0IGdlbmVyYWxseSBtZWFucyB0aGF0IHRoZSBwYXRpZW50IGlzIGluIHRoZSBmYWNpbGl0eS5cbiAqXG4gKiBUaGUgY3VycmVudCB2aXNpdCBpcyB0aGUgYWN0aXZlIHZpc2l0LCB1bmxlc3MgYSByZXRyb3NwZWN0aXZlIHZpc2l0IGhhcyBiZWVuIHNlbGVjdGVkLlxuICogSWYgdGhlcmUgaXMgbm8gYWN0aXZlIHZpc2l0IGFuZCBubyBzZWxlY3RlZCByZXRyb3NwZWN0aXZlIHZpc2l0LCB0aGVuIHRoZXJlIGlzIG5vXG4gKiBjdXJyZW50IHZpc2l0LiBJZiB0aGVyZSBpcyBubyBhY3RpdmUgdmlzaXQgYnV0IHRoZXJlIGlzIGEgcmV0cm9zcGVjdGl2ZSB2aXNpdCwgdGhlblxuICogdGhlIHJldHJvc3BlY3RpdmUgdmlzaXQgaXMgdGhlIGN1cnJlbnQgdmlzaXQuIGBjdXJyZW50VmlzaXRJc1JldHJvc3BlY3RpdmVgIHRlbGxzIHlvdVxuICogd2hldGhlciB0aGUgY3VycmVudCB2aXNpdCBpcyBhIHJldHJvc3BlY3RpdmUgdmlzaXQuXG4gKlxuICogVGhlIGFjdGl2ZSB2aXNpdCBhbmQgY3VycmVudCB2aXNpdCByZXF1aXJlIHR3byBzZXBhcmF0ZSBBUEkgY2FsbHMuIGBlcnJvcmAgY29udGFpbnNcbiAqIHRoZSBlcnJvciBmcm9tIGVpdGhlciBvbmUsIGlmIHRoZXJlIGlzIGFuIGVycm9yLiBgaXNWYWxpZGF0aW5nYCBpcyB0cnVlIGlmIGVpdGhlclxuICogQVBJIGNhbGwgaXMgaW4gcHJvZ3Jlc3MuIGBtdXRhdGVgIHJlZnJlc2hlcyB0aGUgZGF0YSBmcm9tIGJvdGggQVBJIGNhbGxzLlxuICpcbiAqIEBwYXJhbSBwYXRpZW50VXVpZCBVbmlxdWUgcGF0aWVudCBpZGVudGlmaWVyIGBzdHJpbmdgXG4gKiBAcGFyYW0gcmVwcmVzZW50YXRpb24gVGhlIGN1c3RvbSByZXByZXNlbnRhdGlvbiBvZiB0aGUgdmlzaXRcbiAqLyBleHBvcnQgZnVuY3Rpb24gdXNlVmlzaXQocGF0aWVudFV1aWQsIHJlcHJlc2VudGF0aW9uID0gZGVmYXVsdFZpc2l0Q3VzdG9tUmVwcmVzZW50YXRpb24pIHtcbiAgICBjb25zdCB7IHBhdGllbnRVdWlkOiB2aXNpdFN0b3JlUGF0aWVudFV1aWQsIG1hbnVhbGx5U2V0VmlzaXRVdWlkLCBzZXRWaXNpdENvbnRleHQgfSA9IHVzZVZpc2l0Q29udGV4dFN0b3JlKCk7XG4gICAgLy8gSWdub3JlIHRoZSB2aXNpdCBzdG9yZSBkYXRhIGlmIGl0IGlzIG5vdCBmb3IgdGhpcyBwYXRpZW50XG4gICAgY29uc3QgcmV0cm9zcGVjdGl2ZVZpc2l0VXVpZCA9IHBhdGllbnRVdWlkICYmIHZpc2l0U3RvcmVQYXRpZW50VXVpZCA9PSBwYXRpZW50VXVpZCA/IG1hbnVhbGx5U2V0VmlzaXRVdWlkIDogbnVsbDtcbiAgICBjb25zdCBhY3RpdmVWaXNpdFVybFN1ZmZpeCA9IGA/cGF0aWVudD0ke3BhdGllbnRVdWlkfSZ2PSR7cmVwcmVzZW50YXRpb259JmluY2x1ZGVJbmFjdGl2ZT1mYWxzZWA7XG4gICAgY29uc3QgcmV0cm9zcGVjdGl2ZVZpc2l0VXJsU3VmZml4ID0gYC8ke3JldHJvc3BlY3RpdmVWaXNpdFV1aWR9P3Y9JHtyZXByZXNlbnRhdGlvbn1gO1xuICAgIGNvbnN0IHsgZGF0YTogYWN0aXZlRGF0YSwgZXJyb3I6IGFjdGl2ZUVycm9yLCBtdXRhdGU6IGFjdGl2ZU11dGF0ZSwgaXNWYWxpZGF0aW5nOiBhY3RpdmVJc1ZhbGlkYXRpbmcgfSA9IHVzZVNXUihwYXRpZW50VXVpZCA/IGAke3Jlc3RCYXNlVXJsfS92aXNpdCR7YWN0aXZlVmlzaXRVcmxTdWZmaXh9YCA6IG51bGwsIG9wZW5tcnNGZXRjaCk7XG4gICAgY29uc3QgeyBkYXRhOiByZXRyb0RhdGEsIGVycm9yOiByZXRyb0Vycm9yLCBtdXRhdGU6IHJldHJvTXV0YXRlLCBpc1ZhbGlkYXRpbmc6IHJldHJvSXNWYWxpZGF0aW5nIH0gPSB1c2VTV1IocGF0aWVudFV1aWQgJiYgcmV0cm9zcGVjdGl2ZVZpc2l0VXVpZCA/IGAke3Jlc3RCYXNlVXJsfS92aXNpdCR7cmV0cm9zcGVjdGl2ZVZpc2l0VXJsU3VmZml4fWAgOiBudWxsLCBvcGVubXJzRmV0Y2gpO1xuICAgIGNvbnN0IGFjdGl2ZVZpc2l0ID0gdXNlTWVtbygoKT0+YWN0aXZlRGF0YT8uZGF0YS5yZXN1bHRzLmZpbmQoKHZpc2l0KT0+dmlzaXQuc3RvcERhdGV0aW1lID09PSBudWxsKSA/PyBudWxsLCBbXG4gICAgICAgIGFjdGl2ZURhdGFcbiAgICBdKTtcbiAgICBjb25zdCBjdXJyZW50VmlzaXQgPSB1c2VNZW1vKCgpPT5yZXRyb3NwZWN0aXZlVmlzaXRVdWlkICYmIHJldHJvRGF0YSA/IHJldHJvRGF0YS5kYXRhIDogbnVsbCwgW1xuICAgICAgICByZXRyb0RhdGEsXG4gICAgICAgIHJldHJvc3BlY3RpdmVWaXNpdFV1aWRcbiAgICBdKTtcbiAgICBjb25zdCBwcmV2aW91c0N1cnJlbnRWaXNpdCA9IHVzZVJlZihudWxsKTtcbiAgICB1c2VFZmZlY3QoKCk9PntcbiAgICAgICAgLy8gaWYgYW4gYWN0aXZlIHZpc2l0IGlzIGNyZWF0ZWQgYW5kIGVpdGhlciB0aGVyZSBpcyBubyB2aXNpdCBpbiBjb250ZXh0IG9yIHdlJ3ZlIHN3aXRjaGVkIHRvIGEgZGlmZmVyZW50IHBhdGllbnQsIHNldCB0aGUgY29udGV4dCB0byB0aGUgYWN0aXZlIHZpc2l0XG4gICAgICAgIGlmICghYWN0aXZlSXNWYWxpZGF0aW5nICYmIGFjdGl2ZVZpc2l0ICYmICh2aXNpdFN0b3JlUGF0aWVudFV1aWQgIT0gcGF0aWVudFV1aWQgfHwgbWFudWFsbHlTZXRWaXNpdFV1aWQgPT0gbnVsbCkpIHtcbiAgICAgICAgICAgIHNldFZpc2l0Q29udGV4dChhY3RpdmVWaXNpdCk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKCFyZXRyb0lzVmFsaWRhdGluZykge1xuICAgICAgICAgICAgLy8gaWYgdGhlIGN1cnJlbnQgdmlzaXQgaGFwcGVuZWQgdG8gYmUgYWN0aXZlIGJ1dCBpdCBqdXN0IGdvdCBlbmRlZCAoaW5hY3RpdmUpLCByZW1vdmUgdGhlXG4gICAgICAgICAgICAvLyB2aXNpdCBmcm9tIGNvbnRleHRcbiAgICAgICAgICAgIGlmIChwcmV2aW91c0N1cnJlbnRWaXNpdC5jdXJyZW50ICYmIGN1cnJlbnRWaXNpdCAmJiBwcmV2aW91c0N1cnJlbnRWaXNpdC5jdXJyZW50LnV1aWQgPT09IGN1cnJlbnRWaXNpdC51dWlkICYmICFwcmV2aW91c0N1cnJlbnRWaXNpdC5jdXJyZW50LnN0b3BEYXRldGltZSAmJiBjdXJyZW50VmlzaXQuc3RvcERhdGV0aW1lKSB7XG4gICAgICAgICAgICAgICAgc2V0VmlzaXRDb250ZXh0KG51bGwpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcHJldmlvdXNDdXJyZW50VmlzaXQuY3VycmVudCA9IGN1cnJlbnRWaXNpdDtcbiAgICAgICAgfVxuICAgIH0sIFtcbiAgICAgICAgY3VycmVudFZpc2l0LFxuICAgICAgICBtYW51YWxseVNldFZpc2l0VXVpZCxcbiAgICAgICAgYWN0aXZlVmlzaXQsXG4gICAgICAgIGFjdGl2ZUlzVmFsaWRhdGluZyxcbiAgICAgICAgcmV0cm9Jc1ZhbGlkYXRpbmcsXG4gICAgICAgIHZpc2l0U3RvcmVQYXRpZW50VXVpZFxuICAgIF0pO1xuICAgIGNvbnN0IG11dGF0ZVZpc2l0ID0gdXNlQ2FsbGJhY2soKCk9PntcbiAgICAgICAgYWN0aXZlTXV0YXRlKCk7XG4gICAgICAgIHJldHJvTXV0YXRlKCk7XG4gICAgfSwgW1xuICAgICAgICBhY3RpdmVNdXRhdGUsXG4gICAgICAgIHJldHJvTXV0YXRlXG4gICAgXSk7XG4gICAgdXNlVmlzaXRDb250ZXh0U3RvcmUobXV0YXRlVmlzaXQpO1xuICAgIHJldHVybiB7XG4gICAgICAgIGVycm9yOiBhY3RpdmVFcnJvciB8fCByZXRyb0Vycm9yLFxuICAgICAgICBtdXRhdGU6IG11dGF0ZVZpc2l0LFxuICAgICAgICBpc1ZhbGlkYXRpbmc6IGFjdGl2ZUlzVmFsaWRhdGluZyB8fCByZXRyb0lzVmFsaWRhdGluZyxcbiAgICAgICAgYWN0aXZlVmlzaXQsXG4gICAgICAgIGN1cnJlbnRWaXNpdCxcbiAgICAgICAgY3VycmVudFZpc2l0SXNSZXRyb3NwZWN0aXZlOiBCb29sZWFuKHJldHJvc3BlY3RpdmVWaXNpdFV1aWQpLFxuICAgICAgICBpc0xvYWRpbmc6IEJvb2xlYW4oKCFhY3RpdmVEYXRhIHx8IHJldHJvc3BlY3RpdmVWaXNpdFV1aWQgJiYgIXJldHJvRGF0YSkgJiYgKCFhY3RpdmVFcnJvciB8fCAhcmV0cm9FcnJvcikpXG4gICAgfTtcbn1cbiJdLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VSZWYiLCJ1c2VTV1IiLCJkYXlqcyIsImlzVG9kYXkiLCJvcGVubXJzRmV0Y2giLCJyZXN0QmFzZVVybCIsImRlZmF1bHRWaXNpdEN1c3RvbVJlcHJlc2VudGF0aW9uIiwidXNlVmlzaXRDb250ZXh0U3RvcmUiLCJleHRlbmQiLCJ1c2VWaXNpdCIsInBhdGllbnRVdWlkIiwicmVwcmVzZW50YXRpb24iLCJ2aXNpdFN0b3JlUGF0aWVudFV1aWQiLCJtYW51YWxseVNldFZpc2l0VXVpZCIsInNldFZpc2l0Q29udGV4dCIsInJldHJvc3BlY3RpdmVWaXNpdFV1aWQiLCJhY3RpdmVWaXNpdFVybFN1ZmZpeCIsInJldHJvc3BlY3RpdmVWaXNpdFVybFN1ZmZpeCIsImRhdGEiLCJhY3RpdmVEYXRhIiwiZXJyb3IiLCJhY3RpdmVFcnJvciIsIm11dGF0ZSIsImFjdGl2ZU11dGF0ZSIsImlzVmFsaWRhdGluZyIsImFjdGl2ZUlzVmFsaWRhdGluZyIsInJldHJvRGF0YSIsInJldHJvRXJyb3IiLCJyZXRyb011dGF0ZSIsInJldHJvSXNWYWxpZGF0aW5nIiwiYWN0aXZlVmlzaXQiLCJyZXN1bHRzIiwiZmluZCIsInZpc2l0Iiwic3RvcERhdGV0aW1lIiwiY3VycmVudFZpc2l0IiwicHJldmlvdXNDdXJyZW50VmlzaXQiLCJjdXJyZW50IiwidXVpZCIsIm11dGF0ZVZpc2l0IiwiY3VycmVudFZpc2l0SXNSZXRyb3NwZWN0aXZlIiwiQm9vbGVhbiIsImlzTG9hZGluZyJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/dist/useVisit.js\n");
1328
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useVisit: () => (/* binding */ useVisit)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var swr__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! swr */ \"../../../node_modules/swr/dist/core/index.mjs\");\n/* harmony import */ var dayjs__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! dayjs */ \"webpack/sharing/consume/default/dayjs/dayjs\");\n/* harmony import */ var dayjs_plugin_isToday_js__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! dayjs/plugin/isToday.js */ \"../../../node_modules/dayjs/plugin/isToday.js\");\n/* harmony import */ var _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! @openmrs/esm-api */ \"../../framework/esm-api/dist/index.js\");\n/* harmony import */ var _openmrs_esm_emr_api__WEBPACK_IMPORTED_MODULE_5__ = __webpack_require__(/*! @openmrs/esm-emr-api */ \"../../framework/esm-emr-api/dist/index.js\");\n/* harmony import */ var _useVisitContextStore_js__WEBPACK_IMPORTED_MODULE_6__ = __webpack_require__(/*! ./useVisitContextStore.js */ \"../../framework/esm-react-utils/dist/useVisitContextStore.js\");\n/** @module @category API */ \n\n\n\n\n\n\ndayjs__WEBPACK_IMPORTED_MODULE_2__.extend(dayjs_plugin_isToday_js__WEBPACK_IMPORTED_MODULE_3__);\n/**\n * This React hook returns visit information if the patient UUID is not null. There are\n * potentially two relevant visits at a time: \"active\" and \"current\".\n *\n * The active visit is the most recent visit without an end date. The presence of an active\n * visit generally means that the patient is in the facility.\n *\n * The current visit is the active visit, unless a retrospective visit has been selected.\n * If there is no active visit and no selected retrospective visit, then there is no\n * current visit. If there is no active visit but there is a retrospective visit, then\n * the retrospective visit is the current visit. `currentVisitIsRetrospective` tells you\n * whether the current visit is a retrospective visit.\n *\n * The active visit and current visit require two separate API calls. `error` contains\n * the error from either one, if there is an error. `isValidating` is true if either\n * API call is in progress. `mutate` refreshes the data from both API calls.\n *\n * @param patientUuid Unique patient identifier `string`\n * @param representation The custom representation of the visit\n */ function useVisit(patientUuid, representation = _openmrs_esm_emr_api__WEBPACK_IMPORTED_MODULE_5__.defaultVisitCustomRepresentation) {\n const { patientUuid: visitStorePatientUuid, manuallySetVisitUuid, setVisitContext } = (0,_useVisitContextStore_js__WEBPACK_IMPORTED_MODULE_6__.useVisitContextStore)();\n // Ignore the visit store data if it is not for this patient\n const retrospectiveVisitUuid = patientUuid && visitStorePatientUuid == patientUuid ? manuallySetVisitUuid : null;\n const activeVisitUrlSuffix = `?patient=${patientUuid}&v=${representation}&includeInactive=false`;\n const retrospectiveVisitUrlSuffix = `/${retrospectiveVisitUuid}?v=${representation}`;\n const { data: activeData, error: activeError, mutate: activeMutate, isValidating: activeIsValidating } = (0,swr__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(patientUuid ? `${_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_4__.restBaseUrl}/visit${activeVisitUrlSuffix}` : null, _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_4__.openmrsFetch);\n const { data: retroData, error: retroError, mutate: retroMutate, isValidating: retroIsValidating } = (0,swr__WEBPACK_IMPORTED_MODULE_1__[\"default\"])(patientUuid && retrospectiveVisitUuid ? `${_openmrs_esm_api__WEBPACK_IMPORTED_MODULE_4__.restBaseUrl}/visit${retrospectiveVisitUrlSuffix}` : null, _openmrs_esm_api__WEBPACK_IMPORTED_MODULE_4__.openmrsFetch);\n const activeVisit = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>activeData?.data.results.find((visit)=>visit.stopDatetime === null) ?? null, [\n activeData\n ]);\n const currentVisit = (0,react__WEBPACK_IMPORTED_MODULE_0__.useMemo)(()=>retrospectiveVisitUuid && retroData ? retroData.data : null, [\n retroData,\n retrospectiveVisitUuid\n ]);\n const previousCurrentVisit = (0,react__WEBPACK_IMPORTED_MODULE_0__.useRef)(null);\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n // if an active visit is created for the visit store patient and they have no visit in context, set the context to the active visit\n if (!activeIsValidating && activeVisit && visitStorePatientUuid === patientUuid && manuallySetVisitUuid === null) {\n setVisitContext(activeVisit);\n }\n if (!retroIsValidating) {\n // if the current visit happened to be active but it just got ended (inactive), remove the\n // visit from context\n if (previousCurrentVisit.current && currentVisit && previousCurrentVisit.current.uuid === currentVisit.uuid && !previousCurrentVisit.current.stopDatetime && currentVisit.stopDatetime) {\n setVisitContext(null);\n }\n previousCurrentVisit.current = currentVisit;\n }\n }, [\n currentVisit,\n manuallySetVisitUuid,\n activeVisit,\n activeIsValidating,\n retroIsValidating,\n visitStorePatientUuid\n ]);\n const mutateVisit = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(()=>{\n activeMutate();\n retroMutate();\n }, [\n activeMutate,\n retroMutate\n ]);\n (0,_useVisitContextStore_js__WEBPACK_IMPORTED_MODULE_6__.useVisitContextStore)(mutateVisit);\n return {\n error: activeError || retroError,\n mutate: mutateVisit,\n isValidating: activeIsValidating || retroIsValidating,\n activeVisit,\n currentVisit,\n currentVisitIsRetrospective: Boolean(retrospectiveVisitUuid),\n isLoading: Boolean((!activeData || retrospectiveVisitUuid && !retroData) && (!activeError || !retroError))\n };\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9kaXN0L3VzZVZpc2l0LmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUEsMEJBQTBCLEdBQW1FO0FBQ3BFO0FBQ0M7QUFDb0I7QUFDZTtBQUNXO0FBQ1A7QUFDakVLLHlDQUFZLENBQUNDLG9EQUFPQTtBQUNwQjs7Ozs7Ozs7Ozs7Ozs7Ozs7OztDQW1CQyxHQUFVLFNBQVNNLFNBQVNDLFdBQVcsRUFBRUMsaUJBQWlCTCxrRkFBZ0M7SUFDdkYsTUFBTSxFQUFFSSxhQUFhRSxxQkFBcUIsRUFBRUMsb0JBQW9CLEVBQUVDLGVBQWUsRUFBRSxHQUFHUCw4RUFBb0JBO0lBQzFHLDREQUE0RDtJQUM1RCxNQUFNUSx5QkFBeUJMLGVBQWVFLHlCQUF5QkYsY0FBY0csdUJBQXVCO0lBQzVHLE1BQU1HLHVCQUF1QixDQUFDLFNBQVMsRUFBRU4sWUFBWSxHQUFHLEVBQUVDLGVBQWUsc0JBQXNCLENBQUM7SUFDaEcsTUFBTU0sOEJBQThCLENBQUMsQ0FBQyxFQUFFRix1QkFBdUIsR0FBRyxFQUFFSixnQkFBZ0I7SUFDcEYsTUFBTSxFQUFFTyxNQUFNQyxVQUFVLEVBQUVDLE9BQU9DLFdBQVcsRUFBRUMsUUFBUUMsWUFBWSxFQUFFQyxjQUFjQyxrQkFBa0IsRUFBRSxHQUFHeEIsK0NBQU1BLENBQUNTLGNBQWMsR0FBR0wseURBQVdBLENBQUMsTUFBTSxFQUFFVyxzQkFBc0IsR0FBRyxNQUFNWiwwREFBWUE7SUFDaE0sTUFBTSxFQUFFYyxNQUFNUSxTQUFTLEVBQUVOLE9BQU9PLFVBQVUsRUFBRUwsUUFBUU0sV0FBVyxFQUFFSixjQUFjSyxpQkFBaUIsRUFBRSxHQUFHNUIsK0NBQU1BLENBQUNTLGVBQWVLLHlCQUF5QixHQUFHVix5REFBV0EsQ0FBQyxNQUFNLEVBQUVZLDZCQUE2QixHQUFHLE1BQU1iLDBEQUFZQTtJQUM3TixNQUFNMEIsY0FBYy9CLDhDQUFPQSxDQUFDLElBQUlvQixZQUFZRCxLQUFLYSxRQUFRQyxLQUFLLENBQUNDLFFBQVFBLE1BQU1DLFlBQVksS0FBSyxTQUFTLE1BQU07UUFDekdmO0tBQ0g7SUFDRCxNQUFNZ0IsZUFBZXBDLDhDQUFPQSxDQUFDLElBQUlnQiwwQkFBMEJXLFlBQVlBLFVBQVVSLElBQUksR0FBRyxNQUFNO1FBQzFGUTtRQUNBWDtLQUNIO0lBQ0QsTUFBTXFCLHVCQUF1QnBDLDZDQUFNQSxDQUFDO0lBQ3BDRixnREFBU0EsQ0FBQztRQUNOLG1JQUFtSTtRQUNuSSxJQUFJLENBQUMyQixzQkFBc0JLLGVBQWVsQiwwQkFBMEJGLGVBQWVHLHlCQUF5QixNQUFNO1lBQzlHQyxnQkFBZ0JnQjtRQUNwQjtRQUNBLElBQUksQ0FBQ0QsbUJBQW1CO1lBQ3BCLDBGQUEwRjtZQUMxRixxQkFBcUI7WUFDckIsSUFBSU8scUJBQXFCQyxPQUFPLElBQUlGLGdCQUFnQkMscUJBQXFCQyxPQUFPLENBQUNDLElBQUksS0FBS0gsYUFBYUcsSUFBSSxJQUFJLENBQUNGLHFCQUFxQkMsT0FBTyxDQUFDSCxZQUFZLElBQUlDLGFBQWFELFlBQVksRUFBRTtnQkFDcExwQixnQkFBZ0I7WUFDcEI7WUFDQXNCLHFCQUFxQkMsT0FBTyxHQUFHRjtRQUNuQztJQUNKLEdBQUc7UUFDQ0E7UUFDQXRCO1FBQ0FpQjtRQUNBTDtRQUNBSTtRQUNBakI7S0FDSDtJQUNELE1BQU0yQixjQUFjMUMsa0RBQVdBLENBQUM7UUFDNUIwQjtRQUNBSztJQUNKLEdBQUc7UUFDQ0w7UUFDQUs7S0FDSDtJQUNEckIsOEVBQW9CQSxDQUFDZ0M7SUFDckIsT0FBTztRQUNIbkIsT0FBT0MsZUFBZU07UUFDdEJMLFFBQVFpQjtRQUNSZixjQUFjQyxzQkFBc0JJO1FBQ3BDQztRQUNBSztRQUNBSyw2QkFBNkJDLFFBQVExQjtRQUNyQzJCLFdBQVdELFFBQVEsQ0FBQyxDQUFDdEIsY0FBY0osMEJBQTBCLENBQUNXLFNBQVEsS0FBTyxFQUFDTCxlQUFlLENBQUNNLFVBQVM7SUFDM0c7QUFDSiIsInNvdXJjZXMiOlsid2VicGFjazovL0BvcGVubXJzL2VzbS1hcHAtc2hlbGwvLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9kaXN0L3VzZVZpc2l0LmpzPzQ4NjYiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqIEBtb2R1bGUgQGNhdGVnb3J5IEFQSSAqLyBpbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB1c2VTV1IgZnJvbSBcInN3clwiO1xuaW1wb3J0IGRheWpzIGZyb20gXCJkYXlqc1wiO1xuaW1wb3J0IGlzVG9kYXkgZnJvbSBcImRheWpzL3BsdWdpbi9pc1RvZGF5LmpzXCI7XG5pbXBvcnQgeyBvcGVubXJzRmV0Y2gsIHJlc3RCYXNlVXJsIH0gZnJvbSBcIkBvcGVubXJzL2VzbS1hcGlcIjtcbmltcG9ydCB7IGRlZmF1bHRWaXNpdEN1c3RvbVJlcHJlc2VudGF0aW9uIH0gZnJvbSBcIkBvcGVubXJzL2VzbS1lbXItYXBpXCI7XG5pbXBvcnQgeyB1c2VWaXNpdENvbnRleHRTdG9yZSB9IGZyb20gXCIuL3VzZVZpc2l0Q29udGV4dFN0b3JlLmpzXCI7XG5kYXlqcy5leHRlbmQoaXNUb2RheSk7XG4vKipcbiAqIFRoaXMgUmVhY3QgaG9vayByZXR1cm5zIHZpc2l0IGluZm9ybWF0aW9uIGlmIHRoZSBwYXRpZW50IFVVSUQgaXMgbm90IG51bGwuIFRoZXJlIGFyZVxuICogcG90ZW50aWFsbHkgdHdvIHJlbGV2YW50IHZpc2l0cyBhdCBhIHRpbWU6IFwiYWN0aXZlXCIgYW5kIFwiY3VycmVudFwiLlxuICpcbiAqIFRoZSBhY3RpdmUgdmlzaXQgaXMgdGhlIG1vc3QgcmVjZW50IHZpc2l0IHdpdGhvdXQgYW4gZW5kIGRhdGUuIFRoZSBwcmVzZW5jZSBvZiBhbiBhY3RpdmVcbiAqIHZpc2l0IGdlbmVyYWxseSBtZWFucyB0aGF0IHRoZSBwYXRpZW50IGlzIGluIHRoZSBmYWNpbGl0eS5cbiAqXG4gKiBUaGUgY3VycmVudCB2aXNpdCBpcyB0aGUgYWN0aXZlIHZpc2l0LCB1bmxlc3MgYSByZXRyb3NwZWN0aXZlIHZpc2l0IGhhcyBiZWVuIHNlbGVjdGVkLlxuICogSWYgdGhlcmUgaXMgbm8gYWN0aXZlIHZpc2l0IGFuZCBubyBzZWxlY3RlZCByZXRyb3NwZWN0aXZlIHZpc2l0LCB0aGVuIHRoZXJlIGlzIG5vXG4gKiBjdXJyZW50IHZpc2l0LiBJZiB0aGVyZSBpcyBubyBhY3RpdmUgdmlzaXQgYnV0IHRoZXJlIGlzIGEgcmV0cm9zcGVjdGl2ZSB2aXNpdCwgdGhlblxuICogdGhlIHJldHJvc3BlY3RpdmUgdmlzaXQgaXMgdGhlIGN1cnJlbnQgdmlzaXQuIGBjdXJyZW50VmlzaXRJc1JldHJvc3BlY3RpdmVgIHRlbGxzIHlvdVxuICogd2hldGhlciB0aGUgY3VycmVudCB2aXNpdCBpcyBhIHJldHJvc3BlY3RpdmUgdmlzaXQuXG4gKlxuICogVGhlIGFjdGl2ZSB2aXNpdCBhbmQgY3VycmVudCB2aXNpdCByZXF1aXJlIHR3byBzZXBhcmF0ZSBBUEkgY2FsbHMuIGBlcnJvcmAgY29udGFpbnNcbiAqIHRoZSBlcnJvciBmcm9tIGVpdGhlciBvbmUsIGlmIHRoZXJlIGlzIGFuIGVycm9yLiBgaXNWYWxpZGF0aW5nYCBpcyB0cnVlIGlmIGVpdGhlclxuICogQVBJIGNhbGwgaXMgaW4gcHJvZ3Jlc3MuIGBtdXRhdGVgIHJlZnJlc2hlcyB0aGUgZGF0YSBmcm9tIGJvdGggQVBJIGNhbGxzLlxuICpcbiAqIEBwYXJhbSBwYXRpZW50VXVpZCBVbmlxdWUgcGF0aWVudCBpZGVudGlmaWVyIGBzdHJpbmdgXG4gKiBAcGFyYW0gcmVwcmVzZW50YXRpb24gVGhlIGN1c3RvbSByZXByZXNlbnRhdGlvbiBvZiB0aGUgdmlzaXRcbiAqLyBleHBvcnQgZnVuY3Rpb24gdXNlVmlzaXQocGF0aWVudFV1aWQsIHJlcHJlc2VudGF0aW9uID0gZGVmYXVsdFZpc2l0Q3VzdG9tUmVwcmVzZW50YXRpb24pIHtcbiAgICBjb25zdCB7IHBhdGllbnRVdWlkOiB2aXNpdFN0b3JlUGF0aWVudFV1aWQsIG1hbnVhbGx5U2V0VmlzaXRVdWlkLCBzZXRWaXNpdENvbnRleHQgfSA9IHVzZVZpc2l0Q29udGV4dFN0b3JlKCk7XG4gICAgLy8gSWdub3JlIHRoZSB2aXNpdCBzdG9yZSBkYXRhIGlmIGl0IGlzIG5vdCBmb3IgdGhpcyBwYXRpZW50XG4gICAgY29uc3QgcmV0cm9zcGVjdGl2ZVZpc2l0VXVpZCA9IHBhdGllbnRVdWlkICYmIHZpc2l0U3RvcmVQYXRpZW50VXVpZCA9PSBwYXRpZW50VXVpZCA/IG1hbnVhbGx5U2V0VmlzaXRVdWlkIDogbnVsbDtcbiAgICBjb25zdCBhY3RpdmVWaXNpdFVybFN1ZmZpeCA9IGA/cGF0aWVudD0ke3BhdGllbnRVdWlkfSZ2PSR7cmVwcmVzZW50YXRpb259JmluY2x1ZGVJbmFjdGl2ZT1mYWxzZWA7XG4gICAgY29uc3QgcmV0cm9zcGVjdGl2ZVZpc2l0VXJsU3VmZml4ID0gYC8ke3JldHJvc3BlY3RpdmVWaXNpdFV1aWR9P3Y9JHtyZXByZXNlbnRhdGlvbn1gO1xuICAgIGNvbnN0IHsgZGF0YTogYWN0aXZlRGF0YSwgZXJyb3I6IGFjdGl2ZUVycm9yLCBtdXRhdGU6IGFjdGl2ZU11dGF0ZSwgaXNWYWxpZGF0aW5nOiBhY3RpdmVJc1ZhbGlkYXRpbmcgfSA9IHVzZVNXUihwYXRpZW50VXVpZCA/IGAke3Jlc3RCYXNlVXJsfS92aXNpdCR7YWN0aXZlVmlzaXRVcmxTdWZmaXh9YCA6IG51bGwsIG9wZW5tcnNGZXRjaCk7XG4gICAgY29uc3QgeyBkYXRhOiByZXRyb0RhdGEsIGVycm9yOiByZXRyb0Vycm9yLCBtdXRhdGU6IHJldHJvTXV0YXRlLCBpc1ZhbGlkYXRpbmc6IHJldHJvSXNWYWxpZGF0aW5nIH0gPSB1c2VTV1IocGF0aWVudFV1aWQgJiYgcmV0cm9zcGVjdGl2ZVZpc2l0VXVpZCA/IGAke3Jlc3RCYXNlVXJsfS92aXNpdCR7cmV0cm9zcGVjdGl2ZVZpc2l0VXJsU3VmZml4fWAgOiBudWxsLCBvcGVubXJzRmV0Y2gpO1xuICAgIGNvbnN0IGFjdGl2ZVZpc2l0ID0gdXNlTWVtbygoKT0+YWN0aXZlRGF0YT8uZGF0YS5yZXN1bHRzLmZpbmQoKHZpc2l0KT0+dmlzaXQuc3RvcERhdGV0aW1lID09PSBudWxsKSA/PyBudWxsLCBbXG4gICAgICAgIGFjdGl2ZURhdGFcbiAgICBdKTtcbiAgICBjb25zdCBjdXJyZW50VmlzaXQgPSB1c2VNZW1vKCgpPT5yZXRyb3NwZWN0aXZlVmlzaXRVdWlkICYmIHJldHJvRGF0YSA/IHJldHJvRGF0YS5kYXRhIDogbnVsbCwgW1xuICAgICAgICByZXRyb0RhdGEsXG4gICAgICAgIHJldHJvc3BlY3RpdmVWaXNpdFV1aWRcbiAgICBdKTtcbiAgICBjb25zdCBwcmV2aW91c0N1cnJlbnRWaXNpdCA9IHVzZVJlZihudWxsKTtcbiAgICB1c2VFZmZlY3QoKCk9PntcbiAgICAgICAgLy8gaWYgYW4gYWN0aXZlIHZpc2l0IGlzIGNyZWF0ZWQgZm9yIHRoZSB2aXNpdCBzdG9yZSBwYXRpZW50IGFuZCB0aGV5IGhhdmUgbm8gdmlzaXQgaW4gY29udGV4dCwgc2V0IHRoZSBjb250ZXh0IHRvIHRoZSBhY3RpdmUgdmlzaXRcbiAgICAgICAgaWYgKCFhY3RpdmVJc1ZhbGlkYXRpbmcgJiYgYWN0aXZlVmlzaXQgJiYgdmlzaXRTdG9yZVBhdGllbnRVdWlkID09PSBwYXRpZW50VXVpZCAmJiBtYW51YWxseVNldFZpc2l0VXVpZCA9PT0gbnVsbCkge1xuICAgICAgICAgICAgc2V0VmlzaXRDb250ZXh0KGFjdGl2ZVZpc2l0KTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoIXJldHJvSXNWYWxpZGF0aW5nKSB7XG4gICAgICAgICAgICAvLyBpZiB0aGUgY3VycmVudCB2aXNpdCBoYXBwZW5lZCB0byBiZSBhY3RpdmUgYnV0IGl0IGp1c3QgZ290IGVuZGVkIChpbmFjdGl2ZSksIHJlbW92ZSB0aGVcbiAgICAgICAgICAgIC8vIHZpc2l0IGZyb20gY29udGV4dFxuICAgICAgICAgICAgaWYgKHByZXZpb3VzQ3VycmVudFZpc2l0LmN1cnJlbnQgJiYgY3VycmVudFZpc2l0ICYmIHByZXZpb3VzQ3VycmVudFZpc2l0LmN1cnJlbnQudXVpZCA9PT0gY3VycmVudFZpc2l0LnV1aWQgJiYgIXByZXZpb3VzQ3VycmVudFZpc2l0LmN1cnJlbnQuc3RvcERhdGV0aW1lICYmIGN1cnJlbnRWaXNpdC5zdG9wRGF0ZXRpbWUpIHtcbiAgICAgICAgICAgICAgICBzZXRWaXNpdENvbnRleHQobnVsbCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwcmV2aW91c0N1cnJlbnRWaXNpdC5jdXJyZW50ID0gY3VycmVudFZpc2l0O1xuICAgICAgICB9XG4gICAgfSwgW1xuICAgICAgICBjdXJyZW50VmlzaXQsXG4gICAgICAgIG1hbnVhbGx5U2V0VmlzaXRVdWlkLFxuICAgICAgICBhY3RpdmVWaXNpdCxcbiAgICAgICAgYWN0aXZlSXNWYWxpZGF0aW5nLFxuICAgICAgICByZXRyb0lzVmFsaWRhdGluZyxcbiAgICAgICAgdmlzaXRTdG9yZVBhdGllbnRVdWlkXG4gICAgXSk7XG4gICAgY29uc3QgbXV0YXRlVmlzaXQgPSB1c2VDYWxsYmFjaygoKT0+e1xuICAgICAgICBhY3RpdmVNdXRhdGUoKTtcbiAgICAgICAgcmV0cm9NdXRhdGUoKTtcbiAgICB9LCBbXG4gICAgICAgIGFjdGl2ZU11dGF0ZSxcbiAgICAgICAgcmV0cm9NdXRhdGVcbiAgICBdKTtcbiAgICB1c2VWaXNpdENvbnRleHRTdG9yZShtdXRhdGVWaXNpdCk7XG4gICAgcmV0dXJuIHtcbiAgICAgICAgZXJyb3I6IGFjdGl2ZUVycm9yIHx8IHJldHJvRXJyb3IsXG4gICAgICAgIG11dGF0ZTogbXV0YXRlVmlzaXQsXG4gICAgICAgIGlzVmFsaWRhdGluZzogYWN0aXZlSXNWYWxpZGF0aW5nIHx8IHJldHJvSXNWYWxpZGF0aW5nLFxuICAgICAgICBhY3RpdmVWaXNpdCxcbiAgICAgICAgY3VycmVudFZpc2l0LFxuICAgICAgICBjdXJyZW50VmlzaXRJc1JldHJvc3BlY3RpdmU6IEJvb2xlYW4ocmV0cm9zcGVjdGl2ZVZpc2l0VXVpZCksXG4gICAgICAgIGlzTG9hZGluZzogQm9vbGVhbigoIWFjdGl2ZURhdGEgfHwgcmV0cm9zcGVjdGl2ZVZpc2l0VXVpZCAmJiAhcmV0cm9EYXRhKSAmJiAoIWFjdGl2ZUVycm9yIHx8ICFyZXRyb0Vycm9yKSlcbiAgICB9O1xufVxuIl0sIm5hbWVzIjpbInVzZUNhbGxiYWNrIiwidXNlRWZmZWN0IiwidXNlTWVtbyIsInVzZVJlZiIsInVzZVNXUiIsImRheWpzIiwiaXNUb2RheSIsIm9wZW5tcnNGZXRjaCIsInJlc3RCYXNlVXJsIiwiZGVmYXVsdFZpc2l0Q3VzdG9tUmVwcmVzZW50YXRpb24iLCJ1c2VWaXNpdENvbnRleHRTdG9yZSIsImV4dGVuZCIsInVzZVZpc2l0IiwicGF0aWVudFV1aWQiLCJyZXByZXNlbnRhdGlvbiIsInZpc2l0U3RvcmVQYXRpZW50VXVpZCIsIm1hbnVhbGx5U2V0VmlzaXRVdWlkIiwic2V0VmlzaXRDb250ZXh0IiwicmV0cm9zcGVjdGl2ZVZpc2l0VXVpZCIsImFjdGl2ZVZpc2l0VXJsU3VmZml4IiwicmV0cm9zcGVjdGl2ZVZpc2l0VXJsU3VmZml4IiwiZGF0YSIsImFjdGl2ZURhdGEiLCJlcnJvciIsImFjdGl2ZUVycm9yIiwibXV0YXRlIiwiYWN0aXZlTXV0YXRlIiwiaXNWYWxpZGF0aW5nIiwiYWN0aXZlSXNWYWxpZGF0aW5nIiwicmV0cm9EYXRhIiwicmV0cm9FcnJvciIsInJldHJvTXV0YXRlIiwicmV0cm9Jc1ZhbGlkYXRpbmciLCJhY3RpdmVWaXNpdCIsInJlc3VsdHMiLCJmaW5kIiwidmlzaXQiLCJzdG9wRGF0ZXRpbWUiLCJjdXJyZW50VmlzaXQiLCJwcmV2aW91c0N1cnJlbnRWaXNpdCIsImN1cnJlbnQiLCJ1dWlkIiwibXV0YXRlVmlzaXQiLCJjdXJyZW50VmlzaXRJc1JldHJvc3BlY3RpdmUiLCJCb29sZWFuIiwiaXNMb2FkaW5nIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/dist/useVisit.js\n");
1329
1329
 
1330
1330
  /***/ }),
1331
1331
 
@@ -1335,7 +1335,7 @@ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpac
1335
1335
  \********************************************************************/
1336
1336
  /***/ ((__unused_webpack___webpack_module__, __webpack_exports__, __webpack_require__) => {
1337
1337
 
1338
- eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useVisitContextStore: () => (/* binding */ useVisitContextStore)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var _openmrs_esm_emr_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-emr-api */ \"../../framework/esm-emr-api/dist/index.js\");\n/* harmony import */ var _useStore_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./useStore.js */ \"../../framework/esm-react-utils/dist/useStore.js\");\n\n\n\n// TODO: add better typing with `satisfies` keyword when we upgrade typescript\nconst visitContextStoreActions = {\n setVisitContext (_, newSelectedVisit) {\n return {\n manuallySetVisitUuid: newSelectedVisit?.uuid ?? null,\n patientUuid: newSelectedVisit?.patient?.uuid ?? null\n };\n },\n mutateVisit (currState) {\n for (const mutateCallback of Object.values(currState.mutateVisitCallbacks ?? {})){\n mutateCallback();\n }\n return {};\n }\n};\n/**\n * A hook to return the visit context store and corresponding actions.\n * @param mutateVisitCallback An optional mutate callback to register. If provided, the\n * store action's `mutateVisit` function will invoke this callback (along with any other\n * callbacks also registered into the store)\n * @returns\n */ function useVisitContextStore(mutateVisitCallback) {\n const id = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)();\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n const visitStore = (0,_openmrs_esm_emr_api__WEBPACK_IMPORTED_MODULE_1__.getVisitStore)();\n // register the callback if it exists\n if (mutateVisitCallback) {\n visitStore.setState({\n mutateVisitCallbacks: {\n ...visitStore.getState().mutateVisitCallbacks,\n [id]: mutateVisitCallback\n }\n });\n }\n // deregister the callback on unmount, if it exists\n return ()=>{\n if (mutateVisitCallback) {\n const mutateVisitCallbacks = {\n ...visitStore.getState().mutateVisitCallbacks\n };\n delete mutateVisitCallbacks[id];\n visitStore.setState({\n mutateVisitCallbacks\n });\n }\n };\n }, [\n id,\n mutateVisitCallback\n ]);\n return (0,_useStore_js__WEBPACK_IMPORTED_MODULE_2__.useStoreWithActions)((0,_openmrs_esm_emr_api__WEBPACK_IMPORTED_MODULE_1__.getVisitStore)(), visitContextStoreActions);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9kaXN0L3VzZVZpc2l0Q29udGV4dFN0b3JlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBeUM7QUFDWTtBQUNEO0FBQ3BELDhFQUE4RTtBQUM5RSxNQUFNSSwyQkFBMkI7SUFDN0JDLGlCQUFpQkMsQ0FBQyxFQUFFQyxnQkFBZ0I7UUFDaEMsT0FBTztZQUNIQyxzQkFBc0JELGtCQUFrQkUsUUFBUTtZQUNoREMsYUFBYUgsa0JBQWtCSSxTQUFTRixRQUFRO1FBQ3BEO0lBQ0o7SUFDQUcsYUFBYUMsU0FBUztRQUNsQixLQUFLLE1BQU1DLGtCQUFrQkMsT0FBT0MsTUFBTSxDQUFDSCxVQUFVSSxvQkFBb0IsSUFBSSxDQUFDLEdBQUc7WUFDN0VIO1FBQ0o7UUFDQSxPQUFPLENBQUM7SUFDWjtBQUNKO0FBQ0E7Ozs7OztDQU1DLEdBQVUsU0FBU0kscUJBQXFCQyxtQkFBbUI7SUFDeEQsTUFBTUMsS0FBS25CLDRDQUFLQTtJQUNoQkQsZ0RBQVNBLENBQUM7UUFDTixNQUFNcUIsYUFBYW5CLG1FQUFhQTtRQUNoQyxxQ0FBcUM7UUFDckMsSUFBSWlCLHFCQUFxQjtZQUNyQkUsV0FBV0MsUUFBUSxDQUFDO2dCQUNoQkwsc0JBQXNCO29CQUNsQixHQUFHSSxXQUFXRSxRQUFRLEdBQUdOLG9CQUFvQjtvQkFDN0MsQ0FBQ0csR0FBRyxFQUFFRDtnQkFDVjtZQUNKO1FBQ0o7UUFDQSxtREFBbUQ7UUFDbkQsT0FBTztZQUNILElBQUlBLHFCQUFxQjtnQkFDckIsTUFBTUYsdUJBQXVCO29CQUN6QixHQUFHSSxXQUFXRSxRQUFRLEdBQUdOLG9CQUFvQjtnQkFDakQ7Z0JBQ0EsT0FBT0Esb0JBQW9CLENBQUNHLEdBQUc7Z0JBQy9CQyxXQUFXQyxRQUFRLENBQUM7b0JBQ2hCTDtnQkFDSjtZQUNKO1FBQ0o7SUFDSixHQUFHO1FBQ0NHO1FBQ0FEO0tBQ0g7SUFDRCxPQUFPaEIsaUVBQW1CQSxDQUFDRCxtRUFBYUEsSUFBSUU7QUFDaEQiLCJzb3VyY2VzIjpbIndlYnBhY2s6Ly9Ab3Blbm1ycy9lc20tYXBwLXNoZWxsLy4uLy4uL2ZyYW1ld29yay9lc20tcmVhY3QtdXRpbHMvZGlzdC91c2VWaXNpdENvbnRleHRTdG9yZS5qcz9jODEzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUVmZmVjdCwgdXNlSWQgfSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCB7IGdldFZpc2l0U3RvcmUgfSBmcm9tIFwiQG9wZW5tcnMvZXNtLWVtci1hcGlcIjtcbmltcG9ydCB7IHVzZVN0b3JlV2l0aEFjdGlvbnMgfSBmcm9tIFwiLi91c2VTdG9yZS5qc1wiO1xuLy8gVE9ETzogYWRkIGJldHRlciB0eXBpbmcgd2l0aCBgc2F0aXNmaWVzYCBrZXl3b3JkIHdoZW4gd2UgdXBncmFkZSB0eXBlc2NyaXB0XG5jb25zdCB2aXNpdENvbnRleHRTdG9yZUFjdGlvbnMgPSB7XG4gICAgc2V0VmlzaXRDb250ZXh0IChfLCBuZXdTZWxlY3RlZFZpc2l0KSB7XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgICBtYW51YWxseVNldFZpc2l0VXVpZDogbmV3U2VsZWN0ZWRWaXNpdD8udXVpZCA/PyBudWxsLFxuICAgICAgICAgICAgcGF0aWVudFV1aWQ6IG5ld1NlbGVjdGVkVmlzaXQ/LnBhdGllbnQ/LnV1aWQgPz8gbnVsbFxuICAgICAgICB9O1xuICAgIH0sXG4gICAgbXV0YXRlVmlzaXQgKGN1cnJTdGF0ZSkge1xuICAgICAgICBmb3IgKGNvbnN0IG11dGF0ZUNhbGxiYWNrIG9mIE9iamVjdC52YWx1ZXMoY3VyclN0YXRlLm11dGF0ZVZpc2l0Q2FsbGJhY2tzID8/IHt9KSl7XG4gICAgICAgICAgICBtdXRhdGVDYWxsYmFjaygpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB7fTtcbiAgICB9XG59O1xuLyoqXG4gKiBBIGhvb2sgdG8gcmV0dXJuIHRoZSB2aXNpdCBjb250ZXh0IHN0b3JlIGFuZCBjb3JyZXNwb25kaW5nIGFjdGlvbnMuXG4gKiBAcGFyYW0gbXV0YXRlVmlzaXRDYWxsYmFjayBBbiBvcHRpb25hbCBtdXRhdGUgY2FsbGJhY2sgdG8gcmVnaXN0ZXIuIElmIHByb3ZpZGVkLCB0aGVcbiAqIHN0b3JlIGFjdGlvbidzIGBtdXRhdGVWaXNpdGAgZnVuY3Rpb24gd2lsbCBpbnZva2UgdGhpcyBjYWxsYmFjayAoYWxvbmcgd2l0aCBhbnkgb3RoZXJcbiAqIGNhbGxiYWNrcyBhbHNvIHJlZ2lzdGVyZWQgaW50byB0aGUgc3RvcmUpXG4gKiBAcmV0dXJuc1xuICovIGV4cG9ydCBmdW5jdGlvbiB1c2VWaXNpdENvbnRleHRTdG9yZShtdXRhdGVWaXNpdENhbGxiYWNrKSB7XG4gICAgY29uc3QgaWQgPSB1c2VJZCgpO1xuICAgIHVzZUVmZmVjdCgoKT0+e1xuICAgICAgICBjb25zdCB2aXNpdFN0b3JlID0gZ2V0VmlzaXRTdG9yZSgpO1xuICAgICAgICAvLyByZWdpc3RlciB0aGUgY2FsbGJhY2sgaWYgaXQgZXhpc3RzXG4gICAgICAgIGlmIChtdXRhdGVWaXNpdENhbGxiYWNrKSB7XG4gICAgICAgICAgICB2aXNpdFN0b3JlLnNldFN0YXRlKHtcbiAgICAgICAgICAgICAgICBtdXRhdGVWaXNpdENhbGxiYWNrczoge1xuICAgICAgICAgICAgICAgICAgICAuLi52aXNpdFN0b3JlLmdldFN0YXRlKCkubXV0YXRlVmlzaXRDYWxsYmFja3MsXG4gICAgICAgICAgICAgICAgICAgIFtpZF06IG11dGF0ZVZpc2l0Q2FsbGJhY2tcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9KTtcbiAgICAgICAgfVxuICAgICAgICAvLyBkZXJlZ2lzdGVyIHRoZSBjYWxsYmFjayBvbiB1bm1vdW50LCBpZiBpdCBleGlzdHNcbiAgICAgICAgcmV0dXJuICgpPT57XG4gICAgICAgICAgICBpZiAobXV0YXRlVmlzaXRDYWxsYmFjaykge1xuICAgICAgICAgICAgICAgIGNvbnN0IG11dGF0ZVZpc2l0Q2FsbGJhY2tzID0ge1xuICAgICAgICAgICAgICAgICAgICAuLi52aXNpdFN0b3JlLmdldFN0YXRlKCkubXV0YXRlVmlzaXRDYWxsYmFja3NcbiAgICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgICAgIGRlbGV0ZSBtdXRhdGVWaXNpdENhbGxiYWNrc1tpZF07XG4gICAgICAgICAgICAgICAgdmlzaXRTdG9yZS5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgICAgICAgIG11dGF0ZVZpc2l0Q2FsbGJhY2tzXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9XG4gICAgICAgIH07XG4gICAgfSwgW1xuICAgICAgICBpZCxcbiAgICAgICAgbXV0YXRlVmlzaXRDYWxsYmFja1xuICAgIF0pO1xuICAgIHJldHVybiB1c2VTdG9yZVdpdGhBY3Rpb25zKGdldFZpc2l0U3RvcmUoKSwgdmlzaXRDb250ZXh0U3RvcmVBY3Rpb25zKTtcbn1cbiJdLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VJZCIsImdldFZpc2l0U3RvcmUiLCJ1c2VTdG9yZVdpdGhBY3Rpb25zIiwidmlzaXRDb250ZXh0U3RvcmVBY3Rpb25zIiwic2V0VmlzaXRDb250ZXh0IiwiXyIsIm5ld1NlbGVjdGVkVmlzaXQiLCJtYW51YWxseVNldFZpc2l0VXVpZCIsInV1aWQiLCJwYXRpZW50VXVpZCIsInBhdGllbnQiLCJtdXRhdGVWaXNpdCIsImN1cnJTdGF0ZSIsIm11dGF0ZUNhbGxiYWNrIiwiT2JqZWN0IiwidmFsdWVzIiwibXV0YXRlVmlzaXRDYWxsYmFja3MiLCJ1c2VWaXNpdENvbnRleHRTdG9yZSIsIm11dGF0ZVZpc2l0Q2FsbGJhY2siLCJpZCIsInZpc2l0U3RvcmUiLCJzZXRTdGF0ZSIsImdldFN0YXRlIl0sInNvdXJjZVJvb3QiOiIifQ==\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/dist/useVisitContextStore.js\n");
1338
+ eval("__webpack_require__.r(__webpack_exports__);\n/* harmony export */ __webpack_require__.d(__webpack_exports__, {\n/* harmony export */ useVisitContextStore: () => (/* binding */ useVisitContextStore)\n/* harmony export */ });\n/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ \"webpack/sharing/consume/default/react/react\");\n/* harmony import */ var _openmrs_esm_emr_api__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @openmrs/esm-emr-api */ \"../../framework/esm-emr-api/dist/index.js\");\n/* harmony import */ var _useStore_js__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./useStore.js */ \"../../framework/esm-react-utils/dist/useStore.js\");\n\n\n\nconst visitContextStoreActions = {\n setVisitContext (_, newSelectedVisit) {\n if (newSelectedVisit == null) {\n return {\n manuallySetVisitUuid: null\n };\n }\n return {\n manuallySetVisitUuid: newSelectedVisit.uuid,\n patientUuid: newSelectedVisit.patient?.uuid\n };\n },\n mutateVisit (currState) {\n for (const mutateCallback of Object.values(currState.mutateVisitCallbacks ?? {})){\n mutateCallback();\n }\n return {};\n }\n};\n/**\n * A hook to return the visit context store and corresponding actions.\n * @param mutateVisitCallback An optional mutate callback to register. If provided, the\n * store action's `mutateVisit` function will invoke this callback (along with any other\n * callbacks also registered into the store)\n * @returns\n */ function useVisitContextStore(mutateVisitCallback) {\n const id = (0,react__WEBPACK_IMPORTED_MODULE_0__.useId)();\n (0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(()=>{\n const visitStore = (0,_openmrs_esm_emr_api__WEBPACK_IMPORTED_MODULE_1__.getVisitStore)();\n // register the callback if it exists\n if (mutateVisitCallback) {\n visitStore.setState({\n mutateVisitCallbacks: {\n ...visitStore.getState().mutateVisitCallbacks,\n [id]: mutateVisitCallback\n }\n });\n }\n // deregister the callback on unmount, if it exists\n return ()=>{\n if (mutateVisitCallback) {\n const mutateVisitCallbacks = {\n ...visitStore.getState().mutateVisitCallbacks\n };\n delete mutateVisitCallbacks[id];\n visitStore.setState({\n mutateVisitCallbacks\n });\n }\n };\n }, [\n id,\n mutateVisitCallback\n ]);\n return (0,_useStore_js__WEBPACK_IMPORTED_MODULE_2__.useStoreWithActions)((0,_openmrs_esm_emr_api__WEBPACK_IMPORTED_MODULE_1__.getVisitStore)(), visitContextStoreActions);\n}\n//# sourceURL=[module]\n//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiLi4vLi4vZnJhbWV3b3JrL2VzbS1yZWFjdC11dGlscy9kaXN0L3VzZVZpc2l0Q29udGV4dFN0b3JlLmpzIiwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBeUM7QUFDWTtBQUNEO0FBQ3BELE1BQU1JLDJCQUEyQjtJQUM3QkMsaUJBQWlCQyxDQUFDLEVBQUVDLGdCQUFnQjtRQUNoQyxJQUFJQSxvQkFBb0IsTUFBTTtZQUMxQixPQUFPO2dCQUNIQyxzQkFBc0I7WUFDMUI7UUFDSjtRQUNBLE9BQU87WUFDSEEsc0JBQXNCRCxpQkFBaUJFLElBQUk7WUFDM0NDLGFBQWFILGlCQUFpQkksT0FBTyxFQUFFRjtRQUMzQztJQUNKO0lBQ0FHLGFBQWFDLFNBQVM7UUFDbEIsS0FBSyxNQUFNQyxrQkFBa0JDLE9BQU9DLE1BQU0sQ0FBQ0gsVUFBVUksb0JBQW9CLElBQUksQ0FBQyxHQUFHO1lBQzdFSDtRQUNKO1FBQ0EsT0FBTyxDQUFDO0lBQ1o7QUFDSjtBQUNBOzs7Ozs7Q0FNQyxHQUFVLFNBQVNJLHFCQUFxQkMsbUJBQW1CO0lBQ3hELE1BQU1DLEtBQUtuQiw0Q0FBS0E7SUFDaEJELGdEQUFTQSxDQUFDO1FBQ04sTUFBTXFCLGFBQWFuQixtRUFBYUE7UUFDaEMscUNBQXFDO1FBQ3JDLElBQUlpQixxQkFBcUI7WUFDckJFLFdBQVdDLFFBQVEsQ0FBQztnQkFDaEJMLHNCQUFzQjtvQkFDbEIsR0FBR0ksV0FBV0UsUUFBUSxHQUFHTixvQkFBb0I7b0JBQzdDLENBQUNHLEdBQUcsRUFBRUQ7Z0JBQ1Y7WUFDSjtRQUNKO1FBQ0EsbURBQW1EO1FBQ25ELE9BQU87WUFDSCxJQUFJQSxxQkFBcUI7Z0JBQ3JCLE1BQU1GLHVCQUF1QjtvQkFDekIsR0FBR0ksV0FBV0UsUUFBUSxHQUFHTixvQkFBb0I7Z0JBQ2pEO2dCQUNBLE9BQU9BLG9CQUFvQixDQUFDRyxHQUFHO2dCQUMvQkMsV0FBV0MsUUFBUSxDQUFDO29CQUNoQkw7Z0JBQ0o7WUFDSjtRQUNKO0lBQ0osR0FBRztRQUNDRztRQUNBRDtLQUNIO0lBQ0QsT0FBT2hCLGlFQUFtQkEsQ0FBQ0QsbUVBQWFBLElBQUlFO0FBQ2hEIiwic291cmNlcyI6WyJ3ZWJwYWNrOi8vQG9wZW5tcnMvZXNtLWFwcC1zaGVsbC8uLi8uLi9mcmFtZXdvcmsvZXNtLXJlYWN0LXV0aWxzL2Rpc3QvdXNlVmlzaXRDb250ZXh0U3RvcmUuanM/YzgxMyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VFZmZlY3QsIHVzZUlkIH0gZnJvbSBcInJlYWN0XCI7XG5pbXBvcnQgeyBnZXRWaXNpdFN0b3JlIH0gZnJvbSBcIkBvcGVubXJzL2VzbS1lbXItYXBpXCI7XG5pbXBvcnQgeyB1c2VTdG9yZVdpdGhBY3Rpb25zIH0gZnJvbSBcIi4vdXNlU3RvcmUuanNcIjtcbmNvbnN0IHZpc2l0Q29udGV4dFN0b3JlQWN0aW9ucyA9IHtcbiAgICBzZXRWaXNpdENvbnRleHQgKF8sIG5ld1NlbGVjdGVkVmlzaXQpIHtcbiAgICAgICAgaWYgKG5ld1NlbGVjdGVkVmlzaXQgPT0gbnVsbCkge1xuICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBtYW51YWxseVNldFZpc2l0VXVpZDogbnVsbFxuICAgICAgICAgICAgfTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgbWFudWFsbHlTZXRWaXNpdFV1aWQ6IG5ld1NlbGVjdGVkVmlzaXQudXVpZCxcbiAgICAgICAgICAgIHBhdGllbnRVdWlkOiBuZXdTZWxlY3RlZFZpc2l0LnBhdGllbnQ/LnV1aWRcbiAgICAgICAgfTtcbiAgICB9LFxuICAgIG11dGF0ZVZpc2l0IChjdXJyU3RhdGUpIHtcbiAgICAgICAgZm9yIChjb25zdCBtdXRhdGVDYWxsYmFjayBvZiBPYmplY3QudmFsdWVzKGN1cnJTdGF0ZS5tdXRhdGVWaXNpdENhbGxiYWNrcyA/PyB7fSkpe1xuICAgICAgICAgICAgbXV0YXRlQ2FsbGJhY2soKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4ge307XG4gICAgfVxufTtcbi8qKlxuICogQSBob29rIHRvIHJldHVybiB0aGUgdmlzaXQgY29udGV4dCBzdG9yZSBhbmQgY29ycmVzcG9uZGluZyBhY3Rpb25zLlxuICogQHBhcmFtIG11dGF0ZVZpc2l0Q2FsbGJhY2sgQW4gb3B0aW9uYWwgbXV0YXRlIGNhbGxiYWNrIHRvIHJlZ2lzdGVyLiBJZiBwcm92aWRlZCwgdGhlXG4gKiBzdG9yZSBhY3Rpb24ncyBgbXV0YXRlVmlzaXRgIGZ1bmN0aW9uIHdpbGwgaW52b2tlIHRoaXMgY2FsbGJhY2sgKGFsb25nIHdpdGggYW55IG90aGVyXG4gKiBjYWxsYmFja3MgYWxzbyByZWdpc3RlcmVkIGludG8gdGhlIHN0b3JlKVxuICogQHJldHVybnNcbiAqLyBleHBvcnQgZnVuY3Rpb24gdXNlVmlzaXRDb250ZXh0U3RvcmUobXV0YXRlVmlzaXRDYWxsYmFjaykge1xuICAgIGNvbnN0IGlkID0gdXNlSWQoKTtcbiAgICB1c2VFZmZlY3QoKCk9PntcbiAgICAgICAgY29uc3QgdmlzaXRTdG9yZSA9IGdldFZpc2l0U3RvcmUoKTtcbiAgICAgICAgLy8gcmVnaXN0ZXIgdGhlIGNhbGxiYWNrIGlmIGl0IGV4aXN0c1xuICAgICAgICBpZiAobXV0YXRlVmlzaXRDYWxsYmFjaykge1xuICAgICAgICAgICAgdmlzaXRTdG9yZS5zZXRTdGF0ZSh7XG4gICAgICAgICAgICAgICAgbXV0YXRlVmlzaXRDYWxsYmFja3M6IHtcbiAgICAgICAgICAgICAgICAgICAgLi4udmlzaXRTdG9yZS5nZXRTdGF0ZSgpLm11dGF0ZVZpc2l0Q2FsbGJhY2tzLFxuICAgICAgICAgICAgICAgICAgICBbaWRdOiBtdXRhdGVWaXNpdENhbGxiYWNrXG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSk7XG4gICAgICAgIH1cbiAgICAgICAgLy8gZGVyZWdpc3RlciB0aGUgY2FsbGJhY2sgb24gdW5tb3VudCwgaWYgaXQgZXhpc3RzXG4gICAgICAgIHJldHVybiAoKT0+e1xuICAgICAgICAgICAgaWYgKG11dGF0ZVZpc2l0Q2FsbGJhY2spIHtcbiAgICAgICAgICAgICAgICBjb25zdCBtdXRhdGVWaXNpdENhbGxiYWNrcyA9IHtcbiAgICAgICAgICAgICAgICAgICAgLi4udmlzaXRTdG9yZS5nZXRTdGF0ZSgpLm11dGF0ZVZpc2l0Q2FsbGJhY2tzXG4gICAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgICAgICBkZWxldGUgbXV0YXRlVmlzaXRDYWxsYmFja3NbaWRdO1xuICAgICAgICAgICAgICAgIHZpc2l0U3RvcmUuc2V0U3RhdGUoe1xuICAgICAgICAgICAgICAgICAgICBtdXRhdGVWaXNpdENhbGxiYWNrc1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9O1xuICAgIH0sIFtcbiAgICAgICAgaWQsXG4gICAgICAgIG11dGF0ZVZpc2l0Q2FsbGJhY2tcbiAgICBdKTtcbiAgICByZXR1cm4gdXNlU3RvcmVXaXRoQWN0aW9ucyhnZXRWaXNpdFN0b3JlKCksIHZpc2l0Q29udGV4dFN0b3JlQWN0aW9ucyk7XG59XG4iXSwibmFtZXMiOlsidXNlRWZmZWN0IiwidXNlSWQiLCJnZXRWaXNpdFN0b3JlIiwidXNlU3RvcmVXaXRoQWN0aW9ucyIsInZpc2l0Q29udGV4dFN0b3JlQWN0aW9ucyIsInNldFZpc2l0Q29udGV4dCIsIl8iLCJuZXdTZWxlY3RlZFZpc2l0IiwibWFudWFsbHlTZXRWaXNpdFV1aWQiLCJ1dWlkIiwicGF0aWVudFV1aWQiLCJwYXRpZW50IiwibXV0YXRlVmlzaXQiLCJjdXJyU3RhdGUiLCJtdXRhdGVDYWxsYmFjayIsIk9iamVjdCIsInZhbHVlcyIsIm11dGF0ZVZpc2l0Q2FsbGJhY2tzIiwidXNlVmlzaXRDb250ZXh0U3RvcmUiLCJtdXRhdGVWaXNpdENhbGxiYWNrIiwiaWQiLCJ2aXNpdFN0b3JlIiwic2V0U3RhdGUiLCJnZXRTdGF0ZSJdLCJzb3VyY2VSb290IjoiIn0=\n//# sourceURL=webpack-internal:///../../framework/esm-react-utils/dist/useVisitContextStore.js\n");
1339
1339
 
1340
1340
  /***/ }),
1341
1341