@openmrs/esm-implementer-tools-app 3.2.1-pre.950 → 3.2.1-pre.958

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.
@@ -0,0 +1,18 @@
1
+ import { openmrsFetch } from "@openmrs/esm-framework";
2
+
3
+ export function fetchPersonAttributeTypeByUuid(
4
+ personAttributeTypeUuid: string
5
+ ) {
6
+ return openmrsFetch(
7
+ `/ws/rest/v1/personattributetype/${personAttributeTypeUuid}`,
8
+ {
9
+ method: "GET",
10
+ }
11
+ );
12
+ }
13
+
14
+ export function performPersonAttributeTypeSearch(query: string) {
15
+ return openmrsFetch(`/ws/rest/v1/personattributetype/?q=${query}`, {
16
+ method: "GET",
17
+ });
18
+ }
@@ -0,0 +1,41 @@
1
+ @import "../../implementer-tools.styles.scss";
2
+
3
+ .activePersonAttributeUuid {
4
+ @include carbon--type-style("body-short-01");
5
+ color: $ui-05;
6
+ margin-bottom: $spacing-03;
7
+ padding-bottom: $spacing-03;
8
+ border-bottom: 1px solid $ui-03;
9
+ }
10
+
11
+ .autocomplete,
12
+ .autocomplete > [role="combobox"] {
13
+ display: flex;
14
+ position: relative;
15
+ width: 20em;
16
+ }
17
+
18
+ .autocomplete [role="listbox"] {
19
+ margin: 0;
20
+ padding: 0;
21
+ display: flex;
22
+ flex-flow: column wrap;
23
+ background-color: whitesmoke;
24
+ color: #fff;
25
+ }
26
+
27
+ .autocomplete li {
28
+ line-height: 0.75rem;
29
+ padding: 0.5em;
30
+ display: block;
31
+ border-bottom: 0.125rem solid #718096;
32
+ outline: 0;
33
+ margin: 0;
34
+ color: #000;
35
+ }
36
+
37
+ .autocomplete [role="option"]:hover {
38
+ background-color: #38a169;
39
+ border-color: #38a169;
40
+ color: #f7fafc;
41
+ }
@@ -0,0 +1,115 @@
1
+ import React, { useState, useEffect, useMemo } from "react";
2
+ import debounce from "lodash-es/debounce";
3
+ import uniqueId from "lodash-es/uniqueId";
4
+ import { performPersonAttributeTypeSearch } from "./person-attribute-search.resource";
5
+ import styles from "./person-attribute-search.scss";
6
+ import { useTranslation } from "react-i18next";
7
+ import { Search } from "carbon-components-react";
8
+
9
+ interface PersonAttributeTypeSearchBoxProps {
10
+ value: string;
11
+ setPersonAttributeUuid: (personAttributeType) => void;
12
+ }
13
+
14
+ export function PersonAttributeTypeSearchBox({
15
+ setPersonAttributeUuid,
16
+ value,
17
+ }: PersonAttributeTypeSearchBoxProps) {
18
+ const [searchTerm, setSearchTerm] = useState("");
19
+ const [searchResults, setSearchResults] = useState([]);
20
+ const [activePersonAttributeUuid, setActivePersonAttributeUuid] =
21
+ useState<any>(value);
22
+ const { t } = useTranslation();
23
+ const searchTimeoutInMs = 300;
24
+
25
+ const id = useMemo(() => uniqueId(), []);
26
+
27
+ const handleUuidChange = (personAttributeType) => {
28
+ setActivePersonAttributeUuid(personAttributeType.uuid);
29
+ resetSearch();
30
+ setPersonAttributeUuid(personAttributeType.uuid);
31
+ };
32
+
33
+ const resetSearch = () => {
34
+ setSearchTerm("");
35
+ setSearchResults([]);
36
+ };
37
+
38
+ const handleSearchTermChange = debounce((searchTerm) => {
39
+ setSearchTerm(searchTerm);
40
+ }, searchTimeoutInMs);
41
+
42
+ useEffect(() => {
43
+ const ac = new AbortController();
44
+
45
+ if (searchTerm && searchTerm.length >= 2) {
46
+ performPersonAttributeTypeSearch(searchTerm).then(
47
+ ({ data: { results } }) => {
48
+ setSearchResults(results.slice(0, 9));
49
+ }
50
+ );
51
+ } else {
52
+ setSearchResults([]);
53
+ }
54
+ return () => ac.abort();
55
+ }, [searchTerm]);
56
+
57
+ return (
58
+ <div>
59
+ {activePersonAttributeUuid && (
60
+ <p className={styles.activePersonAttributeUuid}>
61
+ {activePersonAttributeUuid}
62
+ </p>
63
+ )}
64
+ <div className={styles.autocomplete}>
65
+ <Search
66
+ id={`search-input-${id}`}
67
+ labelText=""
68
+ type="text"
69
+ size="sm"
70
+ autoComplete="off"
71
+ autoCapitalize="off"
72
+ aria-autocomplete="list"
73
+ role="combobox"
74
+ aria-label={t(
75
+ "searchPersonAttributeHelperText",
76
+ "Person attribute type name"
77
+ )}
78
+ aria-controls={`searchbox-${id}`}
79
+ aria-expanded={searchResults.length > 0}
80
+ placeholder={t(
81
+ "searchPersonAttributeHelperText",
82
+ "Person attribute type name"
83
+ )}
84
+ autoFocus
85
+ onChange={($event) => {
86
+ handleSearchTermChange($event.target.value);
87
+ }}
88
+ />
89
+ <div id={`searchbox-${id}`}>
90
+ <ul role="listbox">
91
+ {!!searchResults.length &&
92
+ searchResults.map((personAttributeType: any) => (
93
+ <li
94
+ key={personAttributeType.uuid}
95
+ role="option"
96
+ style={{ padding: "5px" }}
97
+ onClick={() => {
98
+ handleUuidChange(personAttributeType);
99
+ }}
100
+ aria-selected="true"
101
+ >
102
+ {personAttributeType.display}
103
+ </li>
104
+ ))}
105
+ {searchTerm && searchResults && !searchResults.length && (
106
+ <li>
107
+ {t("noPersonAttributeFoundText", "No matching results found")}
108
+ </li>
109
+ )}
110
+ </ul>
111
+ </div>
112
+ </div>
113
+ </div>
114
+ );
115
+ }
@@ -10,6 +10,7 @@ import { ExtensionSlotAdd } from "./extension-slot-add";
10
10
  import { ExtensionSlotRemove } from "./extension-slot-remove";
11
11
  import { ObjectEditor } from "./object-editor";
12
12
  import { ExtensionSlotOrder } from "./extension-slot-order";
13
+ import { PersonAttributeTypeSearchBox } from "./person-attribute-search";
13
14
 
14
15
  export interface ValueEditorFieldProps {
15
16
  element: ConfigValueDescriptor;
@@ -45,7 +46,17 @@ export function ValueEditorField({
45
46
  onChange={onChange}
46
47
  ></Checkbox>
47
48
  ) : valueType === Type.ConceptUuid ? (
48
- <ConceptSearchBox setConcept={(concept) => onChange(concept.uuid)} />
49
+ <ConceptSearchBox
50
+ value={value}
51
+ setConcept={(concept) => onChange(concept.uuid)}
52
+ />
53
+ ) : valueType === Type.PersonAttributeTypeUuid ? (
54
+ <PersonAttributeTypeSearchBox
55
+ value={value}
56
+ setPersonAttributeUuid={(personAttributeTypeUuid) =>
57
+ onChange(personAttributeTypeUuid)
58
+ }
59
+ />
49
60
  ) : valueType === Type.Number ? (
50
61
  <NumberInput
51
62
  id={id}
@@ -1,4 +1,2 @@
1
- declare module "*.css" {
2
- const styles: any;
3
- export default styles;
4
- }
1
+ declare module "*.css";
2
+ declare module "*.scss";
@@ -5,7 +5,7 @@ import Tools20 from "@carbon/icons-react/es/tools/20";
5
5
  import { HeaderGlobalAction } from "carbon-components-react";
6
6
  import { UserHasAccess, useStore } from "@openmrs/esm-framework";
7
7
  import { implementerToolsStore, togglePopup } from "./store";
8
- import styles from "./implementer-tools.styles.css";
8
+ import styles from "./implementer-tools.styles.scss";
9
9
 
10
10
  const ImplementerToolsButton: React.FC = () => {
11
11
  const { t } = useTranslation();
@@ -0,0 +1,14 @@
1
+ @import "~carbon-components/scss/globals/scss/vendor/@carbon/elements/scss/type/styles";
2
+ @import "~carbon-components/src/globals/scss/vendor/@carbon/layout/scss/generated/spacing";
3
+ @import "~@openmrs/esm-styleguide/src/vars";
4
+
5
+ .popupTriggerButton {
6
+ height: 25px !important;
7
+ width: 25px !important;
8
+ position: relative;
9
+ border-radius: 2px;
10
+ }
11
+
12
+ .toolStyles {
13
+ background-color: transparent;
14
+ }
package/dist/143.js DELETED
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_openmrs_esm_implementer_tools_app=self.webpackChunk_openmrs_esm_implementer_tools_app||[]).push([[143],{4143:(e,t,n)=>{n.r(t),n.d(t,{default:()=>S});var o=n(6983),r=n.n(o),l=n(2680),s=n(8251),a=r().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 i=r().forwardRef((function(e,t){var n=e.children,o=(0,s._)(e,["children"]);return r().createElement(s.I,(0,s.a)({width:20,height:20,viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",ref:t},o),a,n)}));var p=r().createElement("path",{d:"M12.1,2A9.8,9.8,0,0,0,6.7,3.6L13.1,10a2.1,2.1,0,0,1,.2,3,2.1,2.1,0,0,1-3-.2L3.7,6.4A9.84,9.84,0,0,0,2,12.1,10.14,10.14,0,0,0,12.1,22.2a10.9,10.9,0,0,0,2.6-.3l6.7,6.7a5,5,0,0,0,7.1-7.1l-6.7-6.7a10.9,10.9,0,0,0,.3-2.6A10,10,0,0,0,12.1,2Zm8,10.1a7.61,7.61,0,0,1-.3,2.1l-.3,1.1.8.8L27,22.8a2.88,2.88,0,0,1,.9,2.1A2.72,2.72,0,0,1,27,27a2.9,2.9,0,0,1-4.2,0l-6.7-6.7-.8-.8-1.1.3a7.61,7.61,0,0,1-2.1.3,8.27,8.27,0,0,1-5.7-2.3A7.63,7.63,0,0,1,4,12.1a8.33,8.33,0,0,1,.3-2.2l4.4,4.4a4.14,4.14,0,0,0,5.9.2,4.14,4.14,0,0,0-.2-5.9L10,4.2a6.45,6.45,0,0,1,2-.3,8.27,8.27,0,0,1,5.7,2.3A8.49,8.49,0,0,1,20.1,12.1Z"});const m=r().forwardRef((function(e,t){var n=e.children,o=(0,s._)(e,["children"]);return r().createElement(s.I,(0,s.a)({width:20,height:20,viewBox:"0 0 32 32",xmlns:"http://www.w3.org/2000/svg",fill:"currentColor",ref:t},o),p,n)}));var c=n(9784),_=n(7657),u=n(7704),A=n(487),d=n.n(A),h=n(631),g=n.n(h),B=n(2052),w=n.n(B),E=n(4010),v=n.n(E),f=n(1469),y=n.n(f),b=n(9329),C=n.n(b),T=n(7074),k={};k.styleTagTransform=C(),k.setAttributes=v(),k.insert=w().bind(null,"head"),k.domAPI=g(),k.insertStyleElement=y(),d()(T.Z,k);const x=T.Z&&T.Z.locals?T.Z.locals:void 0,S=()=>{const{t:e}=(0,l.useTranslation)(),{isOpen:t}=(0,_.useStore)(u.wT);return r().createElement(_.UserHasAccess,{privilege:"coreapps.systemAdministration"},r().createElement(c.HeaderGlobalAction,{"aria-label":e("implementerTools","Implementer Tools"),"aria-labelledby":"Implementer Tools",className:x.toolStyles,name:"ImplementerToolsIcon",onClick:u.zI},t?r().createElement(i,null):r().createElement(m,{className:x.popupTriggerButton})))}},7074:(e,t,n)=>{n.d(t,{Z:()=>a});var o=n(9233),r=n.n(o),l=n(361),s=n.n(l)()(r());s.push([e.id,".-esm-implementer-tools__implementer-tools-styles__popupTriggerButton___18AsW {\n height: 25px !important;\n width: 25px !important;\n position: relative;\n border-radius: 2px;\n}\n\n.-esm-implementer-tools__implementer-tools-styles__toolStyles___JuWS\\+ {\n background-color: transparent;\n}\n","",{version:3,sources:["webpack://./src/implementer-tools.styles.css"],names:[],mappings:"AAAA;EACE,uBAAuB;EACvB,sBAAsB;EACtB,kBAAkB;EAClB,kBAAkB;AACpB;;AAEA;EACE,6BAA6B;AAC/B",sourcesContent:[".popupTriggerButton {\n height: 25px !important;\n width: 25px !important;\n position: relative;\n border-radius: 2px;\n}\n\n.toolStyles {\n background-color: transparent;\n}\n"],sourceRoot:""}]),s.locals={popupTriggerButton:"-esm-implementer-tools__implementer-tools-styles__popupTriggerButton___18AsW",toolStyles:"-esm-implementer-tools__implementer-tools-styles__toolStyles___JuWS+"};const a=s}}]);
2
- //# sourceMappingURL=143.js.map
package/dist/143.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"143.js","mappings":"gOAaIA,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,MCnBnB,IAAI,EAIJ,kBAAoB,OAAQ,CAC1BH,EAAG,wlBAiBL,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,GAAO,EAAOD,M,4JCrBfS,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,ECMnE,EAvByC,KACvC,MAAM,EAAEC,IAAMC,EAAAA,EAAAA,mBACR,OAAEC,IAAWC,EAAAA,EAAAA,UAASC,EAAAA,IAE5B,OACE,kBAAC,EAAAC,cAAD,CAAeC,UAAU,iCACvB,kBAAC,EAAAC,mBAAD,CACE,aAAYP,EAAE,mBAAoB,qBAClC,kBAAgB,oBAChBQ,UAAWC,EAAAA,WACXC,KAAK,uBACLC,QAASC,EAAAA,IAERV,EACC,kBAAC,EAAD,MAEA,kBAAC,EAAD,CAASM,UAAWC,EAAAA,yB,gECtB1BI,E,MAA0B,GAA4B,KAE1DA,EAAwBC,KAAK,CAACC,EAAOC,GAAI,8SAA+S,GAAG,CAAC,QAAU,EAAE,QAAU,CAAC,gDAAgD,MAAQ,GAAG,SAAW,wFAAwF,eAAiB,CAAC,yLAAyL,WAAa,MAEzuBH,EAAwBI,OAAS,CAChC,mBAAsB,+EACtB,WAAc,wEAEf","sources":["webpack://@openmrs/esm-implementer-tools-app/../../../node_modules/@carbon/icons-react/es/close/20.js","webpack://@openmrs/esm-implementer-tools-app/../../../node_modules/@carbon/icons-react/es/tools/20.js","webpack://@openmrs/esm-implementer-tools-app/./src/implementer-tools.styles.css?f943","webpack://@openmrs/esm-implementer-tools-app/./src/implementer-tools.button.tsx","webpack://@openmrs/esm-implementer-tools-app/./src/implementer-tools.styles.css"],"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 Close20 = /*#__PURE__*/React.forwardRef(function Close20(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 20,\n height: 20,\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 Close20;\n","/**\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: \"M12.1,2A9.8,9.8,0,0,0,6.7,3.6L13.1,10a2.1,2.1,0,0,1,.2,3,2.1,2.1,0,0,1-3-.2L3.7,6.4A9.84,9.84,0,0,0,2,12.1,10.14,10.14,0,0,0,12.1,22.2a10.9,10.9,0,0,0,2.6-.3l6.7,6.7a5,5,0,0,0,7.1-7.1l-6.7-6.7a10.9,10.9,0,0,0,.3-2.6A10,10,0,0,0,12.1,2Zm8,10.1a7.61,7.61,0,0,1-.3,2.1l-.3,1.1.8.8L27,22.8a2.88,2.88,0,0,1,.9,2.1A2.72,2.72,0,0,1,27,27a2.9,2.9,0,0,1-4.2,0l-6.7-6.7-.8-.8-1.1.3a7.61,7.61,0,0,1-2.1.3,8.27,8.27,0,0,1-5.7-2.3A7.63,7.63,0,0,1,4,12.1a8.33,8.33,0,0,1,.3-2.2l4.4,4.4a4.14,4.14,0,0,0,5.9.2,4.14,4.14,0,0,0-.2-5.9L10,4.2a6.45,6.45,0,0,1,2-.3,8.27,8.27,0,0,1,5.7,2.3A8.49,8.49,0,0,1,20.1,12.1Z\"\n});\n\nvar Tools20 = /*#__PURE__*/React.forwardRef(function Tools20(_ref, ref) {\n var children = _ref.children,\n rest = _objectWithoutProperties(_ref, [\"children\"]);\n\n return /*#__PURE__*/React.createElement(Icon, _extends({\n width: 20,\n height: 20,\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 Tools20;\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]!./implementer-tools.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]!./implementer-tools.styles.css\";\n export default content && content.locals ? content.locals : undefined;\n","import React from \"react\";\nimport { useTranslation } from \"react-i18next\";\nimport Close20 from \"@carbon/icons-react/es/close/20\";\nimport Tools20 from \"@carbon/icons-react/es/tools/20\";\nimport { HeaderGlobalAction } from \"carbon-components-react\";\nimport { UserHasAccess, useStore } from \"@openmrs/esm-framework\";\nimport { implementerToolsStore, togglePopup } from \"./store\";\nimport styles from \"./implementer-tools.styles.css\";\n\nconst ImplementerToolsButton: React.FC = () => {\n const { t } = useTranslation();\n const { isOpen } = useStore(implementerToolsStore);\n\n return (\n <UserHasAccess privilege=\"coreapps.systemAdministration\">\n <HeaderGlobalAction\n aria-label={t(\"implementerTools\", \"Implementer Tools\")}\n aria-labelledby=\"Implementer Tools\"\n className={styles.toolStyles}\n name=\"ImplementerToolsIcon\"\n onClick={togglePopup}\n >\n {isOpen ? (\n <Close20 />\n ) : (\n <Tools20 className={styles.popupTriggerButton} />\n )}\n </HeaderGlobalAction>\n </UserHasAccess>\n );\n};\n\nexport default ImplementerToolsButton;\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__implementer-tools-styles__popupTriggerButton___18AsW {\\n height: 25px !important;\\n width: 25px !important;\\n position: relative;\\n border-radius: 2px;\\n}\\n\\n.-esm-implementer-tools__implementer-tools-styles__toolStyles___JuWS\\\\+ {\\n background-color: transparent;\\n}\\n\", \"\",{\"version\":3,\"sources\":[\"webpack://./src/implementer-tools.styles.css\"],\"names\":[],\"mappings\":\"AAAA;EACE,uBAAuB;EACvB,sBAAsB;EACtB,kBAAkB;EAClB,kBAAkB;AACpB;;AAEA;EACE,6BAA6B;AAC/B\",\"sourcesContent\":[\".popupTriggerButton {\\n height: 25px !important;\\n width: 25px !important;\\n position: relative;\\n border-radius: 2px;\\n}\\n\\n.toolStyles {\\n background-color: transparent;\\n}\\n\"],\"sourceRoot\":\"\"}]);\n// Exports\n___CSS_LOADER_EXPORT___.locals = {\n\t\"popupTriggerButton\": \"-esm-implementer-tools__implementer-tools-styles__popupTriggerButton___18AsW\",\n\t\"toolStyles\": \"-esm-implementer-tools__implementer-tools-styles__toolStyles___JuWS+\"\n};\nexport default ___CSS_LOADER_EXPORT___;\n"],"names":["_ref2","d","_ref","ref","children","rest","_","I","width","height","viewBox","xmlns","fill","options","styleTagTransform","setAttributes","insert","domAPI","insertStyleElement","undefined","t","useTranslation","isOpen","useStore","implementerToolsStore","UserHasAccess","privilege","HeaderGlobalAction","className","styles","name","onClick","togglePopup","___CSS_LOADER_EXPORT___","push","module","id","locals"],"sourceRoot":""}
package/dist/728.js DELETED
@@ -1,2 +0,0 @@
1
- "use strict";(self.webpackChunk_openmrs_esm_implementer_tools_app=self.webpackChunk_openmrs_esm_implementer_tools_app||[]).push([[728],{7728:(e,t,n)=>{n.r(t),n.d(t,{default:()=>Ye});var o=n(6983),l=n.n(o),r=n(4790),s=n(487),i=n.n(s),a=n(631),c=n.n(a),m=n(2052),u=n.n(m),d=n(4010),A=n.n(d),_=n(1469),p=n.n(_),E=n(9329),g=n.n(E),b=n(9131),f={};f.styleTagTransform=g(),f.setAttributes=A(),f.insert=u().bind(null,"head"),f.domAPI=c(),f.insertStyleElement=p(),i()(b.Z,f);const C=b.Z&&b.Z.locals?b.Z.locals:void 0;var y=n(9784),h=n(2680),v=n(2626),B=n(1890),x=n(2562),w=n(4946),k=n(7657),S=n(7704),T=n(5281),N={};N.styleTagTransform=g(),N.setAttributes=A(),N.insert=u().bind(null,"head"),N.domAPI=c(),N.insertStyleElement=p(),i()(T.Z,N);const Z=T.Z&&T.Z.locals?T.Z.locals:void 0;var I=n(988),O=n(323),L=n(5259),j=n(2015),P=n(5555),U={};U.styleTagTransform=g(),U.setAttributes=A(),U.insert=u().bind(null,"head"),U.domAPI=c(),U.insertStyleElement=p(),i()(P.Z,U);const V=P.Z&&P.Z.locals?P.Z.locals:void 0;var M=n(9963),W=n(7474),R=n(7555),z=n(1436),D={};D.styleTagTransform=g(),D.setAttributes=A(),D.insert=u().bind(null,"head"),D.domAPI=c(),D.insertStyleElement=p(),i()(z.Z,D);const $=z.Z&&z.Z.locals?z.Z.locals:void 0;function F(e){let{element:t,valueArray:n,setValue:r}=e;const s=(0,o.useMemo)((()=>(0,W.Z)("array-editor-")),[]);return l().createElement(y.Tile,{className:$.arrayEditor},l().createElement(y.StructuredListWrapper,null,l().createElement(y.StructuredListBody,null,n.map(((e,o)=>l().createElement(y.StructuredListRow,{key:`${s}-${o}`},l().createElement(y.StructuredListCell,null,l().createElement(le,{element:{...t._elements,_value:e,_source:t._source},valueType:t._elements?._type??k.Type.Object,value:e,onChange:e=>{const t=(0,L.Z)(n);t[o]=e,r(t)}})),l().createElement(y.StructuredListCell,{className:$.buttonCell},l().createElement(y.Button,{renderIcon:w.Z,size:"sm",kind:"secondary",iconDescription:"Remove",hasIconOnly:!0,onClick:()=>{const e=(0,L.Z)(n);e.splice(o,1),r(e)}}))))),l().createElement(y.StructuredListRow,null,l().createElement(y.StructuredListCell,null),l().createElement(y.StructuredListCell,{className:$.buttonCell},l().createElement(y.Button,{renderIcon:R.Z,size:"sm",iconDescription:"Add",hasIconOnly:!0,onClick:()=>{const e=(0,L.Z)(n),o=(t._elements?._type??k.Type.Object)==k.Type.Object?{}:null;e.push(o),r(e)}}))))))}var K=n(753),X=n(3810),Y={};Y.styleTagTransform=g(),Y.setAttributes=A(),Y.insert=u().bind(null,"head"),Y.domAPI=c(),Y.insertStyleElement=p(),i()(X.Z,Y);const Q=X.Z&&X.Z.locals?X.Z.locals:void 0;function q(e){let{setConcept:t}=e;const[n,r]=(0,o.useState)(""),[s,i]=(0,o.useState)([]),[a,c]=(0,o.useState)(""),m=(0,o.useMemo)((()=>(0,W.Z)()),[]),u=(0,K.Z)((e=>{r(e)}),300);return(0,o.useEffect)((()=>{const e=new AbortController;var t;return n&&n.length>=2?(t=n,(0,k.openmrsFetch)(`/ws/rest/v1/concept/?q=${t}`,{method:"GET"})).then((e=>{let{data:{results:t}}=e;i(t.slice(0,9))})):i([]),()=>e.abort()}),[n]),l().createElement("div",{className:Q.autocomplete},l().createElement("input",{type:"text",autoComplete:"off",autoCapitalize:"off","aria-autocomplete":"list",role:"combobox","aria-label":"Look up concept by name","aria-controls":`searchbox-${m}`,"aria-expanded":s.length>0,placeholder:"Look up concept by name",autoFocus:!0,onChange:e=>{u(e.target.value)}}),l().createElement("div",{id:`searchbox-${m}`},l().createElement("ul",{role:"listbox"},!!s.length&&s.map((e=>l().createElement("li",{key:e.uuid,role:"option",style:{padding:"5px"},onClick:()=>{(e=>{c(e.uuid),r(""),i([]),t(e)})(e)},"aria-selected":"true"},e.display))),n&&s&&!s.length&&l().createElement("li",null,"No matching results found."))))}function H(e){let{value:t,setValue:n}=e;const[r,s]=(0,o.useState)([]);return(0,o.useEffect)((()=>{function e(e){s(Object.keys(e.extensions))}return e(k.extensionStore.getState()),k.extensionStore.subscribe(e)}),[]),l().createElement(y.MultiSelect.Filterable,{id:"add-select",items:r.map((e=>({id:e,label:e}))),placeholder:"Select extensions",onChange:e=>n(e.selectedItems.map((e=>e.id))),initialSelectedItems:t})}function J(e){let{slotName:t,slotModuleName:n,value:o,setValue:r}=e;const s=(0,k.useAssignedExtensionIds)(t);return l().createElement(y.MultiSelect.Filterable,{id:"add-select",items:s.map((e=>({id:e,label:e}))),placeholder:"Select extensions",onChange:e=>r(e.selectedItems.map((e=>e.id))),initialSelectedItems:o})}var G=n(8147),ee={};ee.styleTagTransform=g(),ee.setAttributes=A(),ee.insert=u().bind(null,"head"),ee.domAPI=c(),ee.insertStyleElement=p(),i()(G.Z,ee);const te=G.Z&&G.Z.locals?G.Z.locals:void 0;function ne(e){let{element:t,valueObject:n,setValue:o}=e;return l().createElement(y.Tile,{className:te.objectEditor},l().createElement(y.StructuredListWrapper,null,l().createElement(y.StructuredListBody,null,Object.entries(t).map((e=>{let[r,s]=e;return r.startsWith("_")?null:l().createElement(y.StructuredListRow,{key:r},l().createElement(y.StructuredListCell,null,l().createElement(le,{element:{_value:r,_source:t._source},valueType:k.Type.String,value:r,onChange:e=>{const t=(0,L.Z)(n);t[e]=(0,L.Z)(n[r]),delete t[r],o(t)}})),l().createElement(y.StructuredListCell,null,l().createElement(le,{element:{...s,_value:n[r],_source:t._source},valueType:s._type,value:n[r],onChange:e=>{const t=(0,L.Z)(n);t[r]=e,o(t)}})))})))))}function oe(e){let{slotName:t,slotModuleName:n,value:o,setValue:r}=e;return l().createElement("div",null,"Todo: compose array with extension lookup")}function le(e){let{element:t,path:n,valueType:r,value:s,onChange:i}=e;const[a]=(0,o.useState)((0,W.Z)("value-editor-"));if("remove"===r&&!n)throw new Error("Programming error: ValueEditorField initialized for a 'remove' field, but no 'path' is available");return r===k.Type.Array?l().createElement(F,{element:t,valueArray:s,setValue:i}):r===k.Type.Boolean?l().createElement(y.Checkbox,{id:a,checked:s,hideLabel:!0,labelText:"",onChange:i}):r===k.Type.ConceptUuid?l().createElement(q,{setConcept:e=>i(e.uuid)}):r===k.Type.Number?l().createElement(y.NumberInput,{id:a,value:s,onChange:e=>i(Number(e.imaginaryTarget.value))}):r===k.Type.String||r===k.Type.UUID?l().createElement(y.TextInput,{id:a,value:s,labelText:"",onChange:e=>i(e.target.value)}):"add"===r?l().createElement(H,{value:s??t._value,setValue:i}):"remove"===r&&n?l().createElement(J,{slotName:n[2],slotModuleName:n[0],value:s??t._value,setValue:i}):"order"===r&&n?l().createElement(oe,{slotName:n[2],slotModuleName:n[0],value:s??t._value,setValue:i}):"configure"===r&&n?l().createElement(l().Fragment,null,"Todo"):l().createElement(ne,{element:t,valueObject:s,setValue:i})}function re(e){let{element:t,customType:n,path:s,handleSave:i,handleClose:a}=e;const c=(0,o.useRef)(null),[m,u]=(0,o.useState)(t._value),d=n??t._type,A=e=>{"Escape"===e.key?a():"Enter"===e.key&&i(JSON.stringify(m))};return(0,o.useEffect)((()=>(document.addEventListener("keyup",A),()=>{document.removeEventListener("keyup",A)})),[m]),l().createElement("div",{ref:c,style:{display:"inherit"}},l().createElement(le,{element:t,path:s,value:m,onChange:u,valueType:d}),l().createElement("div",{className:Z.valueEditorButtons},l().createElement(y.Button,{renderIcon:M.Z,size:"sm",kind:"primary",iconDescription:"Save",hasIconOnly:!0,onClick:()=>i(JSON.stringify(m))}),l().createElement(y.Button,{renderIcon:r.Z,size:"sm",kind:"secondary",iconDescription:"Cancel",hasIconOnly:!0,onClick:a})))}function se(e){let{value:t}=e;return l().createElement(l().Fragment,null,Array.isArray(t)?"object"==typeof t[0]?t.map(((e,t)=>l().createElement("div",{key:`${e}-${t}`,style:{marginBottom:"1em"}},l().createElement(se,{value:e})))):t.join(", "):"object"==typeof t&&null!==t?Object.entries(t).map(((e,t)=>{let[n,o]=e;return l().createElement("div",{key:`${n}-${t}`},n,": ",l().createElement(se,{value:o}))})):"string"==typeof t||"number"==typeof t?t:null==t?"none":JSON.stringify(t))}function ie(e){let{path:t,element:n,customType:r}=e;const[s,i]=(0,o.useState)(),[a,c]=(0,o.useState)(!1),[m,u]=(0,o.useState)(null),d=(0,o.useRef)(null),A=()=>{c(!1),u(null)};return(0,o.useEffect)((()=>{const e=e=>{e.configPathBeingEdited&&(0,I.Z)(e.configPathBeingEdited,t)&&d&&d.current&&(c(!0),d.current.focus())};return e(S.wT.getState()),S.wT.subscribe(e)}),[]),(0,o.useEffect)((()=>{const e=S.wT.getState();a&&!(0,I.Z)(e.configPathBeingEdited,t)&&S.wT.setState({configPathBeingEdited:t,activeItemDescription:{path:t,source:n._source,description:n._description,value:s}}),!a&&(0,I.Z)(e.configPathBeingEdited,t)&&S.wT.setState({configPathBeingEdited:null})}),[a]),l().createElement(l().Fragment,null,l().createElement("div",{className:V.line},a?l().createElement(l().Fragment,null,l().createElement(re,{element:n,customType:r,path:t,handleClose:A,handleSave:e=>{try{const n=JSON.parse(e),o=ae((0,L.Z)(k.temporaryConfigStore.getState()),["config",...t],n);k.temporaryConfigStore.setState(o),i(e),A()}catch(e){console.warn(e),u("That's not formatted quite right. Try again.")}}})):l().createElement(l().Fragment,null,l().createElement("button",{className:`${V.secretButton} ${"temporary config"==n._source?V.overriddenValue:""}`,onClick:()=>c(!0),ref:d},l().createElement(se,{value:n._value})),"temporary config"==n._source?l().createElement(y.Button,{style:{marginLeft:"1em"},renderIcon:j.Z,size:"sm",kind:"tertiary",iconDescription:"Reset to default",hasIconOnly:!0,onClick:()=>{k.temporaryConfigStore.setState((0,O.Z)(k.temporaryConfigStore.getState(),["config",...t]))}}):null),m&&l().createElement("div",{className:V.error},m)))}function ae(e,t,n){return t.length>1?e[t[0]]=ae(e[t[0]]??{},t.slice(1),n):e[t[0]]=n,e}function ce(e){let{moduleName:t,slotName:n,config:o}=e;return l().createElement(ie,{path:[t,n,"configure"],element:o&&Object.keys(o).length?{_value:o,_source:"",_default:{}}:{_value:void 0,_source:"default",_default:{}},customType:"configure"})}var me=n(5336),ue={};ue.styleTagTransform=g(),ue.setAttributes=A(),ue.insert=u().bind(null,"head"),ue.domAPI=c(),ue.insertStyleElement=p(),i()(me.Z,ue);const de=me.Z&&me.Z.locals?me.Z.locals:void 0;function Ae(e){let{leaf:t,label:n,children:o,onMouseEnter:r,onMouseLeave:s}=e;return t?l().createElement(y.StructuredListRow,{className:de.structuredListRow,onMouseEnter:r,onMouseLeave:s},l().createElement(y.StructuredListCell,{className:de.labelCell},n),l().createElement(y.StructuredListCell,null,o)):l().createElement(l().Fragment,null,l().createElement(y.StructuredListRow,{className:de.structuredListRow,onMouseEnter:r,onMouseLeave:s},l().createElement(y.StructuredListCell,{className:de.labelCell},n),l().createElement(y.StructuredListCell,null)),l().createElement(y.StructuredListRow,{className:de.structuredListRow},l().createElement(y.StructuredListCell,null),l().createElement(y.StructuredListCell,{className:de.subtreeCell},l().createElement(y.StructuredListWrapper,{className:de.structuredList},l().createElement(y.StructuredListBody,null,o)))))}function _e(e){let{extensionsConfig:t,moduleName:n}=e;return t&&Object.keys(t).length?l().createElement(Ae,{label:"extension slots",leaf:!1},Object.keys(t).map((e=>l().createElement(pe,{key:e,config:t?.[e],path:[n,"extensions",e]})))):null}function pe(e){let{config:t,path:n}=e;const[r,s]=(0,o.useState)([]),i=n[0],a=n[2];function c(e){const t=S.wT.getState();(0,I.Z)(t.activeItemDescription?.path,e)&&!(0,I.Z)(t.configPathBeingEdited,e)&&S.wT.setState({activeItemDescription:void 0})}return(0,o.useEffect)((()=>{function e(e){s(e.slots[a]?.instances?.[i]?.assignedIds)}return e(k.extensionStore.getState()),k.extensionStore.subscribe(e)}),[]),l().createElement(Ae,{label:a,leaf:!1,onMouseEnter:()=>function(e,t){S.wT.getState().configPathBeingEdited||S.wT.setState({activeItemDescription:{path:[e,t],value:r}})}(i,a),onMouseLeave:()=>c([i,a])},["add","remove","order","configure"].map((e=>l().createElement(Ae,{label:e,key:n.join(".")+e,leaf:!0,onMouseEnter:()=>function(e,t,n,o){S.wT.getState().configPathBeingEdited||S.wT.setState({activeItemDescription:{path:[e,t,n],source:o?._source,description:{add:"Add an extension to this slot.",remove:"Remove an extension from this slot.",order:"Reorder the extensions in this slot.",configure:"Pass a configuration object directly to one of the extensions in this slot."}[n],value:JSON.stringify(o?._value)}})}(i,a,e,t?.[e]),onMouseLeave:()=>c([i,a,e])},"configure"===e?l().createElement(ce,{moduleName:i,slotName:a,config:t?.configure?._value}):l().createElement(ie,{path:n.concat([e]),element:t?.[e]??{_value:void 0,_source:"default",_default:[]},customType:e})))))}function Ee(e){let{config:t,path:n=[]}=e;return l().createElement(l().Fragment,null,Object.entries(t).map(((e,t)=>{let[o,r]=e;const s=n.concat([o]),i=r.hasOwnProperty("_value")||r.hasOwnProperty("_type");return l().createElement(Ae,{label:o,leaf:i,onMouseEnter:()=>function(e,t,n){S.wT.getState().configPathBeingEdited||S.wT.setState({activeItemDescription:{path:e,source:n._source,description:n._description,value:JSON.stringify(n._value)}})}(s,0,r),onMouseLeave:()=>function(e){const t=S.wT.getState();(0,I.Z)(t.activeItemDescription?.path,e)&&!(0,I.Z)(t.configPathBeingEdited,e)&&S.wT.setState({activeItemDescription:void 0})}(s),key:`subtree-${s.join(".")}`},i?l().createElement(ie,{path:s,element:r}):l().createElement(Ee,{config:r,path:s}))})))}var ge=n(8180);function be(e){let{children:t}=e;return l().createElement(y.StructuredListWrapper,{className:de.structuredList},l().createElement(y.StructuredListBody,null,t))}function fe(e){let{config:t,moduleName:n}=e;return l().createElement(be,null,l().createElement(_e,{extensionsConfig:t.extensions,moduleName:n}),l().createElement(Ee,{config:(0,ge.Z)(t,((e,t)=>"extensions"!==t)),path:[n]}))}function Ce(e){let{config:t}=e;return l().createElement("div",null,l().createElement(y.Accordion,{align:"start"},t&&Object.keys(t).sort().map((e=>{const n=t[e];return Object.keys(n).length?l().createElement(y.AccordionItem,{title:l().createElement("h6",{className:Z.moduleName},e),className:Z.fullWidthAccordion,key:`accordion-${e}`},l().createElement("div",{key:`${e}-config`},l().createElement(fe,{config:n,moduleName:e}))):null}))))}var ye=n(7970),he={};he.styleTagTransform=g(),he.setAttributes=A(),he.insert=u().bind(null,"head"),he.domAPI=c(),he.insertStyleElement=p(),i()(ye.Z,he);const ve=ye.Z&&ye.Z.locals?ye.Z.locals:void 0;function Be(){const{activeItemDescription:e}=(0,k.useStore)(S.wT);return l().createElement("div",null,e?l().createElement(l().Fragment,null,l().createElement("p",{className:ve.path},e.path.slice(1).join(" → ")),l().createElement("p",{className:ve.description},e.description),l().createElement("p",{className:ve.source},"default"===e.source?l().createElement(l().Fragment,null,"The current value is the default."):e.source?l().createElement(l().Fragment,null,"The current value comes from ",e.source,"."):null),e.value?l().createElement("p",null,"Value:"):null,l().createElement("p",{className:ve.value},Array.isArray(e.value)?e.value.map(((e,t)=>l().createElement("p",{key:`${e}-${t}`},e))):e.value)):null)}var xe=n(8403);const we={toggleIsUIEditorEnabled(e){let{isUIEditorEnabled:t}=e;return{isUIEditorEnabled:!t}},toggleIsToolbarOpen(e){let{isConfigToolbarOpen:t}=e;return{isConfigToolbarOpen:!t}}},ke={toggleDevDefaults(e){let{devDefaultsAreOn:t}=e;return{devDefaultsAreOn:!t}}},Se=e=>{let{isConfigToolbarOpen:t,toggleIsToolbarOpen:n}=e;return l().createElement(y.Button,{hasIconOnly:!0,renderIcon:t?B.Z:v.Z,onClick:n,kind:"ghost",size:"small",iconDescription:(t?"Hide":"Show")+" toolbar"})},Te=()=>{const{t:e}=(0,h.useTranslation)(),{isUIEditorEnabled:t,toggleIsUIEditorEnabled:n,isConfigToolbarOpen:r,toggleIsToolbarOpen:s}=(0,k.useStore)(S.wT,we),{devDefaultsAreOn:i,toggleDevDefaults:a}=(0,k.useStore)(k.configInternalStore,ke),{config:c}=(0,k.useStore)(k.implementerToolsConfigStore),m=(0,k.useExtensionStore)(),u=(0,k.useStore)(k.temporaryConfigStore),[d,A]=(0,o.useState)(""),_=u.config,p=new Blob([JSON.stringify(_,void 0,2)],{type:"application/json"}),E=(0,o.useMemo)((()=>{const e=(0,L.Z)(c);for(let t of Object.values(m.slots))for(let n of Object.keys(t.instances))e[n].extensions||(e[n].extensions={}),e[n].extensions[t.name]||(e[n].extensions[t.name]={});return e}),[c,m]),g=(0,o.useMemo)((()=>d?function e(t,n){const o={};for(let r of Object.keys(t))if(r.includes(n))o[r]=(0,L.Z)(t[r]);else if(!((l=t[r]).hasOwnProperty("_default")||l._type||l.hasOwnProperty("_value")||l.hasOwnProperty("_source"))){const l=e(t[r],n);(0,xe.Z)(l)||(o[r]=l)}var l;return o}(E,d):E),[d,E]);return l().createElement(l().Fragment,null,l().createElement("div",{className:Z.tools},r?l().createElement(y.Grid,{style:{margin:"0.25rem",padding:"0.5em 1.5em"}},l().createElement(y.Row,null,l().createElement(y.Column,{sm:1,md:2},l().createElement(y.TextInput,{id:"extensionSearch",labelText:"Search configuration",onChange:e=>A(e.target.value)})),l().createElement(y.Column,{sm:1,md:1},l().createElement(y.Toggle,{id:"devConfigSwitch",labelText:e("devConfig","Dev Config"),onToggle:a,toggled:i})),l().createElement(y.Column,{sm:1,md:1,className:Z.actionButton},l().createElement(y.Toggle,{id:"uiEditorSwitch",labelText:e("uiEditor","UI Editor"),toggled:t,onToggle:n})),l().createElement(y.Column,{sm:1,md:2,className:Z.actionButton},l().createElement(y.Button,{kind:"danger",iconDescription:"Clear temporary config",renderIcon:w.Z,onClick:()=>{k.temporaryConfigStore.setState({config:{}})}},e("clearTemporaryConfig","Clear Temporary Config"))),l().createElement(y.Column,{sm:1,md:2,className:Z.actionButton},l().createElement(y.Button,{kind:"secondary",iconDescription:"Download temporary config",renderIcon:x.Z},l().createElement("a",{className:Z.downloadLink,download:"temporary_config.json",href:window.URL.createObjectURL(p)},e("downloadTemporaryConfig","Download Temporary Config")))))):null,l().createElement("div",{className:Z.toggleToolbarButton},l().createElement(Se,{isConfigToolbarOpen:r,toggleIsToolbarOpen:s}))),l().createElement("div",{className:Z.mainContent,style:{marginTop:r?"72px":"25px",height:r?"calc(50vh - 114px)":"calc(50vh - 68px)"}},l().createElement("div",{className:Z.configTreePane},l().createElement(Ce,{config:g})),l().createElement("div",{className:Z.descriptionPane},l().createElement(Be,null))))},Ne=e=>{let{frontendModules:t}=e;const{t:n}=(0,h.useTranslation)(),r=(0,o.useMemo)((()=>[{key:"name",header:n("moduleName","Module Name")},{key:"installedVersion",header:n("installedVersion","Installed Version")},{key:"requiredVersion",header:n("requiredVersion","Required Version")}]),[n]);return l().createElement("div",null,l().createElement(y.DataTable,{rows:[],headers:r},(e=>{let{headers:r,getTableProps:s,getHeaderProps:i}=e;return l().createElement(y.TableContainer,{title:""},l().createElement(y.Table,s(),l().createElement(y.TableHead,null,l().createElement(y.TableRow,null,r.map((e=>l().createElement(y.TableHeader,i({header:e}),e.header))))),l().createElement(y.TableBody,null,t.map((e=>l().createElement(o.Fragment,{key:e.name},l().createElement(y.TableRow,null,l().createElement(y.TableCell,null,l().createElement("strong",null,e.name)),l().createElement(y.TableCell,null),l().createElement(y.TableCell,null)),e.dependencies.map((e=>l().createElement(y.TableRow,{key:e.name},l().createElement(y.TableCell,null,e.name),l().createElement(y.TableCell,null,"missing"===e.type?l().createElement("span",{style:{color:"red"}},n("missing","Missing")):"version-mismatch"===e.type?l().createElement("span",{style:{color:"red"}},e.installedVersion):l().createElement("span",{style:{color:"green"}},e.installedVersion)),l().createElement(y.TableCell,null,e.requiredVersion))))))))))})))};function Ze(e){const{t}=(0,h.useTranslation)(),[n,s]=(0,o.useState)(0);return l().createElement("div",{className:C.popup},l().createElement("div",{className:C.topBar},l().createElement("div",{className:C.tabs},l().createElement(y.ContentSwitcher,{onChange:e=>{s(e.index)}},l().createElement(y.Switch,{name:"configuration-tab",text:t("configuration","Configuration"),onClick:()=>{},onKeyDown:()=>{}}),l().createElement(y.Switch,{name:"backend-modules-tab",text:t("backendModules","Backend Modules"),onClick:()=>{},onKeyDown:()=>{}}))),l().createElement("div",null,l().createElement(y.Button,{className:C.closeButton,kind:"secondary",renderIcon:r.Z,iconDescription:"Close",onClick:e.close,hasIconOnly:!0}))),l().createElement("div",{className:C.content},0==n?l().createElement(Te,null):l().createElement(Ne,{frontendModules:e.frontendModules})))}var Ie=n(3539),Oe={};Oe.styleTagTransform=g(),Oe.setAttributes=A(),Oe.insert=u().bind(null,"head"),Oe.domAPI=c(),Oe.insertStyleElement=p(),i()(Ie.Z,Oe);const Le=Ie.Z&&Ie.Z.locals?Ie.Z.locals:void 0;var je=n(5412);function Pe(e){let{el:t,children:n}=e;return t?(0,je.createPortal)(n,t):null}function Ue(e){let{extensionName:t,slotModuleName:n,slotName:r,domElement:s}=e;const[i,a]=(0,o.useState)();return(0,o.useEffect)((()=>{if(s){const e=document.createElement("div");s.parentElement?.appendChild(e),a(e)}}),[s]),i?l().createElement(Pe,{key:`extension-overlay-${n}-${r}-${t}`,el:i},l().createElement(Ve,{extensionId:t})):null}function Ve(e){let{extensionId:t}=e;return l().createElement("button",{className:Le.extensionOverlay},l().createElement("span",{className:Le.extensionTooltip},t))}function Me(){const{slots:e,extensions:t}=(0,k.useExtensionStore)(),{isOpen:n}=(0,k.useStore)(S.wT);return l().createElement(l().Fragment,null,n?null:l().createElement(ze,null),e?Object.entries(e).map((e=>{let[t,n]=e;return Object.keys(n.instances).map((e=>l().createElement(Pe,{key:`slot-overlay-${e}-${t}`,el:document.querySelector(`*[data-extension-slot-name="${t}"][data-extension-slot-module-name="${e}"]`)},l().createElement(We,{slotName:t}))))})):null,t?Object.entries(t).map((e=>{let[t,n]=e;return Object.entries(n.instances).map((e=>{let[n,o]=e;return Object.entries(o).map((e=>{let[o,r]=e;return l().createElement(Ue,{key:o,extensionName:t,slotModuleName:n,slotName:o,domElement:document.querySelector(`*[data-extension-slot-name="${o}"][data-extension-slot-module-name="${n}"] *[data-extension-id="${r.id}"]`)})}))}))})):null)}function We(e){let{slotName:t}=e;return l().createElement(l().Fragment,null,l().createElement("div",{className:Le.slotOverlay}),l().createElement("div",{className:Le.slotName},t))}const Re={toggleIsUIEditorEnabled(e){let{isUIEditorEnabled:t}=e;return{isUIEditorEnabled:!t}}};function ze(){const{toggleIsUIEditorEnabled:e}=(0,k.useStore)(S.wT,Re);return l().createElement(y.Button,{className:Le.exitButton,kind:"danger",size:"sm",renderIcon:r.Z,iconDescription:"Exit UI Editor",tooltipPosition:"left",onClick:e,hasIconOnly:!0})}var De=n(3114);let $e;function Fe(e,t){return(0,k.isVersionSatisfied)(e,t)?"okay":"version-mismatch"}function Ke(){const[e,t]=(0,o.useState)([]);return(0,o.useEffect)((()=>{(async function(){if(!$e){const e=(window.installedModules??[]).filter((e=>e[1].backendDependencies)).map((e=>({backendDependencies:e[1].backendDependencies,moduleName:e[0]}))),t=await async function(){try{return(await(0,k.openmrsFetch)("/ws/rest/v1/module?v=custom:(uuid,version)",{method:"GET"})).data.results}catch(e){console.error(e)}return[]}();$e=e.map((e=>function(e,t){const n=[],o=function(e,t){const n=Object.keys(e),o=t.map((e=>e.uuid));return(0,De.Z)(n,o).map((t=>({uuid:t,version:e[t]})))}(e.backendDependencies,t),l=function(e,t){return Object.keys(e).map((t=>({uuid:t,version:e[t]}))).filter((e=>t.find((t=>e.uuid===t.uuid))))}(e.backendDependencies,t);return n.push(...o.map((e=>({name:e.uuid,requiredVersion:e.version,type:"missing"}))),...l.map((e=>{const n=e.version,o=function(e,t){const n=e.uuid;return t.find((e=>e.uuid==n))?.version??""}(e,t);return{name:e.uuid,requiredVersion:n,installedVersion:o,type:Fe(n,o)}}))),{name:e.moduleName,dependencies:n}}(e,t)))}return $e})().then(t)}),[]),e}function Xe(){const e=Ke(),[t,n]=(0,o.useState)(!1);(0,o.useEffect)((()=>{n((t=>t||function(e){return e.some((e=>e.dependencies.some((e=>"okay"!==e.type))))}(e)))}),[e]),(0,o.useEffect)((()=>{t&&(0,k.showNotification)({description:"Found modules with unresolved backend dependencies.",action:l().createElement(y.NotificationActionButton,{onClick:S.XE},"View"),kind:"error"})}),[t]);const{isOpen:r,isUIEditorEnabled:s,openTabIndex:i}=(0,k.useStore)(S.wT);return l().createElement(l().Fragment,null,r?l().createElement(Ze,{close:S.zI,frontendModules:e,visibleTabIndex:i}):null,s?l().createElement(Me,null):null)}function Ye(){return l().createElement(k.UserHasAccess,{privilege:"coreapps.systemAdministration"},l().createElement(Xe,null))}},5281:(e,t,n)=>{n.d(t,{Z:()=>i});var o=n(9233),l=n.n(o),r=n(361),s=n.n(r)()(l());s.push([e.id,".-esm-implementer-tools__configuration-styles__tools___PmLfn {\n position: fixed;\n width: 100%;\n background-color: #e0e0e0;\n border-bottom: 1px solid #a0a0a0;\n border-top: 1px solid #c0c0c0;\n z-index: 2;\n}\n\n.-esm-implementer-tools__configuration-styles__tools___PmLfn > div {\n flex: 0 1 auto;\n}\n\n.-esm-implementer-tools__configuration-styles__actionButton___bw4UK {\n display: inline-flex;\n align-items: center;\n}\n\n.-esm-implementer-tools__configuration-styles__downloadLink___AsiGA {\n text-decoration: none;\n color: inherit;\n}\n\n.-esm-implementer-tools__configuration-styles__mainContent___XP8jz {\n background-color: #f0f0f0;\n width: 100%;\n display: flex;\n overflow-y: auto;\n}\n\n.-esm-implementer-tools__configuration-styles__configTreePane___MS5lK {\n width: 55%;\n overflow-wrap: break-word;\n overflow-x: hidden;\n overflow-y: scroll;\n}\n\n.-esm-implementer-tools__configuration-styles__descriptionPane___PSynV {\n width: 45%;\n background-color: #e0e0e0;\n color: #424242;\n padding: 1em 2em;\n font-size: 12pt;\n overflow-wrap: break-word;\n overflow-y: scroll;\n}\n\n.-esm-implementer-tools__configuration-styles__configTreePane___MS5lK .bx--text-input-wrapper {\n min-width: 8em;\n}\n\n.-esm-implementer-tools__configuration-styles__fullWidthAccordion___fgSQK .bx--accordion__content {\n padding-right: 0;\n}\n\n.-esm-implementer-tools__configuration-styles__toggleToolbarButton___HVoZR {\n position: absolute;\n left: 97vw;\n top: -2px;\n}\n\n.-esm-implementer-tools__configuration-styles__valueEditorInput___m4kpB {\n width: 25em;\n}\n\n.-esm-implementer-tools__configuration-styles__valueEditorButtons___YEmTK {\n height: 2.5rem;\n min-width: 5em;\n margin-left: 1em;\n}\n","",{version:3,sources:["webpack://./src/configuration/configuration.styles.css"],names:[],mappings:"AAAA;EACE,eAAe;EACf,WAAW;EACX,yBAAyB;EACzB,gCAAgC;EAChC,6BAA6B;EAC7B,UAAU;AACZ;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,oBAAoB;EACpB,mBAAmB;AACrB;;AAEA;EACE,qBAAqB;EACrB,cAAc;AAChB;;AAEA;EACE,yBAAyB;EACzB,WAAW;EACX,aAAa;EACb,gBAAgB;AAClB;;AAEA;EACE,UAAU;EACV,yBAAyB;EACzB,kBAAkB;EAClB,kBAAkB;AACpB;;AAEA;EACE,UAAU;EACV,yBAAyB;EACzB,cAAc;EACd,gBAAgB;EAChB,eAAe;EACf,yBAAyB;EACzB,kBAAkB;AACpB;;AAEA;EACE,cAAc;AAChB;;AAEA;EACE,gBAAgB;AAClB;;AAEA;EACE,kBAAkB;EAClB,UAAU;EACV,SAAS;AACX;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,cAAc;EACd,cAAc;EACd,gBAAgB;AAClB",sourcesContent:[".tools {\n position: fixed;\n width: 100%;\n background-color: #e0e0e0;\n border-bottom: 1px solid #a0a0a0;\n border-top: 1px solid #c0c0c0;\n z-index: 2;\n}\n\n.tools > div {\n flex: 0 1 auto;\n}\n\n.actionButton {\n display: inline-flex;\n align-items: center;\n}\n\n.downloadLink {\n text-decoration: none;\n color: inherit;\n}\n\n.mainContent {\n background-color: #f0f0f0;\n width: 100%;\n display: flex;\n overflow-y: auto;\n}\n\n.configTreePane {\n width: 55%;\n overflow-wrap: break-word;\n overflow-x: hidden;\n overflow-y: scroll;\n}\n\n.descriptionPane {\n width: 45%;\n background-color: #e0e0e0;\n color: #424242;\n padding: 1em 2em;\n font-size: 12pt;\n overflow-wrap: break-word;\n overflow-y: scroll;\n}\n\n.configTreePane :global(.bx--text-input-wrapper) {\n min-width: 8em;\n}\n\n.fullWidthAccordion :global(.bx--accordion__content) {\n padding-right: 0;\n}\n\n.toggleToolbarButton {\n position: absolute;\n left: 97vw;\n top: -2px;\n}\n\n.valueEditorInput {\n width: 25em;\n}\n\n.valueEditorButtons {\n height: 2.5rem;\n min-width: 5em;\n margin-left: 1em;\n}\n"],sourceRoot:""}]),s.locals={tools:"-esm-implementer-tools__configuration-styles__tools___PmLfn",actionButton:"-esm-implementer-tools__configuration-styles__actionButton___bw4UK",downloadLink:"-esm-implementer-tools__configuration-styles__downloadLink___AsiGA",mainContent:"-esm-implementer-tools__configuration-styles__mainContent___XP8jz",configTreePane:"-esm-implementer-tools__configuration-styles__configTreePane___MS5lK",descriptionPane:"-esm-implementer-tools__configuration-styles__descriptionPane___PSynV",fullWidthAccordion:"-esm-implementer-tools__configuration-styles__fullWidthAccordion___fgSQK",toggleToolbarButton:"-esm-implementer-tools__configuration-styles__toggleToolbarButton___HVoZR",valueEditorInput:"-esm-implementer-tools__configuration-styles__valueEditorInput___m4kpB",valueEditorButtons:"-esm-implementer-tools__configuration-styles__valueEditorButtons___YEmTK"};const i=s},7970:(e,t,n)=>{n.d(t,{Z:()=>i});var o=n(9233),l=n.n(o),r=n(361),s=n.n(r)()(l());s.push([e.id,".-esm-implementer-tools__description-styles__path___vFSux {\n color: #303030;\n margin-bottom: 1em;\n}\n\n.-esm-implementer-tools__description-styles__description___tImhE {\n margin-bottom: 0.5em;\n}\n\n.-esm-implementer-tools__description-styles__source___izWkc {\n font-style: italic;\n margin-bottom: 0.5em;\n}\n\n.-esm-implementer-tools__description-styles__value___j27KM {\n font-family: monospace;\n margin-top: 0.5em;\n margin-left: 0.5em;\n}\n","",{version:3,sources:["webpack://./src/configuration/description.styles.css"],names:[],mappings:"AAAA;EACE,cAAc;EACd,kBAAkB;AACpB;;AAEA;EACE,oBAAoB;AACtB;;AAEA;EACE,kBAAkB;EAClB,oBAAoB;AACtB;;AAEA;EACE,sBAAsB;EACtB,iBAAiB;EACjB,kBAAkB;AACpB",sourcesContent:[".path {\n color: #303030;\n margin-bottom: 1em;\n}\n\n.description {\n margin-bottom: 0.5em;\n}\n\n.source {\n font-style: italic;\n margin-bottom: 0.5em;\n}\n\n.value {\n font-family: monospace;\n margin-top: 0.5em;\n margin-left: 0.5em;\n}\n"],sourceRoot:""}]),s.locals={path:"-esm-implementer-tools__description-styles__path___vFSux",description:"-esm-implementer-tools__description-styles__description___tImhE",source:"-esm-implementer-tools__description-styles__source___izWkc",value:"-esm-implementer-tools__description-styles__value___j27KM"};const i=s},5555:(e,t,n)=>{n.d(t,{Z:()=>i});var o=n(9233),l=n.n(o),r=n(361),s=n.n(r)()(l());s.push([e.id,".-esm-implementer-tools__editable-value-styles__secretButton___UJlL7 {\n background: none;\n color: #474b6b;\n border: none;\n font: inherit;\n text-align: left;\n}\n\n.-esm-implementer-tools__editable-value-styles__error___LRtgO {\n margin-left: 1em;\n color: orange;\n font-size: 11pt;\n}\n\n.-esm-implementer-tools__editable-value-styles__overriddenValue___icPiK {\n color: #2020a0;\n}\n","",{version:3,sources:["webpack://./src/configuration/editable-value.styles.css"],names:[],mappings:"AAAA;EACE,gBAAgB;EAChB,cAAc;EACd,YAAY;EACZ,aAAa;EACb,gBAAgB;AAClB;;AAEA;EACE,gBAAgB;EAChB,aAAa;EACb,eAAe;AACjB;;AAEA;EACE,cAAc;AAChB",sourcesContent:[".secretButton {\n background: none;\n color: #474b6b;\n border: none;\n font: inherit;\n text-align: left;\n}\n\n.error {\n margin-left: 1em;\n color: orange;\n font-size: 11pt;\n}\n\n.overriddenValue {\n color: #2020a0;\n}\n"],sourceRoot:""}]),s.locals={secretButton:"-esm-implementer-tools__editable-value-styles__secretButton___UJlL7",error:"-esm-implementer-tools__editable-value-styles__error___LRtgO",overriddenValue:"-esm-implementer-tools__editable-value-styles__overriddenValue___icPiK"};const i=s},5336:(e,t,n)=>{n.d(t,{Z:()=>i});var o=n(9233),l=n.n(o),r=n(361),s=n.n(r)()(l());s.push([e.id,".-esm-implementer-tools__layout-styles__labelCell___k5-Bh {\n width: 12em;\n}\n\n.-esm-implementer-tools__layout-styles__structuredList___CVvQe {\n margin-bottom: 1em;\n}\n\n.-esm-implementer-tools__layout-styles__structuredListRow___TmRkf {\n border-left: 2px solid #c0c0c0;\n}\n\n.-esm-implementer-tools__layout-styles__subtreeCell___cPsz3 {\n left: -6em;\n}\n","",{version:3,sources:["webpack://./src/configuration/layout/layout.styles.css"],names:[],mappings:"AAAA;EACE,WAAW;AACb;;AAEA;EACE,kBAAkB;AACpB;;AAEA;EACE,8BAA8B;AAChC;;AAEA;EACE,UAAU;AACZ",sourcesContent:[".labelCell {\n width: 12em;\n}\n\n.structuredList {\n margin-bottom: 1em;\n}\n\n.structuredListRow {\n border-left: 2px solid #c0c0c0;\n}\n\n.subtreeCell {\n left: -6em;\n}\n"],sourceRoot:""}]),s.locals={labelCell:"-esm-implementer-tools__layout-styles__labelCell___k5-Bh",structuredList:"-esm-implementer-tools__layout-styles__structuredList___CVvQe",structuredListRow:"-esm-implementer-tools__layout-styles__structuredListRow___TmRkf",subtreeCell:"-esm-implementer-tools__layout-styles__subtreeCell___cPsz3"};const i=s},1436:(e,t,n)=>{n.d(t,{Z:()=>i});var o=n(9233),l=n.n(o),r=n(361),s=n.n(r)()(l());s.push([e.id,".-esm-implementer-tools__array-editor-styles__arrayEditor___Yf1Ug .bx--structured-list-td {\n padding: 0.25rem 3rem 0.25rem 1rem;\n}\n\n.-esm-implementer-tools__array-editor-styles__arrayEditor___Yf1Ug .bx--structured-list {\n margin-bottom: 0.25rem;\n}\n\n.-esm-implementer-tools__array-editor-styles__buttonCell___jX-Z0 {\n text-align: right;\n}\n\n/* .valueCell {\n display: inline-flex;\n} */\n","",{version:3,sources:["webpack://./src/configuration/value-editors/array-editor.styles.css"],names:[],mappings:"AAAA;EACE,kCAAkC;AACpC;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;;GAEG",sourcesContent:[".arrayEditor :global(.bx--structured-list-td) {\n padding: 0.25rem 3rem 0.25rem 1rem;\n}\n\n.arrayEditor :global(.bx--structured-list) {\n margin-bottom: 0.25rem;\n}\n\n.buttonCell {\n text-align: right;\n}\n\n/* .valueCell {\n display: inline-flex;\n} */\n"],sourceRoot:""}]),s.locals={arrayEditor:"-esm-implementer-tools__array-editor-styles__arrayEditor___Yf1Ug",buttonCell:"-esm-implementer-tools__array-editor-styles__buttonCell___jX-Z0"};const i=s},3810:(e,t,n)=>{n.d(t,{Z:()=>i});var o=n(9233),l=n.n(o),r=n(361),s=n.n(r)()(l());s.push([e.id,'.-esm-implementer-tools__concept-search-styles__autocomplete___IUw7H,\n.-esm-implementer-tools__concept-search-styles__autocomplete___IUw7H > [role="combobox"] {\n display: flex;\n position: relative;\n width: 20em;\n}\n\n.-esm-implementer-tools__concept-search-styles__autocomplete___IUw7H [role="listbox"] {\n margin: 0;\n padding: 0;\n display: flex;\n flex-flow: column wrap;\n background-color: whitesmoke;\n color: #fff;\n}\n\n.-esm-implementer-tools__concept-search-styles__autocomplete___IUw7H li {\n line-height: 0.75rem;\n padding: 0.5em;\n display: block;\n border-bottom: 0.125rem solid #718096;\n outline: 0;\n margin: 0;\n color: #000;\n}\n\n.-esm-implementer-tools__concept-search-styles__autocomplete___IUw7H [role="option"]:hover {\n background-color: #38a169;\n border-color: #38a169;\n color: #f7fafc;\n}\n',"",{version:3,sources:["webpack://./src/configuration/value-editors/concept-search.styles.css"],names:[],mappings:"AAAA;;EAEE,aAAa;EACb,kBAAkB;EAClB,WAAW;AACb;;AAEA;EACE,SAAS;EACT,UAAU;EACV,aAAa;EACb,sBAAsB;EACtB,4BAA4B;EAC5B,WAAW;AACb;;AAEA;EACE,oBAAoB;EACpB,cAAc;EACd,cAAc;EACd,qCAAqC;EACrC,UAAU;EACV,SAAS;EACT,WAAW;AACb;;AAEA;EACE,yBAAyB;EACzB,qBAAqB;EACrB,cAAc;AAChB",sourcesContent:['.autocomplete,\n.autocomplete > [role="combobox"] {\n display: flex;\n position: relative;\n width: 20em;\n}\n\n.autocomplete [role="listbox"] {\n margin: 0;\n padding: 0;\n display: flex;\n flex-flow: column wrap;\n background-color: whitesmoke;\n color: #fff;\n}\n\n.autocomplete li {\n line-height: 0.75rem;\n padding: 0.5em;\n display: block;\n border-bottom: 0.125rem solid #718096;\n outline: 0;\n margin: 0;\n color: #000;\n}\n\n.autocomplete [role="option"]:hover {\n background-color: #38a169;\n border-color: #38a169;\n color: #f7fafc;\n}\n'],sourceRoot:""}]),s.locals={autocomplete:"-esm-implementer-tools__concept-search-styles__autocomplete___IUw7H"};const i=s},8147:(e,t,n)=>{n.d(t,{Z:()=>i});var o=n(9233),l=n.n(o),r=n(361),s=n.n(r)()(l());s.push([e.id,".-esm-implementer-tools__object-editor-styles__objectEditor___cQoQ3 .bx--structured-list-td {\n padding: 0.25rem 3rem 0.25rem 1rem;\n}\n\n.-esm-implementer-tools__object-editor-styles__objectEditor___cQoQ3 .bx--structured-list {\n margin-bottom: 0.25rem;\n}\n\n.-esm-implementer-tools__object-editor-styles__buttonCell___RaMes {\n text-align: right;\n}\n\n/* .valueCell {\n display: inline-flex;\n} */\n","",{version:3,sources:["webpack://./src/configuration/value-editors/object-editor.styles.css"],names:[],mappings:"AAAA;EACE,kCAAkC;AACpC;;AAEA;EACE,sBAAsB;AACxB;;AAEA;EACE,iBAAiB;AACnB;;AAEA;;GAEG",sourcesContent:[".objectEditor :global(.bx--structured-list-td) {\n padding: 0.25rem 3rem 0.25rem 1rem;\n}\n\n.objectEditor :global(.bx--structured-list) {\n margin-bottom: 0.25rem;\n}\n\n.buttonCell {\n text-align: right;\n}\n\n/* .valueCell {\n display: inline-flex;\n} */\n"],sourceRoot:""}]),s.locals={objectEditor:"-esm-implementer-tools__object-editor-styles__objectEditor___cQoQ3",buttonCell:"-esm-implementer-tools__object-editor-styles__buttonCell___RaMes"};const i=s},9131:(e,t,n)=>{n.d(t,{Z:()=>i});var o=n(9233),l=n.n(o),r=n(361),s=n.n(r)()(l());s.push([e.id,".-esm-implementer-tools__popup-styles__popup___KhcvE {\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 50%;\n z-index: 100000;\n background-color: #d0d0d0;\n border-top: 2px solid #404050;\n color: #222;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: flex-start;\n box-sizing: border-box;\n overflow-y: auto;\n}\n\n.-esm-implementer-tools__popup-styles__content___AAcub {\n margin-top: 40px;\n width: 100%;\n}\n\n.-esm-implementer-tools__popup-styles__tabs___lwUVZ {\n width: 30em;\n}\n\n.-esm-implementer-tools__popup-styles__topBar___YJXDa {\n position: fixed;\n width: 100%;\n height: 42px;\n display: flex;\n justify-content: space-between;\n border-bottom: 1px solid #a0a0a0;\n z-index: 2;\n background: #e0e0e0;\n}\n\n.-esm-implementer-tools__popup-styles__closeButton___7tyXg {\n min-height: 3em;\n padding: 0 1em;\n}\n\n.-esm-implementer-tools__popup-styles__topBar___YJXDa .bx--content-switcher-btn:first-child,\n.-esm-implementer-tools__popup-styles__topBar___YJXDa .bx--content-switcher-btn:last-child {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n","",{version:3,sources:["webpack://./src/popup/popup.styles.css"],names:[],mappings:"AAAA;EACE,eAAe;EACf,SAAS;EACT,OAAO;EACP,WAAW;EACX,WAAW;EACX,eAAe;EACf,yBAAyB;EACzB,6BAA6B;EAC7B,WAAW;EACX,aAAa;EACb,sBAAsB;EACtB,8BAA8B;EAC9B,uBAAuB;EACvB,sBAAsB;EACtB,gBAAgB;AAClB;;AAEA;EACE,gBAAgB;EAChB,WAAW;AACb;;AAEA;EACE,WAAW;AACb;;AAEA;EACE,eAAe;EACf,WAAW;EACX,YAAY;EACZ,aAAa;EACb,8BAA8B;EAC9B,gCAAgC;EAChC,UAAU;EACV,mBAAmB;AACrB;;AAEA;EACE,eAAe;EACf,cAAc;AAChB;;AAEA;;EAEE,yBAAyB;EACzB,4BAA4B;EAC5B,0BAA0B;EAC1B,6BAA6B;AAC/B",sourcesContent:[".popup {\n position: fixed;\n bottom: 0;\n left: 0;\n width: 100%;\n height: 50%;\n z-index: 100000;\n background-color: #d0d0d0;\n border-top: 2px solid #404050;\n color: #222;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n align-items: flex-start;\n box-sizing: border-box;\n overflow-y: auto;\n}\n\n.content {\n margin-top: 40px;\n width: 100%;\n}\n\n.tabs {\n width: 30em;\n}\n\n.topBar {\n position: fixed;\n width: 100%;\n height: 42px;\n display: flex;\n justify-content: space-between;\n border-bottom: 1px solid #a0a0a0;\n z-index: 2;\n background: #e0e0e0;\n}\n\n.closeButton {\n min-height: 3em;\n padding: 0 1em;\n}\n\n.topBar :global(.bx--content-switcher-btn:first-child),\n.topBar :global(.bx--content-switcher-btn:last-child) {\n border-top-left-radius: 0;\n border-bottom-left-radius: 0;\n border-top-right-radius: 0;\n border-bottom-right-radius: 0;\n}\n"],sourceRoot:""}]),s.locals={popup:"-esm-implementer-tools__popup-styles__popup___KhcvE",content:"-esm-implementer-tools__popup-styles__content___AAcub",tabs:"-esm-implementer-tools__popup-styles__tabs___lwUVZ",topBar:"-esm-implementer-tools__popup-styles__topBar___YJXDa",closeButton:"-esm-implementer-tools__popup-styles__closeButton___7tyXg"};const i=s},3539:(e,t,n)=>{n.d(t,{Z:()=>i});var o=n(9233),l=n.n(o),r=n(361),s=n.n(r)()(l());s.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:""}]),s.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 i=s}}]);
2
- //# sourceMappingURL=728.js.map