@openmrs/esm-implementer-tools-app 3.3.2-pre.31 → 3.3.2-pre.48

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 (82) hide show
  1. package/.turbo/turbo-build.log +38 -37
  2. package/dist/1.js +2 -0
  3. package/dist/1.js.map +1 -0
  4. package/dist/105.js +2 -0
  5. package/dist/105.js.map +1 -0
  6. package/dist/25.js +1 -1
  7. package/dist/25.js.LICENSE.txt +15 -13
  8. package/dist/25.js.map +1 -1
  9. package/dist/280.js +1 -1
  10. package/dist/280.js.map +1 -1
  11. package/dist/284.js +1 -1
  12. package/dist/284.js.map +1 -1
  13. package/dist/475.js +2 -0
  14. package/dist/475.js.map +1 -0
  15. package/dist/531.js +1 -1
  16. package/dist/531.js.map +1 -1
  17. package/dist/652.js +2 -0
  18. package/dist/652.js.map +1 -0
  19. package/dist/769.js +3 -0
  20. package/dist/{933.js.LICENSE.txt → 769.js.LICENSE.txt} +0 -0
  21. package/dist/769.js.map +1 -0
  22. package/dist/811.js +1 -1
  23. package/dist/811.js.map +1 -1
  24. package/dist/839.js +2 -0
  25. package/dist/839.js.map +1 -0
  26. package/dist/860.js +2 -0
  27. package/dist/860.js.map +1 -0
  28. package/dist/889.js +1 -1
  29. package/dist/889.js.map +1 -1
  30. package/dist/890.js +3 -0
  31. package/dist/890.js.LICENSE.txt +38 -0
  32. package/dist/890.js.map +1 -0
  33. package/dist/openmrs-esm-implementer-tools-app.js +1 -1
  34. package/dist/openmrs-esm-implementer-tools-app.js.buildmanifest.json +198 -57
  35. package/dist/openmrs-esm-implementer-tools-app.js.map +1 -1
  36. package/dist/openmrs-esm-implementer-tools-app.old +1 -1
  37. package/jest.config.js +2 -0
  38. package/package.json +10 -5
  39. package/src/backend-dependencies/backend-dependencies.component.tsx +2 -3
  40. package/src/configuration/configuration.component.tsx +32 -31
  41. package/src/configuration/configuration.styles.scss +3 -37
  42. package/src/configuration/configuration.test.tsx +28 -50
  43. package/src/configuration/interactive-editor/config-tree.component.tsx +1 -1
  44. package/src/configuration/interactive-editor/config-tree.styles.scss +1 -1
  45. package/src/configuration/interactive-editor/description.styles.scss +8 -11
  46. package/src/configuration/interactive-editor/display-value.scss +1 -2
  47. package/src/configuration/interactive-editor/display-value.tsx +1 -1
  48. package/src/configuration/interactive-editor/editable-value.component.tsx +5 -4
  49. package/src/configuration/interactive-editor/editable-value.styles.scss +2 -3
  50. package/src/configuration/interactive-editor/layout/subtree.component.tsx +1 -1
  51. package/src/configuration/interactive-editor/layout/tree-container.component.tsx +4 -1
  52. package/src/configuration/interactive-editor/value-editor.scss +1 -2
  53. package/src/configuration/interactive-editor/value-editor.tsx +7 -10
  54. package/src/configuration/interactive-editor/value-editors/array-editor.styles.css +2 -2
  55. package/src/configuration/interactive-editor/value-editors/array-editor.tsx +6 -5
  56. package/src/configuration/interactive-editor/value-editors/concept-search.styles.scss +1 -2
  57. package/src/configuration/interactive-editor/value-editors/concept-search.tsx +1 -1
  58. package/src/configuration/interactive-editor/value-editors/extension-slot-add.tsx +1 -1
  59. package/src/configuration/interactive-editor/value-editors/extension-slot-remove.tsx +1 -1
  60. package/src/configuration/interactive-editor/value-editors/object-editor.styles.css +2 -2
  61. package/src/configuration/interactive-editor/value-editors/object-editor.tsx +1 -1
  62. package/src/configuration/interactive-editor/value-editors/patient-identifier-type-search.tsx +1 -1
  63. package/src/configuration/interactive-editor/value-editors/person-attribute-search.tsx +1 -1
  64. package/src/configuration/interactive-editor/value-editors/uuid-search.scss +5 -7
  65. package/src/configuration/interactive-editor/value-editors/value-editor-field.tsx +1 -1
  66. package/src/configuration/json-editor/json-editor.component.tsx +2 -2
  67. package/src/implementer-tools.button.tsx +4 -3
  68. package/src/{implementer-tools.test.tsx → implementer-tools.component.test.tsx} +0 -0
  69. package/src/implementer-tools.component.tsx +2 -2
  70. package/src/implementer-tools.styles.scss +5 -5
  71. package/src/popup/popup.component.tsx +4 -5
  72. package/src/popup/popup.styles.scss +9 -1
  73. package/src/ui-editor/ui-editor.tsx +3 -3
  74. package/dist/16.js +0 -2
  75. package/dist/16.js.map +0 -1
  76. package/dist/24.js +0 -2
  77. package/dist/24.js.map +0 -1
  78. package/dist/739.js +0 -2
  79. package/dist/739.js.map +0 -1
  80. package/dist/933.js +0 -3
  81. package/dist/933.js.map +0 -1
  82. package/src/backend-dependencies/backend-dependencies.styles.scss +0 -8
package/dist/280.js CHANGED
@@ -1,2 +1,2 @@
1
- "use strict";(self.webpackChunk_openmrs_esm_implementer_tools_app=self.webpackChunk_openmrs_esm_implementer_tools_app||[]).push([[280],{3539:(e,n,t)=>{t.d(n,{Z:()=>l});var o=t(9233),r=t.n(o),a=t(361),i=t.n(a)()(r());i.push([e.id,".-esm-implementer-tools__styles__slotOverlay___0dSua {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(43, 43, 185, 0.1);\n border: 1px solid rgba(43, 43, 185, 0.4);\n pointer-events: none;\n}\n\n.-esm-implementer-tools__styles__slotName___gwNsi {\n background-color: rgb(255, 255, 255, 0.85);\n border: 1px solid rgba(43, 43, 185, 0.4);\n color: #393939;\n position: absolute;\n bottom: 0;\n right: 0;\n padding: 0.5em 0.5em 0.5em 0.5em;\n pointer-events: none;\n}\n\n.-esm-implementer-tools__styles__extensionOverlay___EKzCd {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: none;\n border: none;\n}\n\n.-esm-implementer-tools__styles__extensionOverlay___EKzCd:hover {\n background-color: rgba(43, 43, 185, 0.1);\n}\n\n/* Show the tooltip text when you mouse over the tooltip container */\n.-esm-implementer-tools__styles__extensionOverlay___EKzCd:focus .-esm-implementer-tools__styles__extensionTooltip___QVban,\n.-esm-implementer-tools__styles__extensionOverlay___EKzCd:hover .-esm-implementer-tools__styles__extensionTooltip___QVban {\n visibility: visible;\n opacity: 1;\n}\n\n.-esm-implementer-tools__styles__extensionTooltip___QVban {\n visibility: hidden;\n width: auto;\n background-color: rgb(255, 255, 255, 0.85);\n text-align: center;\n padding: 0.5em 0.5em 0.5em 0.5em;\n border: 1px solid rgba(43, 43, 185, 0.4);\n\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.-esm-implementer-tools__styles__exitButton___VWj92 {\n position: fixed !important;\n bottom: 0;\n right: 0;\n z-index: 999999;\n}\n","",{version:3,sources:["webpack://./src/ui-editor/styles.css"],names:[],mappings:"AAAA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,wCAAwC;EACxC,wCAAwC;EACxC,oBAAoB;AACtB;;AAEA;EACE,0CAA0C;EAC1C,wCAAwC;EACxC,cAAc;EACd,kBAAkB;EAClB,SAAS;EACT,QAAQ;EACR,gCAAgC;EAChC,oBAAoB;AACtB;;AAEA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,YAAY;AACd;;AAEA;EACE,wCAAwC;AAC1C;;AAEA,oEAAoE;AACpE;;EAEE,mBAAmB;EACnB,UAAU;AACZ;;AAEA;EACE,kBAAkB;EAClB,WAAW;EACX,0CAA0C;EAC1C,kBAAkB;EAClB,gCAAgC;EAChC,wCAAwC;;EAExC,kBAAkB;EAClB,MAAM;EACN,OAAO;AACT;;AAEA;EACE,0BAA0B;EAC1B,SAAS;EACT,QAAQ;EACR,eAAe;AACjB",sourcesContent:[".slotOverlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(43, 43, 185, 0.1);\n border: 1px solid rgba(43, 43, 185, 0.4);\n pointer-events: none;\n}\n\n.slotName {\n background-color: rgb(255, 255, 255, 0.85);\n border: 1px solid rgba(43, 43, 185, 0.4);\n color: #393939;\n position: absolute;\n bottom: 0;\n right: 0;\n padding: 0.5em 0.5em 0.5em 0.5em;\n pointer-events: none;\n}\n\n.extensionOverlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: none;\n border: none;\n}\n\n.extensionOverlay:hover {\n background-color: rgba(43, 43, 185, 0.1);\n}\n\n/* Show the tooltip text when you mouse over the tooltip container */\n.extensionOverlay:focus .extensionTooltip,\n.extensionOverlay:hover .extensionTooltip {\n visibility: visible;\n opacity: 1;\n}\n\n.extensionTooltip {\n visibility: hidden;\n width: auto;\n background-color: rgb(255, 255, 255, 0.85);\n text-align: center;\n padding: 0.5em 0.5em 0.5em 0.5em;\n border: 1px solid rgba(43, 43, 185, 0.4);\n\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.exitButton {\n position: fixed !important;\n bottom: 0;\n right: 0;\n z-index: 999999;\n}\n"],sourceRoot:""}]),i.locals={slotOverlay:"-esm-implementer-tools__styles__slotOverlay___0dSua",slotName:"-esm-implementer-tools__styles__slotName___gwNsi",extensionOverlay:"-esm-implementer-tools__styles__extensionOverlay___EKzCd",extensionTooltip:"-esm-implementer-tools__styles__extensionTooltip___QVban",exitButton:"-esm-implementer-tools__styles__exitButton___VWj92"};const l=i},361:e=>{e.exports=function(e){var n=[];return n.toString=function(){return this.map((function(n){var t=e(n);return n[2]?"@media ".concat(n[2]," {").concat(t,"}"):t})).join("")},n.i=function(e,t,o){"string"==typeof e&&(e=[[null,e,""]]);var r={};if(o)for(var a=0;a<this.length;a++){var i=this[a][0];null!=i&&(r[i]=!0)}for(var l=0;l<e.length;l++){var s=[].concat(e[l]);o&&r[s[0]]||(t&&(s[2]?s[2]="".concat(t," and ").concat(s[2]):s[2]=t),n.push(s))}},n}},9233:e=>{function n(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,o=new Array(n);t<n;t++)o[t]=e[t];return o}e.exports=function(e){var t,o,r=(o=4,function(e){if(Array.isArray(e))return e}(t=e)||function(e,n){var t=e&&("undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"]);if(null!=t){var o,r,a=[],i=!0,l=!1;try{for(t=t.call(e);!(i=(o=t.next()).done)&&(a.push(o.value),!n||a.length!==n);i=!0);}catch(e){l=!0,r=e}finally{try{i||null==t.return||t.return()}finally{if(l)throw r}}return a}}(t,o)||function(e,t){if(e){if("string"==typeof e)return n(e,t);var o=Object.prototype.toString.call(e).slice(8,-1);return"Object"===o&&e.constructor&&(o=e.constructor.name),"Map"===o||"Set"===o?Array.from(e):"Arguments"===o||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(o)?n(e,t):void 0}}(t,o)||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.")}()),a=r[1],i=r[3];if(!i)return a;if("function"==typeof btoa){var l=btoa(unescape(encodeURIComponent(JSON.stringify(i)))),s="sourceMappingURL=data:application/json;charset=utf-8;base64,".concat(l),c="/*# ".concat(s," */"),u=i.sources.map((function(e){return"/*# sourceURL=".concat(i.sourceRoot||"").concat(e," */")}));return[a].concat(u).concat([c]).join("\n")}return[a].join("\n")}},487:e=>{var n=[];function t(e){for(var t=-1,o=0;o<n.length;o++)if(n[o].identifier===e){t=o;break}return t}function o(e,o){for(var a={},i=[],l=0;l<e.length;l++){var s=e[l],c=o.base?s[0]+o.base:s[0],u=a[c]||0,m="".concat(c," ").concat(u);a[c]=u+1;var p=t(m),A={css:s[1],media:s[2],sourceMap:s[3],supports:s[4],layer:s[5]};if(-1!==p)n[p].references++,n[p].updater(A);else{var d=r(A,o);o.byIndex=l,n.splice(l,0,{identifier:m,updater:d,references:1})}i.push(m)}return i}function r(e,n){var t=n.domAPI(n);return t.update(e),function(n){if(n){if(n.css===e.css&&n.media===e.media&&n.sourceMap===e.sourceMap&&n.supports===e.supports&&n.layer===e.layer)return;t.update(e=n)}else t.remove()}}e.exports=function(e,r){var a=o(e=e||[],r=r||{});return function(e){e=e||[];for(var i=0;i<a.length;i++){var l=t(a[i]);n[l].references--}for(var s=o(e,r),c=0;c<a.length;c++){var u=t(a[c]);0===n[u].references&&(n[u].updater(),n.splice(u,1))}a=s}}},2052:e=>{var n={};e.exports=function(e,t){var o=function(e){if(void 0===n[e]){var t=document.querySelector(e);if(window.HTMLIFrameElement&&t instanceof window.HTMLIFrameElement)try{t=t.contentDocument.head}catch(e){t=null}n[e]=t}return n[e]}(e);if(!o)throw new Error("Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.");o.appendChild(t)}},1469:e=>{e.exports=function(e){var n=document.createElement("style");return e.setAttributes(n,e.attributes),e.insert(n,e.options),n}},4010:(e,n,t)=>{e.exports=function(e){var n=t.nc;n&&e.setAttribute("nonce",n)}},631:e=>{e.exports=function(e){var n=e.insertStyleElement(e);return{update:function(t){!function(e,n,t){var o="";t.supports&&(o+="@supports (".concat(t.supports,") {")),t.media&&(o+="@media ".concat(t.media," {"));var r=void 0!==t.layer;r&&(o+="@layer".concat(t.layer.length>0?" ".concat(t.layer):""," {")),o+=t.css,r&&(o+="}"),t.media&&(o+="}"),t.supports&&(o+="}");var a=t.sourceMap;a&&"undefined"!=typeof btoa&&(o+="\n/*# sourceMappingURL=data:application/json;base64,".concat(btoa(unescape(encodeURIComponent(JSON.stringify(a))))," */")),n.styleTagTransform(o,e,n.options)}(n,e,t)},remove:function(){!function(e){if(null===e.parentNode)return!1;e.parentNode.removeChild(e)}(n)}}}},9329:e=>{e.exports=function(e,n){if(n.styleSheet)n.styleSheet.cssText=e;else{for(;n.firstChild;)n.removeChild(n.firstChild);n.appendChild(document.createTextNode(e))}}},8280:(e,n,t)=>{t.r(n),t.d(n,{ExitButton:()=>U,SlotOverlay:()=>j,default:()=>T});var o=t(6983),r=t.n(o),a=t(487),i=t.n(a),l=t(631),s=t.n(l),c=t(2052),u=t.n(c),m=t(4010),p=t.n(m),A=t(1469),d=t.n(A),f=t(9329),y=t.n(f),v=t(3539),_={};_.styleTagTransform=y(),_.setAttributes=p(),_.insert=u().bind(null,"head"),_.domAPI=s(),_.insertStyleElement=d(),i()(v.Z,_);const b=v.Z&&v.Z.locals?v.Z.locals:void 0;var h=t(8478),E=t(8025),C=t(1102),g=t(5412);function x(e){var n=e.el,t=e.children;return n?(0,g.createPortal)(t,n):null}function w(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,o=new Array(n);t<n;t++)o[t]=e[t];return o}function B(e){var n,t,a=e.extensionName,i=e.slotModuleName,l=e.slotName,s=e.domElement,c=(n=(0,o.useState)(),t=2,function(e){if(Array.isArray(e))return e}(n)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var o,r,a=[],i=!0,l=!1;try{for(t=t.call(e);!(i=(o=t.next()).done)&&(a.push(o.value),!n||a.length!==n);i=!0);}catch(e){l=!0,r=e}finally{try{i||null==t.return||t.return()}finally{if(l)throw r}}return a}}(n,t)||function(e,n){if(e){if("string"==typeof e)return w(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(t):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?w(e,n):void 0}}(n,t)||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.")}()),u=c[0],m=c[1];return(0,o.useEffect)((function(){if(s){var e,n=document.createElement("div");null===(e=s.parentElement)||void 0===e||e.appendChild(n),m(n)}}),[s]),u?r().createElement(x,{key:"extension-overlay-".concat(i,"-").concat(l,"-").concat(a),el:u},r().createElement(O,{extensionId:a})):null}function O(e){var n=e.extensionId;return r().createElement("button",{className:b.extensionOverlay},r().createElement("span",{className:b.extensionTooltip},n))}var S=t(1004);function k(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,o=new Array(n);t<n;t++)o[t]=e[t];return o}function N(){return N=Object.assign||function(e){for(var n=1;n<arguments.length;n++){var t=arguments[n];for(var o in t)Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o])}return e},N.apply(this,arguments)}function I(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var o,r,a=[],i=!0,l=!1;try{for(t=t.call(e);!(i=(o=t.next()).done)&&(a.push(o.value),!n||a.length!==n);i=!0);}catch(e){l=!0,r=e}finally{try{i||null==t.return||t.return()}finally{if(l)throw r}}return a}}(e,n)||function(e,n){if(e){if("string"==typeof e)return k(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(t):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?k(e,n):void 0}}(e,n)||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.")}()}function T(){var e=(0,h.useStore)((0,h.getExtensionInternalStore)()),n=e.slots,t=e.extensions,o=(0,h.useStore)(S.wT).isOpen;return r().createElement(r().Fragment,null,o?null:r().createElement(U,null),n?Object.entries(n).map((function(e){var n=I(e,2),t=n[0],o=n[1];return r().createElement(x,{key:"slot-overlay-".concat(o.moduleName,"-").concat(t),el:document.querySelector('*[data-extension-slot-name="'.concat(t,'"][data-extension-slot-module-name="').concat(o.moduleName,'"]'))},r().createElement(j,{slotName:t}))})):null,t?Object.entries(t).map((function(e){var n=I(e,2),t=n[0],o=n[1];return Object.entries(o.instances).map((function(e){var n=I(e,2),o=n[0],a=n[1];return Object.entries(a).map((function(e){var n=I(e,2),a=n[0],i=n[1];return r().createElement(B,{key:a,extensionName:t,slotModuleName:o,slotName:a,domElement:document.querySelector('*[data-extension-slot-name="'.concat(a,'"][data-extension-slot-module-name="').concat(o,'"] *[data-extension-id="').concat(i.id,'"]'))})}))}))})):null)}function j(e){var n=e.slotName;return r().createElement(r().Fragment,null,r().createElement("div",{className:b.slotOverlay}),r().createElement("div",{className:b.slotName},n))}var M={toggleIsUIEditorEnabled:function(e){return{isUIEditorEnabled:!e.isUIEditorEnabled}}};function U(){var e=(0,h.useStoreWithActions)(S.wT,M).toggleIsUIEditorEnabled;return r().createElement(E.zxk,{className:b.exitButton,kind:"danger",size:"sm",renderIcon:function(e){return r().createElement(C.x8,N({},e,{size:16}))},iconDescription:"Exit UI Editor",tooltipPosition:"left",onClick:e,hasIconOnly:!0})}}}]);
1
+ "use strict";(self.webpackChunk_openmrs_esm_implementer_tools_app=self.webpackChunk_openmrs_esm_implementer_tools_app||[]).push([[280],{4790:(e,n,t)=>{t.d(n,{Z:()=>s});var o=t(8251),r=t(6983),l=t.n(r),i=l().createElement("path",{d:"M24 9.4L22.6 8 16 14.6 9.4 8 8 9.4 14.6 16 8 22.6 9.4 24 16 17.4 22.6 24 24 22.6 17.4 16 24 9.4z"});const s=l().forwardRef((function(e,n){var t=e.children,r=(0,o._)(e,["children"]);return l().createElement(o.I,(0,o.a)({width:16,height:16,viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",ref:n},r),i,t)}))},3539:(e,n,t)=>{t.d(n,{Z:()=>s});var o=t(9233),r=t.n(o),l=t(361),i=t.n(l)()(r());i.push([e.id,".-esm-implementer-tools__styles__slotOverlay___0dSua {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(43, 43, 185, 0.1);\n border: 1px solid rgba(43, 43, 185, 0.4);\n pointer-events: none;\n}\n\n.-esm-implementer-tools__styles__slotName___gwNsi {\n background-color: rgb(255, 255, 255, 0.85);\n border: 1px solid rgba(43, 43, 185, 0.4);\n color: #393939;\n position: absolute;\n bottom: 0;\n right: 0;\n padding: 0.5em 0.5em 0.5em 0.5em;\n pointer-events: none;\n}\n\n.-esm-implementer-tools__styles__extensionOverlay___EKzCd {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: none;\n border: none;\n}\n\n.-esm-implementer-tools__styles__extensionOverlay___EKzCd:hover {\n background-color: rgba(43, 43, 185, 0.1);\n}\n\n/* Show the tooltip text when you mouse over the tooltip container */\n.-esm-implementer-tools__styles__extensionOverlay___EKzCd:focus .-esm-implementer-tools__styles__extensionTooltip___QVban,\n.-esm-implementer-tools__styles__extensionOverlay___EKzCd:hover .-esm-implementer-tools__styles__extensionTooltip___QVban {\n visibility: visible;\n opacity: 1;\n}\n\n.-esm-implementer-tools__styles__extensionTooltip___QVban {\n visibility: hidden;\n width: auto;\n background-color: rgb(255, 255, 255, 0.85);\n text-align: center;\n padding: 0.5em 0.5em 0.5em 0.5em;\n border: 1px solid rgba(43, 43, 185, 0.4);\n\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.-esm-implementer-tools__styles__exitButton___VWj92 {\n position: fixed !important;\n bottom: 0;\n right: 0;\n z-index: 999999;\n}\n","",{version:3,sources:["webpack://./src/ui-editor/styles.css"],names:[],mappings:"AAAA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,wCAAwC;EACxC,wCAAwC;EACxC,oBAAoB;AACtB;;AAEA;EACE,0CAA0C;EAC1C,wCAAwC;EACxC,cAAc;EACd,kBAAkB;EAClB,SAAS;EACT,QAAQ;EACR,gCAAgC;EAChC,oBAAoB;AACtB;;AAEA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,YAAY;AACd;;AAEA;EACE,wCAAwC;AAC1C;;AAEA,oEAAoE;AACpE;;EAEE,mBAAmB;EACnB,UAAU;AACZ;;AAEA;EACE,kBAAkB;EAClB,WAAW;EACX,0CAA0C;EAC1C,kBAAkB;EAClB,gCAAgC;EAChC,wCAAwC;;EAExC,kBAAkB;EAClB,MAAM;EACN,OAAO;AACT;;AAEA;EACE,0BAA0B;EAC1B,SAAS;EACT,QAAQ;EACR,eAAe;AACjB",sourcesContent:[".slotOverlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background-color: rgba(43, 43, 185, 0.1);\n border: 1px solid rgba(43, 43, 185, 0.4);\n pointer-events: none;\n}\n\n.slotName {\n background-color: rgb(255, 255, 255, 0.85);\n border: 1px solid rgba(43, 43, 185, 0.4);\n color: #393939;\n position: absolute;\n bottom: 0;\n right: 0;\n padding: 0.5em 0.5em 0.5em 0.5em;\n pointer-events: none;\n}\n\n.extensionOverlay {\n position: absolute;\n top: 0;\n left: 0;\n width: 100%;\n height: 100%;\n background: none;\n border: none;\n}\n\n.extensionOverlay:hover {\n background-color: rgba(43, 43, 185, 0.1);\n}\n\n/* Show the tooltip text when you mouse over the tooltip container */\n.extensionOverlay:focus .extensionTooltip,\n.extensionOverlay:hover .extensionTooltip {\n visibility: visible;\n opacity: 1;\n}\n\n.extensionTooltip {\n visibility: hidden;\n width: auto;\n background-color: rgb(255, 255, 255, 0.85);\n text-align: center;\n padding: 0.5em 0.5em 0.5em 0.5em;\n border: 1px solid rgba(43, 43, 185, 0.4);\n\n position: absolute;\n top: 0;\n left: 0;\n}\n\n.exitButton {\n position: fixed !important;\n bottom: 0;\n right: 0;\n z-index: 999999;\n}\n"],sourceRoot:""}]),i.locals={slotOverlay:"-esm-implementer-tools__styles__slotOverlay___0dSua",slotName:"-esm-implementer-tools__styles__slotName___gwNsi",extensionOverlay:"-esm-implementer-tools__styles__extensionOverlay___EKzCd",extensionTooltip:"-esm-implementer-tools__styles__extensionTooltip___QVban",exitButton:"-esm-implementer-tools__styles__exitButton___VWj92"};const s=i},8280:(e,n,t)=>{t.r(n),t.d(n,{ExitButton:()=>M,SlotOverlay:()=>T,default:()=>I});var o=t(6983),r=t.n(o),l=t(487),i=t.n(l),s=t(631),a=t.n(s),A=t(2052),m=t.n(A),c=t(4010),u=t.n(c),d=t(1469),_=t.n(d),p=t(9329),E=t.n(p),b=t(3539),y={};y.styleTagTransform=E(),y.setAttributes=u(),y.insert=m().bind(null,"head"),y.domAPI=a(),y.insertStyleElement=_(),i()(b.Z,y);const C=b.Z&&b.Z.locals?b.Z.locals:void 0;var v=t(4790),f=t(8478),g=t(9784),h=t(5412);function x(e){var n=e.el,t=e.children;return n?(0,h.createPortal)(t,n):null}function w(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,o=new Array(n);t<n;t++)o[t]=e[t];return o}function B(e){var n,t,l=e.extensionName,i=e.slotModuleName,s=e.slotName,a=e.domElement,A=(n=(0,o.useState)(),t=2,function(e){if(Array.isArray(e))return e}(n)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var o,r,l=[],i=!0,s=!1;try{for(t=t.call(e);!(i=(o=t.next()).done)&&(l.push(o.value),!n||l.length!==n);i=!0);}catch(e){s=!0,r=e}finally{try{i||null==t.return||t.return()}finally{if(s)throw r}}return l}}(n,t)||function(e,n){if(e){if("string"==typeof e)return w(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(t):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?w(e,n):void 0}}(n,t)||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.")}()),m=A[0],c=A[1];return(0,o.useEffect)((function(){if(a){var e,n=document.createElement("div");null===(e=a.parentElement)||void 0===e||e.appendChild(n),c(n)}}),[a]),m?r().createElement(x,{key:"extension-overlay-".concat(i,"-").concat(s,"-").concat(l),el:m},r().createElement(O,{extensionId:l})):null}function O(e){var n=e.extensionId;return r().createElement("button",{className:C.extensionOverlay},r().createElement("span",{className:C.extensionTooltip},n))}var k=t(1004);function S(e,n){(null==n||n>e.length)&&(n=e.length);for(var t=0,o=new Array(n);t<n;t++)o[t]=e[t];return o}function N(e,n){return function(e){if(Array.isArray(e))return e}(e)||function(e,n){var t=null==e?null:"undefined"!=typeof Symbol&&e[Symbol.iterator]||e["@@iterator"];if(null!=t){var o,r,l=[],i=!0,s=!1;try{for(t=t.call(e);!(i=(o=t.next()).done)&&(l.push(o.value),!n||l.length!==n);i=!0);}catch(e){s=!0,r=e}finally{try{i||null==t.return||t.return()}finally{if(s)throw r}}return l}}(e,n)||function(e,n){if(e){if("string"==typeof e)return S(e,n);var t=Object.prototype.toString.call(e).slice(8,-1);return"Object"===t&&e.constructor&&(t=e.constructor.name),"Map"===t||"Set"===t?Array.from(t):"Arguments"===t||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?S(e,n):void 0}}(e,n)||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.")}()}function I(){var e=(0,f.useStore)((0,f.getExtensionInternalStore)()),n=e.slots,t=e.extensions,o=(0,f.useStore)(k.wT).isOpen;return r().createElement(r().Fragment,null,o?null:r().createElement(M,null),n?Object.entries(n).map((function(e){var n=N(e,2),t=n[0],o=n[1];return r().createElement(x,{key:"slot-overlay-".concat(o.moduleName,"-").concat(t),el:document.querySelector('*[data-extension-slot-name="'.concat(t,'"][data-extension-slot-module-name="').concat(o.moduleName,'"]'))},r().createElement(T,{slotName:t}))})):null,t?Object.entries(t).map((function(e){var n=N(e,2),t=n[0],o=n[1];return Object.entries(o.instances).map((function(e){var n=N(e,2),o=n[0],l=n[1];return Object.entries(l).map((function(e){var n=N(e,2),l=n[0],i=n[1];return r().createElement(B,{key:l,extensionName:t,slotModuleName:o,slotName:l,domElement:document.querySelector('*[data-extension-slot-name="'.concat(l,'"][data-extension-slot-module-name="').concat(o,'"] *[data-extension-id="').concat(i.id,'"]'))})}))}))})):null)}function T(e){var n=e.slotName;return r().createElement(r().Fragment,null,r().createElement("div",{className:C.slotOverlay}),r().createElement("div",{className:C.slotName},n))}var j={toggleIsUIEditorEnabled:function(e){return{isUIEditorEnabled:!e.isUIEditorEnabled}}};function M(){var e=(0,f.useStoreWithActions)(k.wT,j).toggleIsUIEditorEnabled;return r().createElement(g.Button,{className:C.exitButton,kind:"danger",size:"sm",renderIcon:v.Z,iconDescription:"Exit UI Editor",tooltipPosition:"left",onClick:e,hasIconOnly:!0})}}}]);
2
2
  //# sourceMappingURL=280.js.map
package/dist/280.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"280.js","mappings":"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","sources":["webpack://@openmrs/esm-implementer-tools-app/./src/ui-editor/styles.css","webpack://@openmrs/esm-implementer-tools-app/../../../node_modules/css-loader/dist/runtime/api.js","webpack://@openmrs/esm-implementer-tools-app/../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js","webpack://@openmrs/esm-implementer-tools-app/../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js","webpack://@openmrs/esm-implementer-tools-app/../../../node_modules/style-loader/dist/runtime/insertBySelector.js","webpack://@openmrs/esm-implementer-tools-app/../../../node_modules/style-loader/dist/runtime/insertStyleElement.js","webpack://@openmrs/esm-implementer-tools-app/../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js","webpack://@openmrs/esm-implementer-tools-app/../../../node_modules/style-loader/dist/runtime/styleDomAPI.js","webpack://@openmrs/esm-implementer-tools-app/../../../node_modules/style-loader/dist/runtime/styleTagTransform.js","webpack://@openmrs/esm-implementer-tools-app/./src/ui-editor/styles.css?a044","webpack://@openmrs/esm-implementer-tools-app/./src/ui-editor/portal.tsx","webpack://@openmrs/esm-implementer-tools-app/./src/ui-editor/extension-overlay.component.tsx","webpack://@openmrs/esm-implementer-tools-app/./src/ui-editor/ui-editor.tsx"],"sourcesContent":["// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".-esm-implementer-tools__styles__slotOverlay___0dSua {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n background-color: rgba(43, 43, 185, 0.1);\\n border: 1px solid rgba(43, 43, 185, 0.4);\\n pointer-events: none;\\n}\\n\\n.-esm-implementer-tools__styles__slotName___gwNsi {\\n background-color: rgb(255, 255, 255, 0.85);\\n border: 1px solid rgba(43, 43, 185, 0.4);\\n color: #393939;\\n position: absolute;\\n bottom: 0;\\n right: 0;\\n padding: 0.5em 0.5em 0.5em 0.5em;\\n pointer-events: none;\\n}\\n\\n.-esm-implementer-tools__styles__extensionOverlay___EKzCd {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n background: none;\\n border: none;\\n}\\n\\n.-esm-implementer-tools__styles__extensionOverlay___EKzCd:hover {\\n background-color: rgba(43, 43, 185, 0.1);\\n}\\n\\n/* Show the tooltip text when you mouse over the tooltip container */\\n.-esm-implementer-tools__styles__extensionOverlay___EKzCd:focus .-esm-implementer-tools__styles__extensionTooltip___QVban,\\n.-esm-implementer-tools__styles__extensionOverlay___EKzCd:hover .-esm-implementer-tools__styles__extensionTooltip___QVban {\\n visibility: visible;\\n opacity: 1;\\n}\\n\\n.-esm-implementer-tools__styles__extensionTooltip___QVban {\\n visibility: hidden;\\n width: auto;\\n background-color: rgb(255, 255, 255, 0.85);\\n text-align: center;\\n padding: 0.5em 0.5em 0.5em 0.5em;\\n border: 1px solid rgba(43, 43, 185, 0.4);\\n\\n position: absolute;\\n top: 0;\\n left: 0;\\n}\\n\\n.-esm-implementer-tools__styles__exitButton___VWj92 {\\n position: fixed !important;\\n bottom: 0;\\n right: 0;\\n z-index: 999999;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/ui-editor/styles.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,wCAAwC;EACxC,wCAAwC;EACxC,oBAAoB;AACtB;;AAEA;EACE,0CAA0C;EAC1C,wCAAwC;EACxC,cAAc;EACd,kBAAkB;EAClB,SAAS;EACT,QAAQ;EACR,gCAAgC;EAChC,oBAAoB;AACtB;;AAEA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,YAAY;AACd;;AAEA;EACE,wCAAwC;AAC1C;;AAEA,oEAAoE;AACpE;;EAEE,mBAAmB;EACnB,UAAU;AACZ;;AAEA;EACE,kBAAkB;EAClB,WAAW;EACX,0CAA0C;EAC1C,kBAAkB;EAClB,gCAAgC;EAChC,wCAAwC;;EAExC,kBAAkB;EAClB,MAAM;EACN,OAAO;AACT;;AAEA;EACE,0BAA0B;EAC1B,SAAS;EACT,QAAQ;EACR,eAAe;AACjB\",\"sourcesContent\":[\".slotOverlay {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n background-color: rgba(43, 43, 185, 0.1);\\n border: 1px solid rgba(43, 43, 185, 0.4);\\n pointer-events: none;\\n}\\n\\n.slotName {\\n background-color: rgb(255, 255, 255, 0.85);\\n border: 1px solid rgba(43, 43, 185, 0.4);\\n color: #393939;\\n position: absolute;\\n bottom: 0;\\n right: 0;\\n padding: 0.5em 0.5em 0.5em 0.5em;\\n pointer-events: none;\\n}\\n\\n.extensionOverlay {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n background: none;\\n border: none;\\n}\\n\\n.extensionOverlay:hover {\\n background-color: rgba(43, 43, 185, 0.1);\\n}\\n\\n/* Show the tooltip text when you mouse over the tooltip container */\\n.extensionOverlay:focus .extensionTooltip,\\n.extensionOverlay:hover .extensionTooltip {\\n visibility: visible;\\n opacity: 1;\\n}\\n\\n.extensionTooltip {\\n visibility: hidden;\\n width: auto;\\n background-color: rgb(255, 255, 255, 0.85);\\n text-align: center;\\n padding: 0.5em 0.5em 0.5em 0.5em;\\n border: 1px solid rgba(43, 43, 185, 0.4);\\n\\n position: absolute;\\n top: 0;\\n left: 0;\\n}\\n\\n.exitButton {\\n position: fixed !important;\\n bottom: 0;\\n right: 0;\\n z-index: 999999;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"slotOverlay\": \"-esm-implementer-tools__styles__slotOverlay___0dSua\",\n\t\"slotName\": \"-esm-implementer-tools__styles__slotName___gwNsi\",\n\t\"extensionOverlay\": \"-esm-implementer-tools__styles__extensionOverlay___EKzCd\",\n\t\"extensionTooltip\": \"-esm-implementer-tools__styles__extensionTooltip___QVban\",\n\t\"exitButton\": \"-esm-implementer-tools__styles__exitButton___VWj92\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\"use strict\";\n\n/*\n MIT License http://www.opensource.org/licenses/mit-license.php\n Author Tobias Koppers @sokra\n*/\n// css base code, injected by the css-loader\n// eslint-disable-next-line func-names\nmodule.exports = function (cssWithMappingToString) {\n var list = []; // return the list of modules as css string\n\n list.toString = function toString() {\n return this.map(function (item) {\n var content = cssWithMappingToString(item);\n\n if (item[2]) {\n return \"@media \".concat(item[2], \" {\").concat(content, \"}\");\n }\n\n return content;\n }).join(\"\");\n }; // import a list of modules into the list\n // eslint-disable-next-line func-names\n\n\n list.i = function (modules, mediaQuery, dedupe) {\n if (typeof modules === \"string\") {\n // eslint-disable-next-line no-param-reassign\n modules = [[null, modules, \"\"]];\n }\n\n var alreadyImportedModules = {};\n\n if (dedupe) {\n for (var i = 0; i < this.length; i++) {\n // eslint-disable-next-line prefer-destructuring\n var id = this[i][0];\n\n if (id != null) {\n alreadyImportedModules[id] = true;\n }\n }\n }\n\n for (var _i = 0; _i < modules.length; _i++) {\n var item = [].concat(modules[_i]);\n\n if (dedupe && alreadyImportedModules[item[0]]) {\n // eslint-disable-next-line no-continue\n continue;\n }\n\n if (mediaQuery) {\n if (!item[2]) {\n item[2] = mediaQuery;\n } else {\n item[2] = \"\".concat(mediaQuery, \" and \").concat(item[2]);\n }\n }\n\n list.push(item);\n }\n };\n\n return list;\n};","\"use strict\";\n\nfunction _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }\n\nfunction _nonIterableRest() { throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\"); }\n\nfunction _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === \"string\") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === \"Object\" && o.constructor) n = o.constructor.name; if (n === \"Map\" || n === \"Set\") return Array.from(o); if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }\n\nfunction _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) { arr2[i] = arr[i]; } return arr2; }\n\nfunction _iterableToArrayLimit(arr, i) { var _i = arr && (typeof Symbol !== \"undefined\" && arr[Symbol.iterator] || arr[\"@@iterator\"]); if (_i == null) return; var _arr = []; var _n = true; var _d = false; var _s, _e; try { for (_i = _i.call(arr); !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i[\"return\"] != null) _i[\"return\"](); } finally { if (_d) throw _e; } } return _arr; }\n\nfunction _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }\n\nmodule.exports = function cssWithMappingToString(item) {\n var _item = _slicedToArray(item, 4),\n content = _item[1],\n cssMapping = _item[3];\n\n if (!cssMapping) {\n return content;\n }\n\n if (typeof btoa === \"function\") {\n // eslint-disable-next-line no-undef\n var base64 = btoa(unescape(encodeURIComponent(JSON.stringify(cssMapping))));\n var data = \"sourceMappingURL=data:application/json;charset=utf-8;base64,\".concat(base64);\n var sourceMapping = \"/*# \".concat(data, \" */\");\n var sourceURLs = cssMapping.sources.map(function (source) {\n return \"/*# sourceURL=\".concat(cssMapping.sourceRoot || \"\").concat(source, \" */\");\n });\n return [content].concat(sourceURLs).concat([sourceMapping]).join(\"\\n\");\n }\n\n return [content].join(\"\\n\");\n};","\"use strict\";\n\nvar stylesInDOM = [];\n\nfunction getIndexByIdentifier(identifier) {\n var result = -1;\n\n for (var i = 0; i < stylesInDOM.length; i++) {\n if (stylesInDOM[i].identifier === identifier) {\n result = i;\n break;\n }\n }\n\n return result;\n}\n\nfunction modulesToDom(list, options) {\n var idCountMap = {};\n var identifiers = [];\n\n for (var i = 0; i < list.length; i++) {\n var item = list[i];\n var id = options.base ? item[0] + options.base : item[0];\n var count = idCountMap[id] || 0;\n var identifier = \"\".concat(id, \" \").concat(count);\n idCountMap[id] = count + 1;\n var indexByIdentifier = getIndexByIdentifier(identifier);\n var obj = {\n css: item[1],\n media: item[2],\n sourceMap: item[3],\n supports: item[4],\n layer: item[5]\n };\n\n if (indexByIdentifier !== -1) {\n stylesInDOM[indexByIdentifier].references++;\n stylesInDOM[indexByIdentifier].updater(obj);\n } else {\n var updater = addElementStyle(obj, options);\n options.byIndex = i;\n stylesInDOM.splice(i, 0, {\n identifier: identifier,\n updater: updater,\n references: 1\n });\n }\n\n identifiers.push(identifier);\n }\n\n return identifiers;\n}\n\nfunction addElementStyle(obj, options) {\n var api = options.domAPI(options);\n api.update(obj);\n\n var updater = function updater(newObj) {\n if (newObj) {\n if (newObj.css === obj.css && newObj.media === obj.media && newObj.sourceMap === obj.sourceMap && newObj.supports === obj.supports && newObj.layer === obj.layer) {\n return;\n }\n\n api.update(obj = newObj);\n } else {\n api.remove();\n }\n };\n\n return updater;\n}\n\nmodule.exports = function (list, options) {\n options = options || {};\n list = list || [];\n var lastIdentifiers = modulesToDom(list, options);\n return function update(newList) {\n newList = newList || [];\n\n for (var i = 0; i < lastIdentifiers.length; i++) {\n var identifier = lastIdentifiers[i];\n var index = getIndexByIdentifier(identifier);\n stylesInDOM[index].references--;\n }\n\n var newLastIdentifiers = modulesToDom(newList, options);\n\n for (var _i = 0; _i < lastIdentifiers.length; _i++) {\n var _identifier = lastIdentifiers[_i];\n\n var _index = getIndexByIdentifier(_identifier);\n\n if (stylesInDOM[_index].references === 0) {\n stylesInDOM[_index].updater();\n\n stylesInDOM.splice(_index, 1);\n }\n }\n\n lastIdentifiers = newLastIdentifiers;\n };\n};","\"use strict\";\n\nvar memo = {};\n/* istanbul ignore next */\n\nfunction getTarget(target) {\n if (typeof memo[target] === \"undefined\") {\n var styleTarget = document.querySelector(target); // Special case to return head of iframe instead of iframe itself\n\n if (window.HTMLIFrameElement && styleTarget instanceof window.HTMLIFrameElement) {\n try {\n // This will throw an exception if access to iframe is blocked\n // due to cross-origin restrictions\n styleTarget = styleTarget.contentDocument.head;\n } catch (e) {\n // istanbul ignore next\n styleTarget = null;\n }\n }\n\n memo[target] = styleTarget;\n }\n\n return memo[target];\n}\n/* istanbul ignore next */\n\n\nfunction insertBySelector(insert, style) {\n var target = getTarget(insert);\n\n if (!target) {\n throw new Error(\"Couldn't find a style target. This probably means that the value for the 'insert' parameter is invalid.\");\n }\n\n target.appendChild(style);\n}\n\nmodule.exports = insertBySelector;","\"use strict\";\n\n/* istanbul ignore next */\nfunction insertStyleElement(options) {\n var element = document.createElement(\"style\");\n options.setAttributes(element, options.attributes);\n options.insert(element, options.options);\n return element;\n}\n\nmodule.exports = insertStyleElement;","\"use strict\";\n\n/* istanbul ignore next */\nfunction setAttributesWithoutAttributes(styleElement) {\n var nonce = typeof __webpack_nonce__ !== \"undefined\" ? __webpack_nonce__ : null;\n\n if (nonce) {\n styleElement.setAttribute(\"nonce\", nonce);\n }\n}\n\nmodule.exports = setAttributesWithoutAttributes;","\"use strict\";\n\n/* istanbul ignore next */\nfunction apply(styleElement, options, obj) {\n var css = \"\";\n\n if (obj.supports) {\n css += \"@supports (\".concat(obj.supports, \") {\");\n }\n\n if (obj.media) {\n css += \"@media \".concat(obj.media, \" {\");\n }\n\n var needLayer = typeof obj.layer !== \"undefined\";\n\n if (needLayer) {\n css += \"@layer\".concat(obj.layer.length > 0 ? \" \".concat(obj.layer) : \"\", \" {\");\n }\n\n css += obj.css;\n\n if (needLayer) {\n css += \"}\";\n }\n\n if (obj.media) {\n css += \"}\";\n }\n\n if (obj.supports) {\n css += \"}\";\n }\n\n var sourceMap = obj.sourceMap;\n\n if (sourceMap && typeof btoa !== \"undefined\") {\n css += \"\\n/*# sourceMappingURL=data:application/json;base64,\".concat(btoa(unescape(encodeURIComponent(JSON.stringify(sourceMap)))), \" */\");\n } // For old IE\n\n /* istanbul ignore if */\n\n\n options.styleTagTransform(css, styleElement, options.options);\n}\n\nfunction removeStyleElement(styleElement) {\n // istanbul ignore if\n if (styleElement.parentNode === null) {\n return false;\n }\n\n styleElement.parentNode.removeChild(styleElement);\n}\n/* istanbul ignore next */\n\n\nfunction domAPI(options) {\n var styleElement = options.insertStyleElement(options);\n return {\n update: function update(obj) {\n apply(styleElement, options, obj);\n },\n remove: function remove() {\n removeStyleElement(styleElement);\n }\n };\n}\n\nmodule.exports = domAPI;","\"use strict\";\n\n/* istanbul ignore next */\nfunction styleTagTransform(css, styleElement) {\n if (styleElement.styleSheet) {\n styleElement.styleSheet.cssText = css;\n } else {\n while (styleElement.firstChild) {\n styleElement.removeChild(styleElement.firstChild);\n }\n\n styleElement.appendChild(document.createTextNode(css));\n }\n}\n\nmodule.exports = styleTagTransform;","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./styles.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./styles.css\";\n export default content && content.locals ? content.locals : undefined;\n","import { createPortal } from \"react-dom\";\n\nexport function Portal({ el, children }) {\n return el ? createPortal(children, el) : null;\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Portal } from \"./portal\";\nimport styles from \"./styles.css\";\n\nexport interface ExtensionOverlayProps {\n extensionName: string;\n slotModuleName: string;\n slotName: string;\n domElement: HTMLElement | null;\n}\n\nexport function ExtensionOverlay({\n extensionName,\n slotModuleName,\n slotName,\n domElement,\n}: ExtensionOverlayProps) {\n const [overlayDomElement, setOverlayDomElement] = useState<HTMLElement>();\n\n useEffect(() => {\n if (domElement) {\n const newOverlayDomElement = document.createElement(\"div\");\n domElement.parentElement?.appendChild(newOverlayDomElement);\n setOverlayDomElement(newOverlayDomElement);\n }\n }, [domElement]);\n\n return overlayDomElement ? (\n <Portal\n key={`extension-overlay-${slotModuleName}-${slotName}-${extensionName}`}\n el={overlayDomElement}\n >\n <Content extensionId={extensionName} />\n </Portal>\n ) : null;\n}\n\nfunction Content({ extensionId }) {\n return (\n <button className={styles.extensionOverlay}>\n <span className={styles.extensionTooltip}>{extensionId}</span>\n </button>\n );\n}\n","import React from \"react\";\nimport styles from \"./styles.css\";\nimport {\n getExtensionInternalStore,\n useStore,\n useStoreWithActions,\n} from \"@openmrs/esm-framework/src/internal\";\nimport { Button } from \"@carbon/react\";\nimport { Close } from \"@carbon/react/icons\";\nimport { Portal } from \"./portal\";\nimport { ExtensionOverlay } from \"./extension-overlay.component\";\nimport { ImplementerToolsStore, implementerToolsStore } from \"../store\";\n\nexport default function UiEditor() {\n const { slots, extensions } = useStore(getExtensionInternalStore());\n const { isOpen: implementerToolsIsOpen } = useStore(implementerToolsStore);\n\n return (\n <>\n {implementerToolsIsOpen ? null : <ExitButton />}\n {slots\n ? Object.entries(slots).map(([slotName, slotInfo]) => (\n <Portal\n key={`slot-overlay-${slotInfo.moduleName}-${slotName}`}\n el={document.querySelector(\n `*[data-extension-slot-name=\"${slotName}\"][data-extension-slot-module-name=\"${slotInfo.moduleName}\"]`\n )}\n >\n <SlotOverlay slotName={slotName} />\n </Portal>\n ))\n : null}\n {extensions\n ? Object.entries(extensions).map(([extensionName, extensionInfo]) =>\n Object.entries(extensionInfo.instances).map(\n ([slotModuleName, bySlotName]) =>\n Object.entries(bySlotName).map(\n ([slotName, extensionInstance]) => (\n <ExtensionOverlay\n key={slotName}\n extensionName={extensionName}\n slotModuleName={slotModuleName}\n slotName={slotName}\n domElement={document.querySelector(\n `*[data-extension-slot-name=\"${slotName}\"][data-extension-slot-module-name=\"${slotModuleName}\"] *[data-extension-id=\"${extensionInstance.id}\"]`\n )}\n />\n )\n )\n )\n )\n : null}\n </>\n );\n}\n\nexport function SlotOverlay({ slotName }) {\n return (\n <>\n <div className={styles.slotOverlay}></div>\n <div className={styles.slotName}>{slotName}</div>\n </>\n );\n}\n\nconst actions = {\n toggleIsUIEditorEnabled({ isUIEditorEnabled }: ImplementerToolsStore) {\n return { isUIEditorEnabled: !isUIEditorEnabled };\n },\n};\n\nexport function ExitButton() {\n const { toggleIsUIEditorEnabled } = useStoreWithActions(\n implementerToolsStore,\n actions\n );\n return (\n <Button\n className={styles.exitButton}\n kind=\"danger\"\n size=\"sm\"\n renderIcon={(props) => <Close {...props} size={16} />}\n iconDescription=\"Exit UI Editor\"\n tooltipPosition=\"left\"\n onClick={toggleIsUIEditorEnabled}\n hasIconOnly\n />\n );\n}\n"],"names":["___CSS_LOADER_EXPORT___","push","module","id","locals","exports","cssWithMappingToString","list","toString","this","map","item","content","concat","join","i","modules","mediaQuery","dedupe","alreadyImportedModules","length","_i","_arrayLikeToArray","arr","len","arr2","Array","_item","isArray","_arrayWithHoles","Symbol","iterator","_s","_e","_arr","_n","_d","call","next","done","value","err","_iterableToArrayLimit","o","minLen","n","Object","prototype","slice","constructor","name","from","test","_unsupportedIterableToArray","TypeError","_nonIterableRest","cssMapping","btoa","base64","unescape","encodeURIComponent","JSON","stringify","data","sourceMapping","sourceURLs","sources","source","sourceRoot","stylesInDOM","getIndexByIdentifier","identifier","result","modulesToDom","options","idCountMap","identifiers","base","count","indexByIdentifier","obj","css","media","sourceMap","supports","layer","references","updater","addElementStyle","byIndex","splice","api","domAPI","update","newObj","remove","lastIdentifiers","newList","index","newLastIdentifiers","_index","memo","insert","style","target","styleTarget","document","querySelector","window","HTMLIFrameElement","contentDocument","head","e","getTarget","Error","appendChild","element","createElement","setAttributes","attributes","styleElement","nonce","setAttribute","insertStyleElement","needLayer","styleTagTransform","apply","parentNode","removeChild","removeStyleElement","styleSheet","cssText","firstChild","createTextNode","undefined","Portal","el","children","createPortal","ExtensionOverlay","extensionName","slotModuleName","slotName","domElement","useState","overlayDomElement","setOverlayDomElement","useEffect","newOverlayDomElement","parentElement","key","Content","extensionId","button","className","styles","span","UiEditor","useStore","getExtensionInternalStore","slots","extensions","isOpen","implementerToolsStore","implementerToolsIsOpen","ExitButton","entries","slotInfo","moduleName","SlotOverlay","extensionInfo","instances","bySlotName","extensionInstance","div","actions","toggleIsUIEditorEnabled","isUIEditorEnabled","useStoreWithActions","Button","kind","size","renderIcon","props","Close","iconDescription","tooltipPosition","onClick","hasIconOnly"],"sourceRoot":""}
1
+ {"version":3,"file":"280.js","mappings":"yMAaIA,EAIJ,kBAAoB,OAAQ,CAC1BC,EAAG,qGAiBL,QAd2B,gBAAiB,SAAiBC,EAAMC,GACjE,IAAIC,EAAWF,EAAKE,SAChBC,GAAO,IAAAC,GAAyBJ,EAAM,CAAC,aAE3C,OAAoB,kBAAoB,EAAAK,GAAM,OAAS,CACrDC,MAAO,GACPC,OAAQ,GACRC,QAAS,YACTC,MAAO,6BACPC,KAAM,eACNT,IAAKA,GACJE,GAAOL,EAAOI,O,gEC7BfS,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,4mDAA6mD,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,wCAAwC,MAAQ,GAAG,SAAW,giBAAgiB,eAAiB,CAAC,6tCAA6tC,WAAa,MAE3gHH,EAAwBI,OAAS,CAChC,YAAe,sDACf,SAAY,mDACZ,iBAAoB,2DACpB,iBAAoB,2DACpB,WAAc,sDAEf,W,iOCHIC,EAAU,GAEdA,EAAQC,kBAAoB,IAC5BD,EAAQE,cAAgB,IAElBF,EAAQG,OAAS,SAAc,KAAM,QAE3CH,EAAQI,OAAS,IACjBJ,EAAQK,mBAAqB,IAEhB,IAAI,IAASL,GAKnB,QAAe,KAAW,WAAiB,gBAAiBM,E,4CCxB5D,SAASC,EAAO,G,IAAEC,EAAF,EAAEA,GAAItB,EAAN,EAAMA,SAC3B,OAAOsB,GAAKC,EAAAA,EAAAA,cAAavB,EAAUsB,GAAM,KCH3C,iB,yFAWO,SAASE,EAAiB,G,QAC/BC,EAD+B,EAC/BA,cACAC,EAF+B,EAE/BA,eACAC,EAH+B,EAG/BA,SACAC,EAJ+B,EAI/BA,WAEkDC,G,GAAAA,EAAAA,EAAAA,Y,EAAuB,E,+zBAAlEC,EAA2CD,EAAuB,GAA/CE,EAAwBF,EAAuB,GAUzE,OARAG,EAAAA,EAAAA,YAAU,WACR,GAAIJ,EAAY,C,IAEdA,EADMK,EAAuBC,SAASC,cAAc,OAC5B,QAAxBP,EAAAA,EAAWQ,qBAAa,IAAxBR,GAAAA,EAA0BS,YAAYJ,GACtCF,EAAqBE,MAEtB,CAACL,IAEGE,EACL,kBAACT,EAAM,CACLiB,IAAK,qBAAuCX,OAAlBD,EAAe,KAAeD,OAAZE,EAAS,KAAiB,OAAdF,GACxDH,GAAIQ,GAEJ,kBAACS,EAAO,CAACC,YAAaf,KAEtB,KAGN,SAASc,EAAQ,G,IAAA,IAAEC,YACjB,OACE,kBAACC,SAAM,CAACC,UAAWC,EAAAA,kBACjB,kBAACC,OAAI,CAACF,UAAWC,EAAAA,kBAA0BH,I,cCxCjD,iB,86BAae,SAASK,IACtB,IAA8BC,GAAAA,EAAAA,EAAAA,WAASC,EAAAA,EAAAA,8BAA/BC,EAAsBF,EAAtBE,MAAOC,EAAeH,EAAfG,WACPC,GAAmCJ,EAAAA,EAAAA,UAASK,EAAAA,IAA5CD,OAER,OACE,oCACGE,EAAyB,KAAO,kBAACC,EAAU,MAC3CL,EACGM,OAAOC,QAAQP,GAAOQ,KAAI,Y,aAAE7B,EAAQ,KAAE8B,EAAQ,K,OAC5C,kBAACpC,EAAM,CACLiB,IAAK,gBAAuCX,OAAvB8B,EAASC,WAAW,KAAY,OAAT/B,GAC5CL,GAAIY,SAASyB,cACX,+BAA8EF,OAA/C9B,EAAS,wCAA0D,OAApB8B,EAASC,WAAW,QAGpG,kBAACE,EAAW,CAACjC,SAAUA,QAG3B,KACHsB,EACGK,OAAOC,QAAQN,GAAYO,KAAI,Y,aAAE/B,EAAa,KAAEoC,EAAa,K,OAC3DP,OAAOC,QAAQM,EAAcC,WAAWN,KACtC,Y,aAAE9B,EAAc,KAAEqC,EAAU,K,OAC1BT,OAAOC,QAAQQ,GAAYP,KACzB,Y,aAAE7B,EAAQ,KAAEqC,EAAiB,K,OAC3B,kBAACxC,EAAgB,CACfc,IAAKX,EACLF,cAAeA,EACfC,eAAgBA,EAChBC,SAAUA,EACVC,WAAYM,SAASyB,cACnB,+BAA8EjC,OAA/CC,EAAS,wCAA+EqC,OAAzCtC,EAAe,4BAA+C,OAArBsC,EAAkBpD,GAAG,kBAO1J,MAKH,SAASgD,EAAY,G,IAAA,IAAEjC,SAC5B,OACE,oCACE,kBAACsC,MAAG,CAACvB,UAAWC,EAAAA,cAChB,kBAACsB,MAAG,CAACvB,UAAWC,EAAAA,UAAkBhB,IAKxC,IAAMuC,EAAU,CACdC,wBAAAA,SAAwB,GACtB,MAAO,CAAEC,mBADa,EAAEA,qBAKrB,SAASf,IACd,IAAM,GAA8BgB,EAAAA,EAAAA,qBAClClB,EAAAA,GACAe,GAFMC,wBAIR,OACE,kBAACG,EAAAA,OAAM,CACL5B,UAAWC,EAAAA,WACX4B,KAAK,SACLC,KAAK,KACLC,WAAYC,EAAAA,EACZC,gBAAgB,iBAChBC,gBAAgB,OAChBC,QAASV,EACTW,aAAAA","sources":["webpack://@openmrs/esm-implementer-tools-app/../../../node_modules/@carbon/icons-react/es/close/16.js","webpack://@openmrs/esm-implementer-tools-app/./src/ui-editor/styles.css","webpack://@openmrs/esm-implementer-tools-app/./src/ui-editor/styles.css?a044","webpack://@openmrs/esm-implementer-tools-app/./src/ui-editor/portal.tsx","webpack://@openmrs/esm-implementer-tools-app/./src/ui-editor/extension-overlay.component.tsx","webpack://@openmrs/esm-implementer-tools-app/./src/ui-editor/ui-editor.tsx"],"sourcesContent":["/**\n * Copyright IBM Corp. 2019, 2020\n *\n * This source code is licensed under the Apache-2.0 license found in the\n * LICENSE file in the root directory of this source tree.\n *\n * Code generated by @carbon/icon-build-helpers. DO NOT EDIT.\n */\nimport { _ as _objectWithoutProperties, I as Icon, a as _extends } from '../Icon-63ed8f4f.js';\nimport React from 'react';\nimport '@carbon/icon-helpers';\nimport 'prop-types';\n\nvar _ref2 =\n/*#__PURE__*/\n\n/*#__PURE__*/\nReact.createElement(\"path\", {\n d: \"M24 9.4L22.6 8 16 14.6 9.4 8 8 9.4 14.6 16 8 22.6 9.4 24 16 17.4 22.6 24 24 22.6 17.4 16 24 9.4z\"\n});\n\nvar Close16 = /*#__PURE__*/React.forwardRef(function Close16(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 16,\n height: 16,\n viewBox: \"0 0 32 32\",\n xmlns: \"http://www.w3.org/2000/svg\",\n fill: \"currentColor\",\n ref: ref\n }, rest), _ref2, children);\n});\n\nexport default Close16;\n","// Imports\nimport ___CSS_LOADER_API_SOURCEMAP_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/cssWithMappingToString.js\";\nimport ___CSS_LOADER_API_IMPORT___ from \"../../../../../node_modules/css-loader/dist/runtime/api.js\";\nvar ___CSS_LOADER_EXPORT___ = ___CSS_LOADER_API_IMPORT___(___CSS_LOADER_API_SOURCEMAP_IMPORT___);\n// Module\n___CSS_LOADER_EXPORT___.push([module.id, \".-esm-implementer-tools__styles__slotOverlay___0dSua {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n background-color: rgba(43, 43, 185, 0.1);\\n border: 1px solid rgba(43, 43, 185, 0.4);\\n pointer-events: none;\\n}\\n\\n.-esm-implementer-tools__styles__slotName___gwNsi {\\n background-color: rgb(255, 255, 255, 0.85);\\n border: 1px solid rgba(43, 43, 185, 0.4);\\n color: #393939;\\n position: absolute;\\n bottom: 0;\\n right: 0;\\n padding: 0.5em 0.5em 0.5em 0.5em;\\n pointer-events: none;\\n}\\n\\n.-esm-implementer-tools__styles__extensionOverlay___EKzCd {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n background: none;\\n border: none;\\n}\\n\\n.-esm-implementer-tools__styles__extensionOverlay___EKzCd:hover {\\n background-color: rgba(43, 43, 185, 0.1);\\n}\\n\\n/* Show the tooltip text when you mouse over the tooltip container */\\n.-esm-implementer-tools__styles__extensionOverlay___EKzCd:focus .-esm-implementer-tools__styles__extensionTooltip___QVban,\\n.-esm-implementer-tools__styles__extensionOverlay___EKzCd:hover .-esm-implementer-tools__styles__extensionTooltip___QVban {\\n visibility: visible;\\n opacity: 1;\\n}\\n\\n.-esm-implementer-tools__styles__extensionTooltip___QVban {\\n visibility: hidden;\\n width: auto;\\n background-color: rgb(255, 255, 255, 0.85);\\n text-align: center;\\n padding: 0.5em 0.5em 0.5em 0.5em;\\n border: 1px solid rgba(43, 43, 185, 0.4);\\n\\n position: absolute;\\n top: 0;\\n left: 0;\\n}\\n\\n.-esm-implementer-tools__styles__exitButton___VWj92 {\\n position: fixed !important;\\n bottom: 0;\\n right: 0;\\n z-index: 999999;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/ui-editor/styles.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,wCAAwC;EACxC,wCAAwC;EACxC,oBAAoB;AACtB;;AAEA;EACE,0CAA0C;EAC1C,wCAAwC;EACxC,cAAc;EACd,kBAAkB;EAClB,SAAS;EACT,QAAQ;EACR,gCAAgC;EAChC,oBAAoB;AACtB;;AAEA;EACE,kBAAkB;EAClB,MAAM;EACN,OAAO;EACP,WAAW;EACX,YAAY;EACZ,gBAAgB;EAChB,YAAY;AACd;;AAEA;EACE,wCAAwC;AAC1C;;AAEA,oEAAoE;AACpE;;EAEE,mBAAmB;EACnB,UAAU;AACZ;;AAEA;EACE,kBAAkB;EAClB,WAAW;EACX,0CAA0C;EAC1C,kBAAkB;EAClB,gCAAgC;EAChC,wCAAwC;;EAExC,kBAAkB;EAClB,MAAM;EACN,OAAO;AACT;;AAEA;EACE,0BAA0B;EAC1B,SAAS;EACT,QAAQ;EACR,eAAe;AACjB\",\"sourcesContent\":[\".slotOverlay {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n background-color: rgba(43, 43, 185, 0.1);\\n border: 1px solid rgba(43, 43, 185, 0.4);\\n pointer-events: none;\\n}\\n\\n.slotName {\\n background-color: rgb(255, 255, 255, 0.85);\\n border: 1px solid rgba(43, 43, 185, 0.4);\\n color: #393939;\\n position: absolute;\\n bottom: 0;\\n right: 0;\\n padding: 0.5em 0.5em 0.5em 0.5em;\\n pointer-events: none;\\n}\\n\\n.extensionOverlay {\\n position: absolute;\\n top: 0;\\n left: 0;\\n width: 100%;\\n height: 100%;\\n background: none;\\n border: none;\\n}\\n\\n.extensionOverlay:hover {\\n background-color: rgba(43, 43, 185, 0.1);\\n}\\n\\n/* Show the tooltip text when you mouse over the tooltip container */\\n.extensionOverlay:focus .extensionTooltip,\\n.extensionOverlay:hover .extensionTooltip {\\n visibility: visible;\\n opacity: 1;\\n}\\n\\n.extensionTooltip {\\n visibility: hidden;\\n width: auto;\\n background-color: rgb(255, 255, 255, 0.85);\\n text-align: center;\\n padding: 0.5em 0.5em 0.5em 0.5em;\\n border: 1px solid rgba(43, 43, 185, 0.4);\\n\\n position: absolute;\\n top: 0;\\n left: 0;\\n}\\n\\n.exitButton {\\n position: fixed !important;\\n bottom: 0;\\n right: 0;\\n z-index: 999999;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"slotOverlay\": \"-esm-implementer-tools__styles__slotOverlay___0dSua\",\n\t\"slotName\": \"-esm-implementer-tools__styles__slotName___gwNsi\",\n\t\"extensionOverlay\": \"-esm-implementer-tools__styles__extensionOverlay___EKzCd\",\n\t\"extensionTooltip\": \"-esm-implementer-tools__styles__extensionTooltip___QVban\",\n\t\"exitButton\": \"-esm-implementer-tools__styles__exitButton___VWj92\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n","\n import API from \"!../../../../../node_modules/style-loader/dist/runtime/injectStylesIntoStyleTag.js\";\n import domAPI from \"!../../../../../node_modules/style-loader/dist/runtime/styleDomAPI.js\";\n import insertFn from \"!../../../../../node_modules/style-loader/dist/runtime/insertBySelector.js\";\n import setAttributes from \"!../../../../../node_modules/style-loader/dist/runtime/setAttributesWithoutAttributes.js\";\n import insertStyleElement from \"!../../../../../node_modules/style-loader/dist/runtime/insertStyleElement.js\";\n import styleTagTransformFn from \"!../../../../../node_modules/style-loader/dist/runtime/styleTagTransform.js\";\n import content, * as namedExport from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./styles.css\";\n \n \n\nvar options = {};\n\noptions.styleTagTransform = styleTagTransformFn;\noptions.setAttributes = setAttributes;\n\n options.insert = insertFn.bind(null, \"head\");\n \noptions.domAPI = domAPI;\noptions.insertStyleElement = insertStyleElement;\n\nvar update = API(content, options);\n\n\n\nexport * from \"!!../../../../../node_modules/css-loader/dist/cjs.js??ruleSet[1].rules[1].use[1]!./styles.css\";\n export default content && content.locals ? content.locals : undefined;\n","import { createPortal } from \"react-dom\";\n\nexport function Portal({ el, children }) {\n return el ? createPortal(children, el) : null;\n}\n","import React, { useEffect, useState } from \"react\";\nimport { Portal } from \"./portal\";\nimport styles from \"./styles.css\";\n\nexport interface ExtensionOverlayProps {\n extensionName: string;\n slotModuleName: string;\n slotName: string;\n domElement: HTMLElement | null;\n}\n\nexport function ExtensionOverlay({\n extensionName,\n slotModuleName,\n slotName,\n domElement,\n}: ExtensionOverlayProps) {\n const [overlayDomElement, setOverlayDomElement] = useState<HTMLElement>();\n\n useEffect(() => {\n if (domElement) {\n const newOverlayDomElement = document.createElement(\"div\");\n domElement.parentElement?.appendChild(newOverlayDomElement);\n setOverlayDomElement(newOverlayDomElement);\n }\n }, [domElement]);\n\n return overlayDomElement ? (\n <Portal\n key={`extension-overlay-${slotModuleName}-${slotName}-${extensionName}`}\n el={overlayDomElement}\n >\n <Content extensionId={extensionName} />\n </Portal>\n ) : null;\n}\n\nfunction Content({ extensionId }) {\n return (\n <button className={styles.extensionOverlay}>\n <span className={styles.extensionTooltip}>{extensionId}</span>\n </button>\n );\n}\n","import React from \"react\";\nimport styles from \"./styles.css\";\nimport Close16 from \"@carbon/icons-react/es/close/16\";\nimport {\n getExtensionInternalStore,\n useStore,\n useStoreWithActions,\n} from \"@openmrs/esm-framework/src/internal\";\nimport { Button } from \"carbon-components-react\";\nimport { Portal } from \"./portal\";\nimport { ExtensionOverlay } from \"./extension-overlay.component\";\nimport { ImplementerToolsStore, implementerToolsStore } from \"../store\";\n\nexport default function UiEditor() {\n const { slots, extensions } = useStore(getExtensionInternalStore());\n const { isOpen: implementerToolsIsOpen } = useStore(implementerToolsStore);\n\n return (\n <>\n {implementerToolsIsOpen ? null : <ExitButton />}\n {slots\n ? Object.entries(slots).map(([slotName, slotInfo]) => (\n <Portal\n key={`slot-overlay-${slotInfo.moduleName}-${slotName}`}\n el={document.querySelector(\n `*[data-extension-slot-name=\"${slotName}\"][data-extension-slot-module-name=\"${slotInfo.moduleName}\"]`\n )}\n >\n <SlotOverlay slotName={slotName} />\n </Portal>\n ))\n : null}\n {extensions\n ? Object.entries(extensions).map(([extensionName, extensionInfo]) =>\n Object.entries(extensionInfo.instances).map(\n ([slotModuleName, bySlotName]) =>\n Object.entries(bySlotName).map(\n ([slotName, extensionInstance]) => (\n <ExtensionOverlay\n key={slotName}\n extensionName={extensionName}\n slotModuleName={slotModuleName}\n slotName={slotName}\n domElement={document.querySelector(\n `*[data-extension-slot-name=\"${slotName}\"][data-extension-slot-module-name=\"${slotModuleName}\"] *[data-extension-id=\"${extensionInstance.id}\"]`\n )}\n />\n )\n )\n )\n )\n : null}\n </>\n );\n}\n\nexport function SlotOverlay({ slotName }) {\n return (\n <>\n <div className={styles.slotOverlay}></div>\n <div className={styles.slotName}>{slotName}</div>\n </>\n );\n}\n\nconst actions = {\n toggleIsUIEditorEnabled({ isUIEditorEnabled }: ImplementerToolsStore) {\n return { isUIEditorEnabled: !isUIEditorEnabled };\n },\n};\n\nexport function ExitButton() {\n const { toggleIsUIEditorEnabled } = useStoreWithActions(\n implementerToolsStore,\n actions\n );\n return (\n <Button\n className={styles.exitButton}\n kind=\"danger\"\n size=\"sm\"\n renderIcon={Close16}\n iconDescription=\"Exit UI Editor\"\n tooltipPosition=\"left\"\n onClick={toggleIsUIEditorEnabled}\n hasIconOnly\n />\n );\n}\n"],"names":["_ref2","d","_ref","ref","children","rest","_","I","width","height","viewBox","xmlns","fill","___CSS_LOADER_EXPORT___","push","module","id","locals","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","undefined","Portal","el","createPortal","ExtensionOverlay","extensionName","slotModuleName","slotName","domElement","useState","overlayDomElement","setOverlayDomElement","useEffect","newOverlayDomElement","document","createElement","parentElement","appendChild","key","Content","extensionId","button","className","styles","span","UiEditor","useStore","getExtensionInternalStore","slots","extensions","isOpen","implementerToolsStore","implementerToolsIsOpen","ExitButton","Object","entries","map","slotInfo","moduleName","querySelector","SlotOverlay","extensionInfo","instances","bySlotName","extensionInstance","div","actions","toggleIsUIEditorEnabled","isUIEditorEnabled","useStoreWithActions","Button","kind","size","renderIcon","Close16","iconDescription","tooltipPosition","onClick","hasIconOnly"],"sourceRoot":""}
package/dist/284.js CHANGED
@@ -1,2 +1,2 @@
1
- (self.webpackChunk_openmrs_esm_implementer_tools_app=self.webpackChunk_openmrs_esm_implementer_tools_app||[]).push([[284],{1284:(e,n,t)=>{"use strict";t.r(n),t.d(n,{ConfigEditButton:()=>a,importTranslation:()=>c,setupOpenMRS:()=>p});var o=t(7644),r=t(6983),i=t.n(r),s=t(1004),l=t(2680);function a(e){var n=e.configPath,t=(0,l.useTranslation)().t;return i().createElement("button",{onClick:function(){s.wT.setState({configPathBeingEdited:n})}},t("edit","Edit"))}function p(){var e={featureName:"Implementer Tools",moduleName:"@openmrs/esm-implementer-tools-app"};return{pages:[{route:function(){return!0},load:(0,o.getAsyncLifecycle)((function(){return Promise.all([t.e(25),t.e(458),t.e(412),t.e(811)]).then(t.bind(t,8811))}),e)}],extensions:[{name:"implementer-tools-button",slot:"top-nav-actions-slot",load:(0,o.getAsyncLifecycle)((function(){return Promise.all([t.e(25),t.e(24),t.e(412),t.e(739)]).then(t.bind(t,3739))}),e)}]}}var c=t(3979)},1004:(e,n,t)=>{"use strict";function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),r.forEach((function(n){o(e,n,t[n])}))}return e}t.d(n,{XE:()=>l,wT:()=>i,zI:()=>s});var i=(0,t(7644).createGlobalStore)("implementer-tools",{activeItemDescription:void 0,configPathBeingEdited:null,isOpen:m(),hasAlert:!1,openTabIndex:0,isConfigToolbarOpen:f(),isUIEditorEnabled:d(),isJsonModeEnabled:b()}),s=(i.action((function(e,n){return r({},e,{hasAlert:n})})),i.action((function(e){return r({},e,{isOpen:!e.isOpen})}))),l=i.action((function(e){return r({},e,{isOpen:!0,openTabIndex:1})})),a=m(),p=f(),c=d(),u=b();function m(){var e;return null!==(e=JSON.parse(localStorage.getItem("openmrs:openmrsImplementerToolsAreOpen")||"false"))&&void 0!==e&&e}function f(){var e;return null===(e=JSON.parse(localStorage.getItem("openmrs:openmrsImplementerToolsConfigOpen")||"true"))||void 0===e||e}function d(){var e;return null!==(e=JSON.parse(localStorage.getItem("openmrs:isUIEditorEnabled")||"false"))&&void 0!==e&&e}function b(){var e;return null!==(e=JSON.parse(localStorage.getItem("openmrs:getIsJsonModeEnabled")||"false"))&&void 0!==e&&e}i.subscribe((function(e){var n,t;e.isOpen!=a&&(n=e.isOpen,localStorage.setItem("openmrs:openmrsImplementerToolsAreOpen",JSON.stringify(n)),a=e.isOpen),e.isUIEditorEnabled!=c&&(t=e.isUIEditorEnabled,localStorage.setItem("openmrs:isUIEditorEnabled",JSON.stringify(t)),c=e.isUIEditorEnabled),e.isConfigToolbarOpen!=p&&(function(e){localStorage.setItem("openmrs:openmrsImplementerToolsConfigOpen",JSON.stringify(e))}(e.isConfigToolbarOpen),p=e.isConfigToolbarOpen),e.isJsonModeEnabled!=u&&(function(e){localStorage.setItem("openmrs:getIsJsonModeEnabled",JSON.stringify(e))}(e.isJsonModeEnabled),u=e.isJsonModeEnabled)}))},3979:(e,n,t)=>{var o={"./en.json":[3574,574],"./es.json":[8319,319]};function r(e){if(!t.o(o,e))return Promise.resolve().then((()=>{var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}));var n=o[e],r=n[0];return t.e(n[1]).then((()=>t(r)))}r.keys=()=>Object.keys(o),r.id=3979,e.exports=r}}]);
1
+ (self.webpackChunk_openmrs_esm_implementer_tools_app=self.webpackChunk_openmrs_esm_implementer_tools_app||[]).push([[284],{1284:(e,n,t)=>{"use strict";t.r(n),t.d(n,{ConfigEditButton:()=>a,importTranslation:()=>c,setupOpenMRS:()=>p});var o=t(7644),r=t(6983),i=t.n(r),s=t(1004),l=t(2680);function a(e){var n=e.configPath,t=(0,l.useTranslation)().t;return i().createElement("button",{onClick:function(){s.wT.setState({configPathBeingEdited:n})}},t("edit","Edit"))}function p(){var e={featureName:"Implementer Tools",moduleName:"@openmrs/esm-implementer-tools-app"};return{pages:[{route:function(){return!0},load:(0,o.getAsyncLifecycle)((function(){return Promise.all([t.e(458),t.e(784),t.e(811)]).then(t.bind(t,8811))}),e)}],extensions:[{name:"implementer-tools-button",slot:"top-nav-actions-slot",load:(0,o.getAsyncLifecycle)((function(){return Promise.all([t.e(839),t.e(784),t.e(105)]).then(t.bind(t,4105))}),e)}]}}var c=t(3979)},1004:(e,n,t)=>{"use strict";function o(e,n,t){return n in e?Object.defineProperty(e,n,{value:t,enumerable:!0,configurable:!0,writable:!0}):e[n]=t,e}function r(e){for(var n=1;n<arguments.length;n++){var t=null!=arguments[n]?arguments[n]:{},r=Object.keys(t);"function"==typeof Object.getOwnPropertySymbols&&(r=r.concat(Object.getOwnPropertySymbols(t).filter((function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})))),r.forEach((function(n){o(e,n,t[n])}))}return e}t.d(n,{XE:()=>l,wT:()=>i,zI:()=>s});var i=(0,t(7644).createGlobalStore)("implementer-tools",{activeItemDescription:void 0,configPathBeingEdited:null,isOpen:m(),hasAlert:!1,openTabIndex:0,isConfigToolbarOpen:f(),isUIEditorEnabled:d(),isJsonModeEnabled:b()}),s=(i.action((function(e,n){return r({},e,{hasAlert:n})})),i.action((function(e){return r({},e,{isOpen:!e.isOpen})}))),l=i.action((function(e){return r({},e,{isOpen:!0,openTabIndex:1})})),a=m(),p=f(),c=d(),u=b();function m(){var e;return null!==(e=JSON.parse(localStorage.getItem("openmrs:openmrsImplementerToolsAreOpen")||"false"))&&void 0!==e&&e}function f(){var e;return null===(e=JSON.parse(localStorage.getItem("openmrs:openmrsImplementerToolsConfigOpen")||"true"))||void 0===e||e}function d(){var e;return null!==(e=JSON.parse(localStorage.getItem("openmrs:isUIEditorEnabled")||"false"))&&void 0!==e&&e}function b(){var e;return null!==(e=JSON.parse(localStorage.getItem("openmrs:getIsJsonModeEnabled")||"false"))&&void 0!==e&&e}i.subscribe((function(e){var n,t;e.isOpen!=a&&(n=e.isOpen,localStorage.setItem("openmrs:openmrsImplementerToolsAreOpen",JSON.stringify(n)),a=e.isOpen),e.isUIEditorEnabled!=c&&(t=e.isUIEditorEnabled,localStorage.setItem("openmrs:isUIEditorEnabled",JSON.stringify(t)),c=e.isUIEditorEnabled),e.isConfigToolbarOpen!=p&&(function(e){localStorage.setItem("openmrs:openmrsImplementerToolsConfigOpen",JSON.stringify(e))}(e.isConfigToolbarOpen),p=e.isConfigToolbarOpen),e.isJsonModeEnabled!=u&&(function(e){localStorage.setItem("openmrs:getIsJsonModeEnabled",JSON.stringify(e))}(e.isJsonModeEnabled),u=e.isJsonModeEnabled)}))},3979:(e,n,t)=>{var o={"./en.json":[3574,574],"./es.json":[8319,319]};function r(e){if(!t.o(o,e))return Promise.resolve().then((()=>{var n=new Error("Cannot find module '"+e+"'");throw n.code="MODULE_NOT_FOUND",n}));var n=o[e],r=n[0];return t.e(n[1]).then((()=>t(r)))}r.keys=()=>Object.keys(o),r.id=3979,e.exports=r}}]);
2
2
  //# sourceMappingURL=284.js.map
package/dist/284.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"284.js","mappings":"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","sources":["webpack://@openmrs/esm-implementer-tools-app/./src/config-edit-button/config-edit-button.component.tsx","webpack://@openmrs/esm-implementer-tools-app/./src/index.ts","webpack://@openmrs/esm-implementer-tools-app/./src/store.ts","webpack://@openmrs/esm-implementer-tools-app//home/runner/work/openmrs-esm-core/openmrs-esm-core/packages/apps/esm-implementer-tools-app/translations|lazy|nonrecursive|/.json$/"],"sourcesContent":["import React from \"react\";\nimport { implementerToolsStore } from \"../store\";\nimport { useTranslation } from \"react-i18next\";\n\ninterface ConfigEditButtonProps {\n configPath: string[];\n}\n\nexport default function ConfigEditButton({\n configPath,\n}: ConfigEditButtonProps) {\n const { t } = useTranslation();\n return (\n <button\n onClick={() => {\n implementerToolsStore.setState({ configPathBeingEdited: configPath });\n }}\n >\n {t(\"edit\", \"Edit\")}\n </button>\n );\n}\n","import { getAsyncLifecycle } from \"@openmrs/esm-framework\";\n\nfunction setupOpenMRS() {\n const moduleName = \"@openmrs/esm-implementer-tools-app\";\n const options = {\n featureName: \"Implementer Tools\",\n moduleName,\n };\n\n return {\n pages: [\n {\n route: () => true,\n load: getAsyncLifecycle(\n () => import(\"./implementer-tools.component\"),\n options\n ),\n },\n ],\n extensions: [\n {\n name: \"implementer-tools-button\",\n slot: \"top-nav-actions-slot\",\n load: getAsyncLifecycle(\n () => import(\"./implementer-tools.button\"),\n options\n ),\n },\n ],\n };\n}\n\nconst importTranslation = require.context(\n \"../translations\",\n false,\n /.json$/,\n \"lazy\"\n);\n\nexport { setupOpenMRS, importTranslation };\n\nexport { default as ConfigEditButton } from \"./config-edit-button/config-edit-button.component\";\n","import { createGlobalStore } from \"@openmrs/esm-framework\";\nimport { Store } from \"unistore\";\n\nexport interface ImplementerToolsStore {\n activeItemDescription?: ActiveItemDescription;\n configPathBeingEdited: null | Array<string>;\n isOpen: boolean;\n hasAlert: boolean;\n openTabIndex: number;\n isConfigToolbarOpen: boolean;\n isUIEditorEnabled: boolean;\n isJsonModeEnabled: boolean;\n}\n\nexport interface ActiveItemDescription {\n path: Array<string>;\n description?: string;\n value?: string | Array<string>;\n source?: string;\n}\n\nexport const implementerToolsStore: Store<ImplementerToolsStore> =\n createGlobalStore(\"implementer-tools\", {\n activeItemDescription: undefined,\n configPathBeingEdited: null,\n isOpen: getIsImplementerToolsOpen(),\n hasAlert: false,\n openTabIndex: 0,\n isConfigToolbarOpen: getIsConfigToolbarOpen(),\n isUIEditorEnabled: getIsUIEditorEnabled(),\n isJsonModeEnabled: getIsJsonModeEnabled(),\n });\n\nexport const setHasAlert = implementerToolsStore.action(\n (state, value: boolean) => ({\n ...state,\n hasAlert: value,\n })\n);\n\nexport const togglePopup = implementerToolsStore.action((state) => ({\n ...state,\n isOpen: !state.isOpen,\n}));\n\nexport const showModuleDiagnostics = implementerToolsStore.action((state) => ({\n ...state,\n isOpen: true,\n openTabIndex: 1,\n}));\n\n/* Set up localStorage-serialized state elements */\n\nlet lastValueOfIsOpen = getIsImplementerToolsOpen();\nlet lastValueOfConfigToolbarOpen = getIsConfigToolbarOpen();\nlet lastValueOfIsUiEditorEnabled = getIsUIEditorEnabled();\nlet lastValueOfIsJsonModeEnabled = getIsJsonModeEnabled();\n\nimplementerToolsStore.subscribe((state) => {\n if (state.isOpen != lastValueOfIsOpen) {\n setIsImplementerToolsOpen(state.isOpen);\n lastValueOfIsOpen = state.isOpen;\n }\n if (state.isUIEditorEnabled != lastValueOfIsUiEditorEnabled) {\n setIsUIEditorEnabled(state.isUIEditorEnabled);\n lastValueOfIsUiEditorEnabled = state.isUIEditorEnabled;\n }\n if (state.isConfigToolbarOpen != lastValueOfConfigToolbarOpen) {\n setIsConfigToolbarOpen(state.isConfigToolbarOpen);\n lastValueOfConfigToolbarOpen = state.isConfigToolbarOpen;\n }\n if (state.isJsonModeEnabled != lastValueOfIsJsonModeEnabled) {\n setIsJsonModeEnabled(state.isJsonModeEnabled);\n lastValueOfIsJsonModeEnabled = state.isJsonModeEnabled;\n }\n});\n\nfunction getIsImplementerToolsOpen(): boolean {\n return (\n JSON.parse(\n localStorage.getItem(\"openmrs:openmrsImplementerToolsAreOpen\") || \"false\"\n ) ?? false\n );\n}\n\nfunction setIsImplementerToolsOpen(value: boolean): void {\n localStorage.setItem(\n \"openmrs:openmrsImplementerToolsAreOpen\",\n JSON.stringify(value)\n );\n}\n\nfunction getIsConfigToolbarOpen(): boolean {\n return (\n JSON.parse(\n localStorage.getItem(\"openmrs:openmrsImplementerToolsConfigOpen\") ||\n \"true\"\n ) ?? true\n );\n}\n\nfunction setIsConfigToolbarOpen(value: boolean): void {\n localStorage.setItem(\n \"openmrs:openmrsImplementerToolsConfigOpen\",\n JSON.stringify(value)\n );\n}\n\nfunction getIsUIEditorEnabled(): boolean {\n return (\n JSON.parse(localStorage.getItem(\"openmrs:isUIEditorEnabled\") || \"false\") ??\n false\n );\n}\n\nfunction setIsUIEditorEnabled(enabled: boolean) {\n localStorage.setItem(\"openmrs:isUIEditorEnabled\", JSON.stringify(enabled));\n}\n\nfunction getIsJsonModeEnabled(): boolean {\n return (\n JSON.parse(\n localStorage.getItem(\"openmrs:getIsJsonModeEnabled\") || \"false\"\n ) ?? false\n );\n}\n\nfunction setIsJsonModeEnabled(enabled: boolean) {\n localStorage.setItem(\"openmrs:getIsJsonModeEnabled\", JSON.stringify(enabled));\n}\n","var map = {\n\t\"./en.json\": [\n\t\t3574,\n\t\t574\n\t],\n\t\"./es.json\": [\n\t\t8319,\n\t\t319\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 3979;\nmodule.exports = webpackAsyncContext;"],"names":["ConfigEditButton","configPath","useTranslation","t","button","onClick","implementerToolsStore","configPathBeingEdited","setupOpenMRS","options","featureName","moduleName","pages","route","load","getAsyncLifecycle","extensions","name","slot","importTranslation","require","createGlobalStore","activeItemDescription","undefined","isOpen","getIsImplementerToolsOpen","hasAlert","openTabIndex","isConfigToolbarOpen","getIsConfigToolbarOpen","isUIEditorEnabled","getIsUIEditorEnabled","isJsonModeEnabled","getIsJsonModeEnabled","togglePopup","action","state","value","showModuleDiagnostics","lastValueOfIsOpen","lastValueOfConfigToolbarOpen","lastValueOfIsUiEditorEnabled","lastValueOfIsJsonModeEnabled","JSON","parse","localStorage","getItem","subscribe","enabled","setItem","stringify","setIsConfigToolbarOpen","setIsJsonModeEnabled","map","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","Error","code","ids","id","keys","Object","module","exports"],"sourceRoot":""}
1
+ {"version":3,"file":"284.js","mappings":"8RAQe,SAASA,EAAiB,G,IAAA,IACvCC,WAEM,GAAQC,EAAAA,EAAAA,kBAANC,EACR,OACE,kBAACC,SAAM,CACLC,QAAS,WACPC,EAAAA,GAAAA,SAA+B,CAAEC,sBAAuBN,MAGzDE,EAAE,OAAQ,SChBjB,SAASK,IACP,IACMC,EAAU,CACdC,YAAa,oBACbC,WAHiB,sCAMnB,MAAO,CACLC,MAAO,CACL,CACEC,MAAO,W,OAAM,GACbC,MAAMC,EAAAA,EAAAA,oBACJ,W,OAAM,iEACNN,KAINO,WAAY,CACV,CACEC,KAAM,2BACNC,KAAM,uBACNJ,MAAMC,EAAAA,EAAAA,oBACJ,W,OAAM,iEACNN,MAOV,IAAMU,EAAoBC,EAAAA,O,4BChC1B,kB,kdAqBO,IAAMd,GACXe,E,QAAAA,mBAAkB,oBAAqB,CACrCC,2BAAuBC,EACvBhB,sBAAuB,KACvBiB,OAAQC,IACRC,UAAU,EACVC,aAAc,EACdC,oBAAqBC,IACrBC,kBAAmBC,IACnBC,kBAAmBC,MAUVC,GAPc5B,EAAsB6B,QAC/C,SAACC,EAAOC,G,OAAoB,KACvBD,EAAK,CACRV,SAAUW,OAIa/B,EAAsB6B,QAAO,SAACC,G,OAAW,KAC/DA,EAAK,CACRZ,QAASY,EAAMZ,aAGJc,EAAwBhC,EAAsB6B,QAAO,SAACC,G,OAAW,KACzEA,EAAK,CACRZ,QAAQ,EACRG,aAAc,OAKZY,EAAoBd,IACpBe,EAA+BX,IAC/BY,EAA+BV,IAC/BW,EAA+BT,IAqBnC,SAASR,I,IAELkB,EADF,OAGG,QAFDA,EAAAA,KAAKC,MACHC,aAAaC,QAAQ,2CAA6C,gBACnE,IAFDH,GAAAA,EAaJ,SAASd,I,IAELc,EADF,OAIG,QAHDA,EAAAA,KAAKC,MACHC,aAAaC,QAAQ,8CACnB,eACH,IAHDH,GAAAA,EAcJ,SAASZ,I,IAELY,EADF,OAC0E,QAAxEA,EAAAA,KAAKC,MAAMC,aAAaC,QAAQ,8BAAgC,gBAAQ,IAAxEH,GAAAA,EASJ,SAASV,I,IAELU,EADF,OAGG,QAFDA,EAAAA,KAAKC,MACHC,aAAaC,QAAQ,iCAAmC,gBACzD,IAFDH,GAAAA,EA/DJrC,EAAsByC,WAAU,SAACX,GA2BjC,IAAmCC,EA8BLW,EAxDxBZ,EAAMZ,QAAUe,IA0BaF,EAzBLD,EAAMZ,OA0BlCqB,aAAaI,QACX,yCACAN,KAAKO,UAAUb,IA3BfE,EAAoBH,EAAMZ,QAExBY,EAAMN,mBAAqBW,IAoDHO,EAnDLZ,EAAMN,kBAoD7Be,aAAaI,QAAQ,4BAA6BN,KAAKO,UAAUF,IAnD/DP,EAA+BL,EAAMN,mBAEnCM,EAAMR,qBAAuBY,IAkCnC,SAAgCH,GAC9BQ,aAAaI,QACX,4CACAN,KAAKO,UAAUb,IApCfc,CAAuBf,EAAMR,qBAC7BY,EAA+BJ,EAAMR,qBAEnCQ,EAAMJ,mBAAqBU,IAwDjC,SAA8BM,GAC5BH,aAAaI,QAAQ,+BAAgCN,KAAKO,UAAUF,IAxDlEI,CAAqBhB,EAAMJ,mBAC3BU,EAA+BN,EAAMJ,uB,eCzEzC,IAAIqB,EAAM,CACT,YAAa,CACZ,KACA,KAED,YAAa,CACZ,KACA,MAGF,SAASC,EAAoBC,GAC5B,IAAIC,EAAoBC,EAAEJ,EAAKE,GAC9B,OAAOG,QAAQC,UAAUC,MAAK,KAC7B,IAAIC,EAAI,IAAIC,MAAM,uBAAyBP,EAAM,KAEjD,MADAM,EAAEE,KAAO,mBACHF,KAIR,IAAIG,EAAMX,EAAIE,GAAMU,EAAKD,EAAI,GAC7B,OAAOR,EAAoBK,EAAEG,EAAI,IAAIJ,MAAK,IAClCJ,EAAoBS,KAG7BX,EAAoBY,KAAO,IAAOC,OAAOD,KAAKb,GAC9CC,EAAoBW,GAAK,KACzBG,EAAOC,QAAUf","sources":["webpack://@openmrs/esm-implementer-tools-app/./src/config-edit-button/config-edit-button.component.tsx","webpack://@openmrs/esm-implementer-tools-app/./src/index.ts","webpack://@openmrs/esm-implementer-tools-app/./src/store.ts","webpack://@openmrs/esm-implementer-tools-app//home/runner/work/openmrs-esm-core/openmrs-esm-core/packages/apps/esm-implementer-tools-app/translations|lazy|nonrecursive|/.json$/"],"sourcesContent":["import React from \"react\";\nimport { implementerToolsStore } from \"../store\";\nimport { useTranslation } from \"react-i18next\";\n\ninterface ConfigEditButtonProps {\n configPath: string[];\n}\n\nexport default function ConfigEditButton({\n configPath,\n}: ConfigEditButtonProps) {\n const { t } = useTranslation();\n return (\n <button\n onClick={() => {\n implementerToolsStore.setState({ configPathBeingEdited: configPath });\n }}\n >\n {t(\"edit\", \"Edit\")}\n </button>\n );\n}\n","import { getAsyncLifecycle } from \"@openmrs/esm-framework\";\n\nfunction setupOpenMRS() {\n const moduleName = \"@openmrs/esm-implementer-tools-app\";\n const options = {\n featureName: \"Implementer Tools\",\n moduleName,\n };\n\n return {\n pages: [\n {\n route: () => true,\n load: getAsyncLifecycle(\n () => import(\"./implementer-tools.component\"),\n options\n ),\n },\n ],\n extensions: [\n {\n name: \"implementer-tools-button\",\n slot: \"top-nav-actions-slot\",\n load: getAsyncLifecycle(\n () => import(\"./implementer-tools.button\"),\n options\n ),\n },\n ],\n };\n}\n\nconst importTranslation = require.context(\n \"../translations\",\n false,\n /.json$/,\n \"lazy\"\n);\n\nexport { setupOpenMRS, importTranslation };\n\nexport { default as ConfigEditButton } from \"./config-edit-button/config-edit-button.component\";\n","import { createGlobalStore } from \"@openmrs/esm-framework\";\nimport { Store } from \"unistore\";\n\nexport interface ImplementerToolsStore {\n activeItemDescription?: ActiveItemDescription;\n configPathBeingEdited: null | Array<string>;\n isOpen: boolean;\n hasAlert: boolean;\n openTabIndex: number;\n isConfigToolbarOpen: boolean;\n isUIEditorEnabled: boolean;\n isJsonModeEnabled: boolean;\n}\n\nexport interface ActiveItemDescription {\n path: Array<string>;\n description?: string;\n value?: string | Array<string>;\n source?: string;\n}\n\nexport const implementerToolsStore: Store<ImplementerToolsStore> =\n createGlobalStore(\"implementer-tools\", {\n activeItemDescription: undefined,\n configPathBeingEdited: null,\n isOpen: getIsImplementerToolsOpen(),\n hasAlert: false,\n openTabIndex: 0,\n isConfigToolbarOpen: getIsConfigToolbarOpen(),\n isUIEditorEnabled: getIsUIEditorEnabled(),\n isJsonModeEnabled: getIsJsonModeEnabled(),\n });\n\nexport const setHasAlert = implementerToolsStore.action(\n (state, value: boolean) => ({\n ...state,\n hasAlert: value,\n })\n);\n\nexport const togglePopup = implementerToolsStore.action((state) => ({\n ...state,\n isOpen: !state.isOpen,\n}));\n\nexport const showModuleDiagnostics = implementerToolsStore.action((state) => ({\n ...state,\n isOpen: true,\n openTabIndex: 1,\n}));\n\n/* Set up localStorage-serialized state elements */\n\nlet lastValueOfIsOpen = getIsImplementerToolsOpen();\nlet lastValueOfConfigToolbarOpen = getIsConfigToolbarOpen();\nlet lastValueOfIsUiEditorEnabled = getIsUIEditorEnabled();\nlet lastValueOfIsJsonModeEnabled = getIsJsonModeEnabled();\n\nimplementerToolsStore.subscribe((state) => {\n if (state.isOpen != lastValueOfIsOpen) {\n setIsImplementerToolsOpen(state.isOpen);\n lastValueOfIsOpen = state.isOpen;\n }\n if (state.isUIEditorEnabled != lastValueOfIsUiEditorEnabled) {\n setIsUIEditorEnabled(state.isUIEditorEnabled);\n lastValueOfIsUiEditorEnabled = state.isUIEditorEnabled;\n }\n if (state.isConfigToolbarOpen != lastValueOfConfigToolbarOpen) {\n setIsConfigToolbarOpen(state.isConfigToolbarOpen);\n lastValueOfConfigToolbarOpen = state.isConfigToolbarOpen;\n }\n if (state.isJsonModeEnabled != lastValueOfIsJsonModeEnabled) {\n setIsJsonModeEnabled(state.isJsonModeEnabled);\n lastValueOfIsJsonModeEnabled = state.isJsonModeEnabled;\n }\n});\n\nfunction getIsImplementerToolsOpen(): boolean {\n return (\n JSON.parse(\n localStorage.getItem(\"openmrs:openmrsImplementerToolsAreOpen\") || \"false\"\n ) ?? false\n );\n}\n\nfunction setIsImplementerToolsOpen(value: boolean): void {\n localStorage.setItem(\n \"openmrs:openmrsImplementerToolsAreOpen\",\n JSON.stringify(value)\n );\n}\n\nfunction getIsConfigToolbarOpen(): boolean {\n return (\n JSON.parse(\n localStorage.getItem(\"openmrs:openmrsImplementerToolsConfigOpen\") ||\n \"true\"\n ) ?? true\n );\n}\n\nfunction setIsConfigToolbarOpen(value: boolean): void {\n localStorage.setItem(\n \"openmrs:openmrsImplementerToolsConfigOpen\",\n JSON.stringify(value)\n );\n}\n\nfunction getIsUIEditorEnabled(): boolean {\n return (\n JSON.parse(localStorage.getItem(\"openmrs:isUIEditorEnabled\") || \"false\") ??\n false\n );\n}\n\nfunction setIsUIEditorEnabled(enabled: boolean) {\n localStorage.setItem(\"openmrs:isUIEditorEnabled\", JSON.stringify(enabled));\n}\n\nfunction getIsJsonModeEnabled(): boolean {\n return (\n JSON.parse(\n localStorage.getItem(\"openmrs:getIsJsonModeEnabled\") || \"false\"\n ) ?? false\n );\n}\n\nfunction setIsJsonModeEnabled(enabled: boolean) {\n localStorage.setItem(\"openmrs:getIsJsonModeEnabled\", JSON.stringify(enabled));\n}\n","var map = {\n\t\"./en.json\": [\n\t\t3574,\n\t\t574\n\t],\n\t\"./es.json\": [\n\t\t8319,\n\t\t319\n\t]\n};\nfunction webpackAsyncContext(req) {\n\tif(!__webpack_require__.o(map, req)) {\n\t\treturn Promise.resolve().then(() => {\n\t\t\tvar e = new Error(\"Cannot find module '\" + req + \"'\");\n\t\t\te.code = 'MODULE_NOT_FOUND';\n\t\t\tthrow e;\n\t\t});\n\t}\n\n\tvar ids = map[req], id = ids[0];\n\treturn __webpack_require__.e(ids[1]).then(() => {\n\t\treturn __webpack_require__(id);\n\t});\n}\nwebpackAsyncContext.keys = () => (Object.keys(map));\nwebpackAsyncContext.id = 3979;\nmodule.exports = webpackAsyncContext;"],"names":["ConfigEditButton","configPath","useTranslation","t","button","onClick","implementerToolsStore","configPathBeingEdited","setupOpenMRS","options","featureName","moduleName","pages","route","load","getAsyncLifecycle","extensions","name","slot","importTranslation","require","createGlobalStore","activeItemDescription","undefined","isOpen","getIsImplementerToolsOpen","hasAlert","openTabIndex","isConfigToolbarOpen","getIsConfigToolbarOpen","isUIEditorEnabled","getIsUIEditorEnabled","isJsonModeEnabled","getIsJsonModeEnabled","togglePopup","action","state","value","showModuleDiagnostics","lastValueOfIsOpen","lastValueOfConfigToolbarOpen","lastValueOfIsUiEditorEnabled","lastValueOfIsJsonModeEnabled","JSON","parse","localStorage","getItem","subscribe","enabled","setItem","stringify","setIsConfigToolbarOpen","setIsJsonModeEnabled","map","webpackAsyncContext","req","__webpack_require__","o","Promise","resolve","then","e","Error","code","ids","id","keys","Object","module","exports"],"sourceRoot":""}