@genexus/genexus-ide-ui 0.0.109 → 0.0.111

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 (191) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/{gx-ide-add-module-servers.cjs.entry.js → gx-ide-edit-module-server.cjs.entry.js} +6 -6
  3. package/dist/cjs/{gx-ide-add-module-servers.cjs.entry.js.map → gx-ide-edit-module-server.cjs.entry.js.map} +1 -1
  4. package/dist/cjs/gx-ide-empty-state.cjs.entry.js +70 -0
  5. package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -0
  6. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +142 -63
  9. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +5 -10
  11. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gxg-buttons-container_2.cjs.entry.js +1 -1
  13. package/dist/cjs/gxg-buttons-container_2.cjs.entry.js.map +1 -1
  14. package/dist/cjs/{gx-ide-empty-state_2.cjs.entry.js → gxg-card_2.cjs.entry.js} +121 -63
  15. package/dist/cjs/gxg-card_2.cjs.entry.js.map +1 -0
  16. package/dist/cjs/gxg-combo-box_2.cjs.entry.js +1 -0
  17. package/dist/cjs/gxg-combo-box_2.cjs.entry.js.map +1 -1
  18. package/dist/cjs/gxg-ide-loader.cjs.entry.js +4 -15
  19. package/dist/cjs/gxg-ide-loader.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gxg-tab_4.cjs.entry.js +1 -1
  21. package/dist/cjs/gxg-tab_4.cjs.entry.js.map +1 -1
  22. package/dist/cjs/loader.cjs.js +1 -1
  23. package/dist/collection/collection-manifest.json +1 -2
  24. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.css +370 -29
  25. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.js +4 -99
  26. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.js.map +1 -1
  27. package/dist/collection/components/kb-manager-import/kb-manager-import.js +1 -1
  28. package/dist/collection/components/kb-manager-import/kb-manager-import.js.map +1 -1
  29. package/dist/collection/components/modules/{edit-module-servers/edit-module-servers.js → edit-module-server/edit-module-server.js} +12 -12
  30. package/dist/collection/components/modules/{add-module-servers/add-module-servers.js.map → edit-module-server/edit-module-server.js.map} +1 -1
  31. package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.en.json +10 -4
  32. package/dist/collection/components/modules/manage-module-references/manage-module-references.css +43 -22
  33. package/dist/collection/components/modules/manage-module-references/manage-module-references.js +167 -63
  34. package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map +1 -1
  35. package/dist/collection/components/modules/types.js.map +1 -1
  36. package/dist/components/combo-box.js +2 -1
  37. package/dist/components/combo-box.js.map +1 -1
  38. package/dist/components/container.js +2 -2
  39. package/dist/components/form-checkbox.js +1 -1
  40. package/dist/components/form-radio-group.js +1 -1
  41. package/dist/components/form-text.js +1 -1
  42. package/dist/components/form-textarea.js +1 -1
  43. package/dist/components/form.js +1 -1
  44. package/dist/components/gx-ide-ai-assistant.js +1 -1
  45. package/dist/components/gx-ide-bpm-app-declaration.js +2 -2
  46. package/dist/components/gx-ide-create-kb-from-server.js +2 -2
  47. package/dist/components/gx-ide-dashboard-home.js +2 -2
  48. package/dist/components/gx-ide-data-selector.js +2 -2
  49. package/dist/components/gx-ide-edit-module-server.d.ts +11 -0
  50. package/dist/components/{gx-ide-add-module-servers.js → gx-ide-edit-module-server.js} +13 -13
  51. package/dist/components/{gx-ide-add-module-servers.js.map → gx-ide-edit-module-server.js.map} +1 -1
  52. package/dist/components/gx-ide-empty-state2.js +2 -2
  53. package/dist/components/gx-ide-import-from-design.js +2 -2
  54. package/dist/components/gx-ide-kb-manager-export.js +2 -2
  55. package/dist/components/gx-ide-kb-manager-import.js +3 -3
  56. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  57. package/dist/components/gx-ide-manage-module-references.js +173 -90
  58. package/dist/components/gx-ide-manage-module-references.js.map +1 -1
  59. package/dist/components/gx-ide-new-environment.js +2 -2
  60. package/dist/components/gx-ide-new-kb.js +2 -2
  61. package/dist/components/gx-ide-new-object.js +2 -2
  62. package/dist/components/gx-ide-object-selector.js +2 -2
  63. package/dist/components/gx-ide-references.js +2 -2
  64. package/dist/components/gx-ide-share-kb.js +2 -2
  65. package/dist/components/gx-ide-start-page.js +2 -2
  66. package/dist/components/gx-ide-status-buttons2.js +6 -16
  67. package/dist/components/gx-ide-status-buttons2.js.map +1 -1
  68. package/dist/components/gx-ide-team-dev-commit.js +2 -2
  69. package/dist/components/gx-ide-team-dev-select-recent-comment.js +2 -2
  70. package/dist/components/gx-ide-team-dev-update-partial-selection.js +2 -2
  71. package/dist/components/gx-ide-team-dev-update-to-revision.js +2 -2
  72. package/dist/components/gx-ide-team-dev-update.js +2 -2
  73. package/dist/components/gx-ide-template.js +2 -2
  74. package/dist/components/gx-ide-title.js +1 -1
  75. package/dist/components/gx-ide-top-bar.js +1 -1
  76. package/dist/components/gx-ide-ww-images.js +2 -2
  77. package/dist/components/gxg-container.js +1 -1
  78. package/dist/components/gxg-form-checkbox-group2.js +1 -1
  79. package/dist/components/gxg-menu-slim-list.js +1 -1
  80. package/dist/components/gxg-title.js +1 -1
  81. package/dist/components/gxg-top-state-bar2.js +1 -1
  82. package/dist/components/gxg-top-state-bar2.js.map +1 -1
  83. package/dist/components/ide-loader.js +7 -16
  84. package/dist/components/ide-loader.js.map +1 -1
  85. package/dist/components/list-box.js +1 -1
  86. package/dist/components/list-selector.js +1 -1
  87. package/dist/components/recent-news.js +2 -2
  88. package/dist/components/suggest.js +1 -1
  89. package/dist/components/tabs.js +1 -1
  90. package/dist/components/tabs.js.map +1 -1
  91. package/dist/components/title-editable.js +1 -1
  92. package/dist/components/title.js +31 -32
  93. package/dist/components/title.js.map +1 -1
  94. package/dist/components/title2.js +32 -31
  95. package/dist/components/title2.js.map +1 -1
  96. package/dist/esm/genexus-ide-ui.js +1 -1
  97. package/dist/esm/{gx-ide-add-module-servers.entry.js → gx-ide-edit-module-server.entry.js} +6 -6
  98. package/dist/esm/{gx-ide-add-module-servers.entry.js.map → gx-ide-edit-module-server.entry.js.map} +1 -1
  99. package/dist/esm/gx-ide-empty-state.entry.js +66 -0
  100. package/dist/esm/gx-ide-empty-state.entry.js.map +1 -0
  101. package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
  102. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  103. package/dist/esm/gx-ide-manage-module-references.entry.js +142 -63
  104. package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
  105. package/dist/esm/gx-ide-status-buttons.entry.js +5 -10
  106. package/dist/esm/gx-ide-status-buttons.entry.js.map +1 -1
  107. package/dist/esm/gxg-buttons-container_2.entry.js +1 -1
  108. package/dist/esm/gxg-buttons-container_2.entry.js.map +1 -1
  109. package/dist/esm/{gx-ide-empty-state_2.entry.js → gxg-card_2.entry.js} +122 -64
  110. package/dist/{cjs/gx-ide-empty-state_2.cjs.entry.js.map → esm/gxg-card_2.entry.js.map} +1 -1
  111. package/dist/esm/gxg-combo-box_2.entry.js +1 -0
  112. package/dist/esm/gxg-combo-box_2.entry.js.map +1 -1
  113. package/dist/esm/gxg-ide-loader.entry.js +4 -15
  114. package/dist/esm/gxg-ide-loader.entry.js.map +1 -1
  115. package/dist/esm/gxg-tab_4.entry.js +1 -1
  116. package/dist/esm/gxg-tab_4.entry.js.map +1 -1
  117. package/dist/esm/loader.js +1 -1
  118. package/dist/genexus-ide-ui/genexus-ide-ui.css +4 -3
  119. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  120. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  121. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.en.json +10 -4
  122. package/dist/genexus-ide-ui/{p-b7bc3c0c.entry.js → p-00704c36.entry.js} +6 -6
  123. package/dist/genexus-ide-ui/{p-b7bc3c0c.entry.js.map → p-00704c36.entry.js.map} +1 -1
  124. package/dist/genexus-ide-ui/p-5ca7da19.entry.js +94 -0
  125. package/dist/genexus-ide-ui/p-5ca7da19.entry.js.map +1 -0
  126. package/dist/genexus-ide-ui/{p-41ac8e60.entry.js → p-5fe20f47.entry.js} +2 -2
  127. package/dist/genexus-ide-ui/p-5fe20f47.entry.js.map +1 -0
  128. package/dist/genexus-ide-ui/{p-adaf7aff.entry.js → p-713ad05d.entry.js} +185 -109
  129. package/dist/genexus-ide-ui/p-713ad05d.entry.js.map +1 -0
  130. package/dist/genexus-ide-ui/{p-40121554.entry.js → p-9f9fda93.entry.js} +172 -120
  131. package/dist/genexus-ide-ui/p-9f9fda93.entry.js.map +1 -0
  132. package/dist/genexus-ide-ui/{p-ee9f4e20.entry.js → p-bc04fcaa.entry.js} +7 -15
  133. package/dist/genexus-ide-ui/p-bc04fcaa.entry.js.map +1 -0
  134. package/dist/genexus-ide-ui/{p-5a5d3e19.entry.js → p-c9cceb40.entry.js} +1 -4
  135. package/dist/genexus-ide-ui/p-c9cceb40.entry.js.map +1 -0
  136. package/dist/genexus-ide-ui/{p-e9e4482b.entry.js → p-decf86d4.entry.js} +114 -127
  137. package/dist/genexus-ide-ui/p-decf86d4.entry.js.map +1 -0
  138. package/dist/genexus-ide-ui/{p-045a084f.entry.js → p-f37ec5b8.entry.js} +2 -1
  139. package/dist/genexus-ide-ui/p-f37ec5b8.entry.js.map +1 -0
  140. package/dist/genexus-ide-ui/{p-a46794f4.entry.js → p-f91c432e.entry.js} +3 -3
  141. package/dist/genexus-ide-ui/{p-a46794f4.entry.js.map → p-f91c432e.entry.js.map} +1 -1
  142. package/dist/node_modules/@genexus/gemini/dist/collection/components/ide-loader/ide-loader.css +3 -0
  143. package/dist/node_modules/@genexus/gemini/dist/collection/components/tabs/tabs.css +1 -0
  144. package/dist/node_modules/@genexus/gemini/dist/collection/components/top-state-bar/gxg-top-state-bar.css +32 -34
  145. package/dist/types/components/_helpers/status-buttons/gx-ide-status-buttons.d.ts +0 -20
  146. package/dist/types/components/modules/{add-module-servers/add-module-servers.d.ts → edit-module-server/edit-module-server.d.ts} +2 -2
  147. package/dist/types/components/modules/manage-module-references/manage-module-references.d.ts +20 -8
  148. package/dist/types/components/modules/types.d.ts +5 -4
  149. package/dist/types/components.d.ts +85 -199
  150. package/package.json +3 -3
  151. package/dist/cjs/gx-ide-edit-module-servers.cjs.entry.js +0 -98
  152. package/dist/cjs/gx-ide-edit-module-servers.cjs.entry.js.map +0 -1
  153. package/dist/cjs/gxg-title-editable.cjs.entry.js +0 -128
  154. package/dist/cjs/gxg-title-editable.cjs.entry.js.map +0 -1
  155. package/dist/collection/components/modules/add-module-servers/add-module-servers.js +0 -251
  156. package/dist/collection/components/modules/add-module-servers/gx-ide-assets/add-module-servers/langs/add-module-servers.lang.en.json +0 -11
  157. package/dist/collection/components/modules/add-module-servers/gx-ide-assets/add-module-servers/langs/add-module-servers.lang.ja.json +0 -3
  158. package/dist/collection/components/modules/add-module-servers/gx-ide-assets/add-module-servers/langs/add-module-servers.lang.zh.json +0 -3
  159. package/dist/collection/components/modules/edit-module-servers/edit-module-servers.css +0 -560
  160. package/dist/collection/components/modules/edit-module-servers/edit-module-servers.js.map +0 -1
  161. package/dist/collection/components/modules/edit-module-servers/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.en.json +0 -11
  162. package/dist/collection/components/modules/edit-module-servers/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.ja.json +0 -3
  163. package/dist/collection/components/modules/edit-module-servers/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.zh.json +0 -3
  164. package/dist/components/gx-ide-add-module-servers.d.ts +0 -11
  165. package/dist/components/gx-ide-edit-module-servers.d.ts +0 -11
  166. package/dist/components/gx-ide-edit-module-servers.js +0 -186
  167. package/dist/components/gx-ide-edit-module-servers.js.map +0 -1
  168. package/dist/esm/gx-ide-edit-module-servers.entry.js +0 -94
  169. package/dist/esm/gx-ide-edit-module-servers.entry.js.map +0 -1
  170. package/dist/esm/gx-ide-empty-state_2.entry.js.map +0 -1
  171. package/dist/esm/gxg-title-editable.entry.js +0 -124
  172. package/dist/esm/gxg-title-editable.entry.js.map +0 -1
  173. package/dist/genexus-ide-ui/gx-ide-assets/add-module-servers/langs/add-module-servers.lang.en.json +0 -11
  174. package/dist/genexus-ide-ui/gx-ide-assets/add-module-servers/langs/add-module-servers.lang.ja.json +0 -3
  175. package/dist/genexus-ide-ui/gx-ide-assets/add-module-servers/langs/add-module-servers.lang.zh.json +0 -3
  176. package/dist/genexus-ide-ui/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.en.json +0 -11
  177. package/dist/genexus-ide-ui/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.ja.json +0 -3
  178. package/dist/genexus-ide-ui/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.zh.json +0 -3
  179. package/dist/genexus-ide-ui/p-045a084f.entry.js.map +0 -1
  180. package/dist/genexus-ide-ui/p-36544e00.entry.js +0 -138
  181. package/dist/genexus-ide-ui/p-36544e00.entry.js.map +0 -1
  182. package/dist/genexus-ide-ui/p-40121554.entry.js.map +0 -1
  183. package/dist/genexus-ide-ui/p-41ac8e60.entry.js.map +0 -1
  184. package/dist/genexus-ide-ui/p-5a5d3e19.entry.js.map +0 -1
  185. package/dist/genexus-ide-ui/p-adaf7aff.entry.js.map +0 -1
  186. package/dist/genexus-ide-ui/p-b7d0697f.entry.js +0 -138
  187. package/dist/genexus-ide-ui/p-b7d0697f.entry.js.map +0 -1
  188. package/dist/genexus-ide-ui/p-e9e4482b.entry.js.map +0 -1
  189. package/dist/genexus-ide-ui/p-ee9f4e20.entry.js.map +0 -1
  190. package/dist/types/components/modules/edit-module-servers/edit-module-servers.d.ts +0 -60
  191. /package/dist/collection/components/modules/{add-module-servers/add-module-servers.css → edit-module-server/edit-module-server.css} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["manageModuleReferencesCss","GxManageModuleReferences","this","renderedFirstTime","getActionFromCurrentModuleVersion","selected","selectedModule","versions","find","id","currentVersion","action","onProgress","message","progress","state","data","selectedModuleAction","Object","assign","progressValue","progressState","handleModuleChange","row","foundModule","modulesAll","item","rowsId","serverSelectedCallbackHandler","async","resolvedObjects","serverSelectedCallback","selectedServerId","filterModulesByType","filteredModules","handleFilterChange","value","trimmedValue","trim","lowerCaseValue","toLowerCase","filter","module","name","includes","executeActionCallbackHandler","actionCompleted","executeActionCallback","type","versionData","version","moduleMenuSelectionChangedHandler","e","itemId","detail","addServerCallback","console","log","modulesList","renderMenu","h","onSelectionChanged","class","listName","ellipsis","style","left","moduleMenuLeftPosition","top","moduleMenuTopPosition","itemValue","icon","showModuleMenu","serverContextMenuCallback","buttonBoundingClientRect","target","getBoundingClientRect","selection","clientX","x","clientY","y","renderModulesGrid","noBorder","fullHeight","rowSelectionMode","part","settingable","size","map","rowid","key","color","description","disabled","fit","onClick","closeProgressBar","moduleIconColor","renderModuleName","renderModuleAction","_componentLocale","modulesInformation","moduleProperties","notInstalled","installedVersion","moduleVersionsValueChangedHandler","moduleId","renderModuleVersions","label","availableVersions","labelPosition","centerLabel","ref","el","onValueChanged","onItemSelected","selectedButtonChangedHandler","replace","serverItemSelectedHandler","serverId","serverValueChangedHandler","progressBarCloseHandler","setTimeout","componentDidLoad","componentDidRender","componentDidRenderFirstTime","emit","componentName","componentWillLoad","Locale","getComponentStrings","servers","onPropValueChange","newModulesData","validate","render","Host","noAboveFooterPadding","noBorderAboveFooter","noContentPadding","containerTitle","modules","selectServer","disableFilter","searchModules","event","reduced","fullWidth","onSelectedButtonChanged","tabs","browse","installed","updates","renderModuleDataProperties","properties","slot","stateType","caption","progressDefaultCaption","active","autoClose","withClose","closedCallback"],"sources":["src/components/modules/manage-module-references/manage-module-references.scss?tag=gx-ide-manage-module-references&encapsulation=shadow","src/components/modules/manage-module-references/manage-module-references.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-common.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n\n/*--- General ---*/\np,\nul {\n font-size: var(--font-size-lg);\n margin: 0;\n}\np {\n line-height: 1.6em;\n}\n/*--- Header ---*/\n.header {\n align-items: center;\n grid-template-columns: 1fr auto;\n grid-template-rows: 1fr;\n}\n.main {\n display: grid;\n //grid-template-columns: 1fr 2fr 1fr;\n grid-template-columns: 1.5fr 2fr;\n grid-template-rows: 1fr;\n height: 100%;\n overflow: auto;\n}\nch-grid-columnset {\n display: none;\n}\n.grid-cell-module {\n &__info {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--mer-spacing--xxs);\n }\n &__name {\n font-weight: var(--mer-font__weight--bold);\n }\n}\n\n/*--- Servers Container ---*/\n.servers-container {\n display: none;\n height: 100%;\n &__header {\n display: flex;\n align-items: center;\n justify-content: space-between;\n padding: var(--gxg-list-box-main__padding) var(--gxg-list-box-main__padding)\n 0 var(--gxg-list-box-main__padding);\n\n gxg-button {\n width: 100%;\n }\n }\n}\n\n/*--- Modules (Header) ---*/\n.modules {\n &__combo-container {\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n }\n &__combo {\n gxg-combo-box {\n flex: 1;\n }\n display: flex;\n flex-direction: row;\n gap: var(--mer-spacing--xs);\n }\n &__menu-container {\n position: relative;\n }\n &__menu {\n display: none;\n width: 200px;\n position: fixed;\n z-index: 10;\n right: 0;\n transform: translateX(-100%);\n\n &--visible {\n display: block;\n }\n }\n &__header {\n padding: var(--gxg-list-box-main__padding);\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n }\n &__container {\n border-inline-end: var(--mer-border__width--sm) solid\n var(--gx-ide-container-border-color);\n display: grid;\n grid-template-rows: auto 1fr;\n height: 100%;\n overflow: auto;\n }\n}\n\n/*--- Module Info ---*/\n.module-info {\n display: grid;\n grid-template-rows: auto 1fr;\n height: 100%;\n overflow: auto;\n\n &__name {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--sm);\n --ds-icon-size-box--regular: 24px;\n --ds-icon-size--regular: 24px;\n font-weight: var(--mer-font__weight--bold);\n }\n\n &__header {\n padding: var(--gx-ide-container__padding);\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n border-block-end: var(--mer-border__width--sm) solid\n var(--gx-ide-container-border-color);\n }\n\n &__action-container {\n display: flex;\n flex-direction: row;\n align-items: center;\n gap: var(--mer-spacing--xs);\n &:before {\n content: \"\";\n width: var(--mer-spacing--xs);\n height: var(--mer-spacing--xs);\n border-radius: 50%;\n display: block;\n background-color: var(--mer-icon__primary--disabled);\n }\n &--installed:before {\n background-color: var(--mer-icon__primary);\n }\n }\n\n &__divider {\n width: calc(100% - var(--gx-ide-container__padding) * 4);\n padding: 0 var(--gx-ide-container__padding);\n margin: 0 auto;\n border: 0;\n border-block-end: var(--mer-border__width--sm) solid\n var(--gx-ide-container-border-color);\n }\n &__properties {\n display: flex;\n flex-direction: column;\n padding: var(--gx-ide-container__padding);\n gap: var(--mer-spacing--xs);\n overflow: auto;\n }\n}\n\n.md-property {\n display: grid;\n gap: var(--mer-spacing--xs);\n\n &--inline {\n grid-template-columns: auto 1fr;\n }\n &--block {\n }\n &__key {\n font-weight: var(--font-weight-bold);\n max-width: 150px;\n }\n &__value {\n font-size: var(--mer-font__size--xxs);\n }\n &__key,\n &__value {\n > * {\n display: inline-block;\n }\n }\n &__list {\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n > ul {\n margin: 0;\n padding: 0;\n list-style-type: none;\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xxs);\n margin-inline-start: var(--mer-spacing--xs);\n\n li {\n position: relative;\n padding-inline-start: 12px;\n line-height: var(--ds-base-font-line-height--comfortable);\n &::before {\n content: \"\";\n position: absolute;\n left: 0;\n top: 7px;\n display: inline-block;\n width: var(--mer-spacing--xxs);\n height: var(--mer-spacing--xxs);\n background-color: var(--mer-text__on-surface);\n }\n }\n }\n }\n}\n\n.md-property,\n.md-property__list {\n border-block-end: var(--mer-border__width--sm) solid\n var(--gx-ide-container-border-color);\n padding-block-end: var(--mer-spacing--xs);\n\n &:last-child {\n border-block-end: 0;\n padding-block-end: 0;\n }\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n Element,\n EventEmitter,\n Method,\n State,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { Color } from \"@genexus/gemini\";\nimport { topStateBarType } from \"@genexus/gemini\";\n/* CUSTOM IMPORTS */\nimport {\n ModuleServerData,\n ModuleData,\n ModuleActionType,\n ModuleFilterType,\n ModuleVersionData\n} from \"../types\";\nimport { renderModuleDataProperties } from \"../../../common/common\";\nimport { Locale } from \"../../../common/locale\";\nimport { ItemData } from \"../../../components/_helpers/list-selector/list-selector-item/list-selector-item\";\nimport { ContextMenuInfo } from \"../../../common/types\";\n\n@Component({\n tag: \"gx-ide-manage-module-references\",\n styleUrl: \"manage-module-references.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/manage-module-references\"]\n})\nexport class GxManageModuleReferences {\n // 1.OWN PROPERTIES | WATCH'S //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeManageModuleReferencesElement;\n private modulesList!: HTMLGxgComboBoxElement;\n private moduleMenuLeftPosition: string;\n private moduleMenuTopPosition: string;\n\n // 3.STATE() VARIABLES //\n\n @State() modulesAll: ModuleData[] = [];\n @State() filteredModules: ModuleData[] = [];\n @State() selectedModule: ModuleData;\n @State() selectedServerId: string;\n @State() selectedModuleAction: ActionInfo = {\n message: \"\",\n progress: 0,\n state: \"in-progress\"\n };\n @State() actionCompleted = true;\n @State() closeProgressBar = true;\n @State() progressValue: number = 0;\n @State() progressState: topStateBarType = \"in-progress\";\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * List of module servers currently cataloged\n */\n @Prop() readonly servers: ModuleServerData[] = [];\n\n /**\n * Callback invoked when a server is selected. Returns the set of modules available on that server.\n */\n @Prop() readonly serverSelectedCallback: ServerSelectedCallback;\n\n /**\n * Callback invoked when the user wants to execute the action corresponding to a selected module. When the action begins to be executed, the component must be able to show the progress of the action. For this, the onProgress parameter is available, which is in turn a callback used by the host to notify the progress by text message and percentage.\n */\n @Prop() readonly executeActionCallback: ExecuteActionCallback;\n\n /**\n * Callback invoked when Add button is clicked\n */\n @Prop() readonly addServerCallback: AddServerCallback;\n\n /**\n * Callback invoked when an element is right clicked on servers list\n */\n @Prop() readonly serverContextMenuCallback: ServerContextMenuCallback;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentDidLoad() {}\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n await this.serverSelectedCallbackHandler(this.servers[0].id);\n }\n\n // 7.LISTENERS //\n\n @Watch(\"modulesAll\")\n onPropValueChange(newModulesData: ModuleData[]) {\n this.filteredModules = [...newModulesData];\n }\n\n // 8.PUBLIC METHODS API //\n\n /**\n * validate\n */\n @Method()\n async validate(): Promise<boolean> {\n return true;\n }\n\n // 9.LOCAL METHODS //\n\n private getActionFromCurrentModuleVersion = (): ModuleActionType => {\n const selected = this.selectedModule.versions.find(\n ({ id }) => id === this.selectedModule.currentVersion\n );\n return selected.action;\n };\n\n /**\n * Callback invoked to get the progress when module is performing an action\n */\n private onProgress = (\n message: string,\n progress: number,\n state: topStateBarType\n ): void => {\n const data = { message, progress, state };\n this.selectedModuleAction = { ...data };\n this.progressValue = this.selectedModuleAction.progress;\n this.progressState = this.selectedModuleAction.state;\n };\n\n // 10.LOCAL METHODS //\n\n /**\n * Used for changing the selected module\n */\n private handleModuleChange = (row: any) => {\n const foundModule = this.modulesAll.find(item => item.id === row.rowsId[0]);\n this.selectedModule = foundModule;\n };\n\n /**\n * Change the server selected value in response to callbackServerSelected callback\n */\n private serverSelectedCallbackHandler = async (id: any) => {\n const resolvedObjects = await this.serverSelectedCallback(id);\n\n this.selectedServerId = id;\n\n this.modulesAll = [...resolvedObjects];\n this.filterModulesByType(\"browse\");\n this.selectedModule = this.filteredModules[0];\n };\n private handleFilterChange = (value: string) => {\n const trimmedValue = value.trim();\n\n if (trimmedValue) {\n const lowerCaseValue = trimmedValue.toLowerCase();\n this.filteredModules = this.modulesAll.filter(module =>\n module.name.toLowerCase().includes(lowerCaseValue)\n );\n } else {\n this.filteredModules = this.modulesAll;\n }\n };\n\n /**\n * Perform an action relative to a module using callbackExecuteAction callback and receive the state of that action with onProgress callback\n */\n private executeActionCallbackHandler = async (module: ModuleData) => {\n const actionCompleted = await this.executeActionCallback(\n this.selectedServerId,\n module.id,\n this.getActionFromCurrentModuleVersion(),\n this.onProgress\n );\n this.actionCompleted = actionCompleted;\n };\n\n private filterModulesByType = (type: ModuleFilterType) => {\n // browse\n if (type === \"browse\") {\n this.filteredModules = this.modulesAll;\n }\n // installed\n else if (type === \"installed\") {\n this.filteredModules = this.modulesAll.filter((module: ModuleData) => {\n const versionData: ModuleVersionData = module.versions.find(version => {\n return version.id === module.currentVersion;\n });\n return (\n versionData &&\n (versionData.action === \"restore\" || versionData.action === \"update\")\n );\n });\n } else if (type === \"updates\") {\n this.filteredModules = this.modulesAll.filter((module: ModuleData) => {\n const versionData: ModuleVersionData = module.versions.find(version => {\n return version.id === module.currentVersion;\n });\n return versionData && versionData.action === \"update\";\n });\n }\n };\n\n private moduleMenuSelectionChangedHandler = async (\n e: CustomEvent<ItemData[]>\n ) => {\n const itemId = e.detail[0].itemId;\n if (itemId === \"add\") {\n if (this.addServerCallback) {\n await this.addServerCallback();\n }\n } else if (itemId === \"edit\") {\n console.log(this.modulesList.value);\n } else if (itemId === \"upload\") {\n console.log(\"upload\");\n }\n };\n\n private renderMenu = () => {\n return (\n <gx-ide-list-selector\n onSelectionChanged={this.moduleMenuSelectionChangedHandler}\n class=\"modules__menu\"\n type=\"single-selection\"\n listName=\"module-menu\"\n ellipsis\n style={{\n left: this.moduleMenuLeftPosition,\n top: this.moduleMenuTopPosition\n }}\n >\n <gx-ide-list-selector-item\n itemId=\"add\"\n itemValue=\"Add\"\n icon=\"gemini-tools/add\"\n ></gx-ide-list-selector-item>\n <gx-ide-list-selector-item\n itemId=\"edit\"\n itemValue=\"Edit\"\n icon=\"gemini-tools/edit\"\n ></gx-ide-list-selector-item>\n <gx-ide-list-selector-item\n itemId=\"upload\"\n itemValue=\"Upload from file\"\n icon=\"gemini-tools/file\"\n ></gx-ide-list-selector-item>\n </gx-ide-list-selector>\n );\n };\n\n private showModuleMenu = async (e: MouseEvent) => {\n if (this.serverContextMenuCallback) {\n const buttonBoundingClientRect = (\n e.target as HTMLElement\n ).getBoundingClientRect();\n await this.serverContextMenuCallback({\n selection: [this.selectedServerId],\n clientX: buttonBoundingClientRect.x,\n clientY: buttonBoundingClientRect.y\n });\n }\n };\n\n private renderModulesGrid = (): Element => {\n return (\n <gxg-grid noBorder fullHeight>\n <ch-grid\n rowSelectionMode=\"single\"\n part=\"ch-grid-pending-commits\"\n class=\"no-border\"\n /* TODO: El error es aqui ya que se esta enviando el valor del row Id correspondiente a la primera carga del grid con el primer server */\n onSelectionChanged={(row: any) => this.handleModuleChange(row.detail)}\n >\n <ch-grid-columnset>\n <ch-grid-column\n settingable={false}\n size=\"min-content\"\n ></ch-grid-column>\n\n <ch-grid-column settingable={false}></ch-grid-column>\n <ch-grid-column\n settingable={false}\n size=\"min-content\"\n ></ch-grid-column>\n </ch-grid-columnset>\n\n {this.filteredModules.map((item: ModuleData) => (\n <ch-grid-row\n rowid={item.id}\n key={item.id}\n selected={\n this.selectedModule && this.selectedModule.id === item.id\n }\n >\n <ch-grid-cell>\n <gxg-icon\n type=\"objects/module\"\n color=\"auto\"\n size=\"small\"\n ></gxg-icon>\n </ch-grid-cell>\n <ch-grid-cell class=\"grid-cell-module__info\">\n <span class=\"grid-cell-module__name\">{item.name}</span>\n <span class=\"grid-cell-module__description\">\n {item.description}\n </span>\n </ch-grid-cell>\n\n <ch-grid-cell>\n {this.selectedModule && this.selectedModule.id === item.id ? (\n <gxg-button\n disabled={!this.actionCompleted}\n fit\n part=\"module-action\"\n onClick={() => {\n this.actionCompleted = false;\n this.closeProgressBar = false;\n this.executeActionCallbackHandler(item);\n }}\n >\n {this.getActionFromCurrentModuleVersion()}\n </gxg-button>\n ) : null}\n </ch-grid-cell>\n </ch-grid-row>\n ))}\n </ch-grid>\n </gxg-grid>\n );\n };\n\n private moduleIconColor = (): Color => {\n return this.getActionFromCurrentModuleVersion() === \"install\"\n ? \"mercury-primary-disabled\"\n : \"mercury-primary\";\n };\n\n /* module details/information renders*/\n private renderModuleName = () => {\n return (\n <gxg-title part=\"module-info__name\" type=\"title-05\">\n <div class=\"module-info__name\">\n <gxg-icon\n type=\"objects/module\"\n color={this.moduleIconColor()}\n ></gxg-icon>\n {this.selectedModule.name}\n </div>\n </gxg-title>\n );\n };\n private renderModuleAction = () => {\n return this.getActionFromCurrentModuleVersion() === \"install\" ? (\n <div class=\"module-info__action-container\">\n <gxg-text part=\"not-installed\">\n {\n this._componentLocale.modulesInformation.moduleProperties\n .notInstalled\n }\n </gxg-text>\n </div>\n ) : (\n <div class=\"module-info__action-container module-info__action-container--installed\">\n <gxg-text part=\"installed\">\n {` ${this._componentLocale.modulesInformation.moduleProperties.installedVersion} : ${this.selectedModule.currentVersion}`}\n </gxg-text>\n </div>\n );\n };\n\n private moduleVersionsValueChangedHandler = (e: CustomEvent<any>) => {\n const moduleId = e.detail;\n this.selectedModule = {\n ...this.selectedModule,\n currentVersion: moduleId\n };\n };\n\n private renderModuleVersions = () => {\n return (\n <div part=\"available-versions\">\n <gxg-combo-box\n id=\"versions-combo-box\"\n disable-filter\n value={this.selectedModule.versions[0][\"id\"]}\n part=\"module-versions\"\n display-validation-styles\n display-validation-message\n label={\n this._componentLocale.modulesInformation.moduleProperties\n .availableVersions\n }\n labelPosition=\"start\"\n centerLabel\n ref={el => (this.modulesList = el as HTMLGxgComboBoxElement)}\n onValueChanged={this.moduleVersionsValueChangedHandler}\n >\n {this.selectedModule.versions.map(item => (\n <gxg-combo-box-item\n value={item.id}\n onItemSelected={() =>\n (this.selectedModule = {\n ...this.selectedModule,\n currentVersion: item.id\n })\n }\n >\n {item.id}\n </gxg-combo-box-item>\n ))}\n </gxg-combo-box>\n </div>\n );\n };\n\n private selectedButtonChangedHandler = (e: CustomEvent<string>) => {\n const type = e.detail.replace(\"btn-\", \"\") as ModuleFilterType;\n this.filterModulesByType(type);\n };\n\n private serverItemSelectedHandler = (\n e: CustomEvent<{\n el: HTMLGxgComboBoxItemElement;\n index: number;\n value: any;\n icon?: string;\n }>\n ) => {\n const serverId = e.detail.value;\n this.serverSelectedCallbackHandler(serverId);\n };\n\n private serverValueChangedHandler = (e: CustomEvent<any>) => {\n const serverId = e.detail;\n this.serverSelectedCallbackHandler(serverId);\n };\n\n private progressBarCloseHandler = () => {\n setTimeout(() => {\n this.actionCompleted = true;\n this.closeProgressBar = true;\n // reset\n this.progressValue = 0;\n this.progressState = \"in-progress\";\n }, 400);\n // delay to force the footer line disappear after the top-state-bar has been closed.\n };\n\n // 11.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host\n class={{\n \"gx-ide-component\": true\n }}\n >\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noAboveFooterPadding\n noBorderAboveFooter={this.closeProgressBar}\n noContentPadding\n part=\"servers\"\n containerTitle={this._componentLocale.componentName}\n >\n {/* Servers*/}\n <main class=\"main\">\n <div class=\"modules__container\">\n <header class=\"modules__header\">\n <div class=\"modules__combo-container\">\n <gxg-label>\n {this._componentLocale.modules.selectServer}\n </gxg-label>\n <div class=\"modules__combo\">\n <gxg-combo-box\n disableFilter\n onValueChanged={this.serverValueChangedHandler}\n >\n {this.servers.map(item => (\n <gxg-combo-box-item\n value={item.id}\n onItemSelected={this.serverItemSelectedHandler}\n >\n {item.name}\n </gxg-combo-box-item>\n ))}\n </gxg-combo-box>\n <span class=\"modules__menu-container\">\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/show-more-horizontal\"\n onClick={this.showModuleMenu}\n ></gxg-button>\n {this.renderMenu()}\n </span>\n </div>\n </div>\n <gxg-form-text\n label={this._componentLocale.modules.searchModules}\n labelPosition=\"above\"\n centerLabel={false}\n onValueChanged={(event: any) => {\n this.handleFilterChange(event.detail);\n }}\n ></gxg-form-text>\n <gxg-buttons-container\n reduced\n fullWidth\n class=\"modules__browser\"\n onSelectedButtonChanged={this.selectedButtonChangedHandler}\n >\n <gxg-button id=\"btn-browse\" selected>\n {this._componentLocale.modules.tabs.browse}\n </gxg-button>\n <gxg-button id=\"btn-installed\">\n {this._componentLocale.modules.tabs.installed}\n </gxg-button>\n <gxg-button id=\"btn-updates\">\n {this._componentLocale.modules.tabs.updates}\n </gxg-button>\n </gxg-buttons-container>\n </header>\n\n {/* modules grid*/}\n {this.renderModulesGrid()}\n </div>\n\n {/* Module Information*/}\n {this.selectedModule ? (\n <div class=\"module-info\">\n <header class=\"module-info__header\">\n {this.renderModuleName()}\n {this.renderModuleAction()}\n {this.renderModuleVersions()}\n </header>\n <div class=\"module-info__properties gxg-scrollbar\">\n {renderModuleDataProperties(this.selectedModule.properties)}\n </div>\n </div>\n ) : null}\n </main>\n\n {/* Top State Bar*/}\n <gxg-top-state-bar\n slot=\"footer-above\"\n part=\"progress-bar\"\n stateType={this.progressState}\n noBorder\n caption={\n this.selectedModuleAction.message ||\n this._componentLocale.progressDefaultCaption\n }\n progress={this.progressValue}\n active={!this.actionCompleted || !this.closeProgressBar}\n autoClose={false}\n withClose\n closedCallback={this.progressBarCloseHandler}\n ></gxg-top-state-bar>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type ExecuteActionCallback = (\n serverId: string,\n moduleId: string,\n action: ModuleActionType,\n onProgress: (\n message: string,\n progress: number,\n state: topStateBarType\n ) => void\n) => Promise<boolean>;\n\nexport type ServerSelectedCallback = (id: string) => Promise<ModuleData[]>;\n\nexport type AddServerCallback = () => Promise<void>;\n\nexport type ServerContextMenuCallback = (\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\nexport interface ActionInfo {\n message: string;\n progress: number;\n state: topStateBarType;\n}\n"],"mappings":"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"}
@@ -1,138 +0,0 @@
1
- import { r as e, c as r, h as t, H as o, g as a } from "./p-48217969.js";
2
-
3
- import { L as i } from "./p-74d59062.js";
4
-
5
- const s = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-container{display:flex;height:100%;width:100%;box-sizing:border-box}:host{display:block}.module-servers-grid-local{gap:var(--spacing-comp-03);display:grid;grid-template-columns:auto 1fr auto}.module-servers-grid-local *:nth-child(3){align-self:end}.module-servers-grid-server{gap:var(--spacing-comp-03);display:grid;grid-template-columns:auto 1fr}.module-servers-grid-server *:nth-child(3){align-self:end}.module-servers-grid-column-1{gap:var(--spacing-comp-03);display:grid;grid-template-rows:repeat(3, 1fr)}.module-servers-grid-column-2{gap:var(--spacing-comp-03);display:grid;grid-template-rows:repeat(2, 1fr)}.grid-server-auth-column-1{gap:var(--spacing-comp-03);display:grid;grid-template-rows:repeat(2, 1fr)}.grid-server-auth-column-2{gap:var(--spacing-comp-03);display:grid;grid-template-rows:repeat(2, 1fr)}";
6
-
7
- const l = class {
8
- constructor(o) {
9
- e(this, o);
10
- this.componentDidRenderFirstTime = r(this, "componentDidRenderFirstTime", 7);
11
- this.renderedFirstTime = false;
12
- // 7.LISTENERS //
13
- // 8.PUBLIC METHODS API //
14
- // 9.LOCAL METHODS //
15
- /**
16
- * Executed when user click on confirm button
17
- */ this.confirmCallbackHandler = async () => {
18
- if (this.confirmCallback) {
19
- const e = this.types.find((({type: e}) => e === this.selectedType));
20
- let r = {};
21
- if (e.type === "remote") {
22
- r = {
23
- id: e.id,
24
- name: this.nameEl.value,
25
- type: this.serverTypeEl.value,
26
- authenticated: e.authenticated,
27
- source: this.sourceEl.value,
28
- user: this.userEl.value,
29
- password: this.passwordEl.value
30
- };
31
- } else {
32
- r = {
33
- id: e.id,
34
- name: this.nameEl.value,
35
- type: this.serverTypeEl.value,
36
- authenticated: e.authenticated,
37
- source: this.sourceEl.value
38
- };
39
- }
40
- await this.confirmCallback(r);
41
- }
42
- };
43
- /**
44
- * Executed when user click on cancel button
45
- */ this.cancelCallbackHandler = async () => {
46
- await this.cancelCallback();
47
- };
48
- this.selectSourceCallbackHandle = async () => {
49
- const e = await this.selectSourceCallback();
50
- if (e) {
51
- this.sourceEl.value = e;
52
- }
53
- };
54
- // 10.LOCAL METHODS //
55
- this.renderServerOptions = () => [ t("div", {
56
- class: "grid-server-auth-column-1"
57
- }, t("gxg-label", null, this._componentLocale.user), t("gxg-label", null, this._componentLocale.password)), t("div", {
58
- class: "grid-server-auth-column-2"
59
- }, t("gxg-form-text", {
60
- placeholder: this._componentLocale.user,
61
- ref: e => this.userEl = e,
62
- part: "user"
63
- }), t("gxg-form-text", {
64
- password: true,
65
- placeholder: this._componentLocale.password,
66
- ref: e => this.passwordEl = e,
67
- part: "password"
68
- })) ];
69
- this.selectedType = "local";
70
- this.types = undefined;
71
- this.name = undefined;
72
- this.source = undefined;
73
- this.confirmCallback = undefined;
74
- this.selectSourceCallback = undefined;
75
- this.cancelCallback = undefined;
76
- }
77
- // 6.COMPONENT LIFECYCLE EVENTS //
78
- async componentWillLoad() {
79
- this._componentLocale = await i.getComponentStrings(this.el);
80
- }
81
- componentDidRender() {
82
- if (!this.renderedFirstTime) {
83
- this.componentDidRenderFirstTime.emit(this._componentLocale.componentName);
84
- this.renderedFirstTime = true;
85
- }
86
- }
87
- render() {
88
- var e;
89
- return t(o, {
90
- class: "gx-ide-component"
91
- }, t("div", {
92
- class: "gx-ide-main-wrapper gx-ide-overflow"
93
- }, t("gx-ide-container", {
94
- slimmerFooter: true
95
- }, t("div", {
96
- class: this.selectedType === "local" ? "grid module-servers-grid-local" : "grid module-servers-grid-server"
97
- }, t("div", {
98
- class: "module-servers-grid-column-1"
99
- }, t("gxg-label", null, " ", this._componentLocale.type), t("gxg-label", null, " ", this._componentLocale.name), t("gxg-label", null, " ", this._componentLocale.source)), t("div", {
100
- class: "module-servers-grid-column-2"
101
- }, t("gxg-combo-box", {
102
- value: this.selectedType,
103
- ref: e => this.serverTypeEl = e
104
- }, (e = this.types) === null || e === void 0 ? void 0 : e.map((e => t("gxg-combo-box-item", {
105
- value: e.type,
106
- onItemSelected: e => this.selectedType = e.detail.value
107
- }, e.type)))), t("gxg-form-text", {
108
- placeholder: this._componentLocale.name,
109
- ref: e => this.nameEl = e,
110
- part: "name"
111
- }), t("gxg-form-text", {
112
- placeholder: this._componentLocale.source,
113
- ref: e => this.sourceEl = e,
114
- part: "source"
115
- })), this.selectedType === "local" && t("gxg-button", {
116
- onClick: this.selectSourceCallbackHandle
117
- }, "..."), this.selectedType === "remote" && this.renderServerOptions()), t("gxg-button", {
118
- slot: "footer-end",
119
- type: "outlined",
120
- onClick: this.cancelCallbackHandler
121
- }, this._componentLocale.footer.btnCancel), t("gxg-button", {
122
- slot: "footer-end",
123
- type: "primary-text-only",
124
- onClick: this.confirmCallbackHandler
125
- }, this._componentLocale.footer.btnConfirm))));
126
- }
127
- static get assetsDirs() {
128
- return [ "gx-ide-assets/edit-module-servers" ];
129
- }
130
- get el() {
131
- return a(this);
132
- }
133
- };
134
-
135
- l.style = s;
136
-
137
- export { l as gx_ide_edit_module_servers };
138
- //# sourceMappingURL=p-b7d0697f.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["editModuleServersCss","GxIdeEditModuleServers","this","renderedFirstTime","confirmCallbackHandler","async","confirmCallback","selectedTypeId","types","find","type","selectedType","data","id","name","nameEl","value","serverTypeEl","authenticated","source","sourceEl","user","userEl","password","passwordEl","cancelCallbackHandler","cancelCallback","selectSourceCallbackHandle","path","selectSourceCallback","renderServerOptions","h","class","_componentLocale","placeholder","ref","el","part","componentWillLoad","Locale","getComponentStrings","componentDidRender","componentDidRenderFirstTime","emit","componentName","render","Host","slimmerFooter","_a","map","onItemSelected","item","detail","onClick","slot","footer","btnCancel","btnConfirm"],"sources":["src/components/modules/edit-module-servers/edit-module-servers.scss?tag=gx-ide-edit-module-servers&encapsulation=shadow","src/components/modules/edit-module-servers/edit-module-servers.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-common.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n}\n.module-servers-grid-local {\n gap: var(--spacing-comp-03);\n display: grid;\n grid-template-columns: auto 1fr auto;\n\n *:nth-child(3) {\n align-self: end;\n }\n}\n.module-servers-grid-server {\n gap: var(--spacing-comp-03);\n display: grid;\n grid-template-columns: auto 1fr;\n\n *:nth-child(3) {\n align-self: end;\n }\n}\n.module-servers-grid-column-1 {\n gap: var(--spacing-comp-03);\n display: grid;\n grid-template-rows: repeat(3, 1fr);\n}\n\n.module-servers-grid-column-2 {\n gap: var(--spacing-comp-03);\n display: grid;\n grid-template-rows: repeat(2, 1fr);\n}\n.grid-server-auth-column-1 {\n gap: var(--spacing-comp-03);\n display: grid;\n grid-template-rows: repeat(2, 1fr);\n}\n\n.grid-server-auth-column-2 {\n gap: var(--spacing-comp-03);\n display: grid;\n grid-template-rows: repeat(2, 1fr);\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n State,\n EventEmitter\n} from \"@stencil/core\";\n\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../../common/locale\";\nimport {\n ModuleServerType,\n ModuleServerFullData,\n EditServerModuleResult\n} from \"../types\";\n@Component({\n tag: \"gx-ide-edit-module-servers\",\n styleUrl: \"edit-module-servers.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/edit-module-servers\"]\n})\nexport class GxIdeEditModuleServers {\n // 1.OWN PROPERTIES | WATCH'S //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeEditModuleServersElement;\n private serverTypeEl: HTMLGxgComboBoxElement;\n private nameEl: HTMLGxgFormTextElement;\n private sourceEl: HTMLGxgFormTextElement;\n private userEl: HTMLGxgFormTextElement;\n private passwordEl: HTMLGxgFormTextElement;\n\n // 3.STATE() VARIABLES //\n\n @State() selectedType: \"local\" | \"remote\" = \"local\";\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * The type of the server\n */\n @Prop() readonly types: ModuleServerType[];\n\n /**\n * The name of the server\n */\n @Prop() readonly name: string;\n\n /**\n * Disk path or server url\n */\n @Prop() readonly source: string;\n\n /**\n * Confirm callback\n */\n @Prop() readonly confirmCallback: ConfirmCallback;\n\n /**\n * Callback invoked when wants to select a local folder that have modules inside\n */\n @Prop() readonly selectSourceCallback: SelectSourceCallback;\n\n /**\n * Cancel callback\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n /**\n * Executed when user click on confirm button\n */\n\n private confirmCallbackHandler = async () => {\n if (this.confirmCallback) {\n const selectedTypeId = this.types.find(\n ({ type }) => type === this.selectedType\n );\n let data = {} as ModuleServerFullData;\n if (selectedTypeId.type === \"remote\") {\n data = {\n id: selectedTypeId.id,\n name: this.nameEl.value,\n type: this.serverTypeEl.value,\n authenticated: selectedTypeId.authenticated,\n source: this.sourceEl.value,\n user: this.userEl.value,\n password: this.passwordEl.value\n };\n } else {\n data = {\n id: selectedTypeId.id,\n name: this.nameEl.value,\n type: this.serverTypeEl.value,\n authenticated: selectedTypeId.authenticated,\n source: this.sourceEl.value\n };\n }\n const result = await this.confirmCallback(data);\n if (result.success) {\n // display success message\n } else {\n // display error message\n }\n }\n };\n\n /**\n * Executed when user click on cancel button\n */\n private cancelCallbackHandler = async () => {\n await this.cancelCallback();\n };\n private selectSourceCallbackHandle = async () => {\n const path = await this.selectSourceCallback();\n\n if (path) {\n this.sourceEl.value = path;\n }\n };\n\n // 10.LOCAL METHODS //\n\n private renderServerOptions = (): Element[] => {\n return [\n <div class=\"grid-server-auth-column-1\">\n <gxg-label>{this._componentLocale.user}</gxg-label>\n <gxg-label>{this._componentLocale.password}</gxg-label>\n </div>,\n <div class=\"grid-server-auth-column-2\">\n <gxg-form-text\n placeholder={this._componentLocale.user}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.userEl = el as HTMLGxgFormTextElement)\n }\n part=\"user\"\n ></gxg-form-text>\n <gxg-form-text\n password\n placeholder={this._componentLocale.password}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.passwordEl = el as HTMLGxgFormTextElement)\n }\n part=\"password\"\n ></gxg-form-text>\n </div>\n ];\n };\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper gx-ide-overflow\">\n <gx-ide-container slimmerFooter>\n <div\n class={\n this.selectedType === \"local\"\n ? \"grid module-servers-grid-local\"\n : \"grid module-servers-grid-server\"\n }\n >\n <div class=\"module-servers-grid-column-1\">\n <gxg-label> {this._componentLocale.type}</gxg-label>\n <gxg-label> {this._componentLocale.name}</gxg-label>\n <gxg-label> {this._componentLocale.source}</gxg-label>\n </div>\n <div class=\"module-servers-grid-column-2\">\n <gxg-combo-box\n value={this.selectedType}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.serverTypeEl = el as HTMLGxgComboBoxElement)\n }\n >\n {this.types?.map(type => (\n <gxg-combo-box-item\n value={type.type}\n onItemSelected={item =>\n (this.selectedType = item.detail.value)\n }\n >\n {type.type}\n </gxg-combo-box-item>\n ))}\n </gxg-combo-box>\n <gxg-form-text\n placeholder={this._componentLocale.name}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.nameEl = el as HTMLGxgFormTextElement)\n }\n part=\"name\"\n ></gxg-form-text>\n <gxg-form-text\n placeholder={this._componentLocale.source}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.sourceEl = el as HTMLGxgFormTextElement)\n }\n part=\"source\"\n ></gxg-form-text>\n </div>\n {this.selectedType === \"local\" && (\n <gxg-button onClick={this.selectSourceCallbackHandle}>\n ...\n </gxg-button>\n )}\n {this.selectedType === \"remote\" && this.renderServerOptions()}\n </div>\n\n <gxg-button\n slot=\"footer-end\"\n type=\"outlined\"\n onClick={this.cancelCallbackHandler}\n >\n {this._componentLocale.footer.btnCancel}\n </gxg-button>\n <gxg-button\n slot=\"footer-end\"\n type=\"primary-text-only\"\n onClick={this.confirmCallbackHandler}\n >\n {this._componentLocale.footer.btnConfirm}\n </gxg-button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\nexport type ConfirmCallback = (\n data: ModuleServerFullData\n) => Promise<EditServerModuleResult>;\nexport type CancelCallback = () => Promise<void>;\nexport type SelectSourceCallback = () => Promise<string | undefined>;\n"],"mappings":";;;;AAAA,MAAMA,IAAuB;;MC0BhBC,IAAsB;;;;IAOzBC,KAAAC,oBAAoB;;;;;;eA+EpBD,KAAAE,yBAAyBC;MAC/B,IAAIH,KAAKI,iBAAiB;QACxB,MAAMC,IAAiBL,KAAKM,MAAMC,MAChC,EAAGC,aAAWA,MAASR,KAAKS;QAE9B,IAAIC,IAAO;QACX,IAAIL,EAAeG,SAAS,UAAU;UACpCE,IAAO;YACLC,IAAIN,EAAeM;YACnBC,MAAMZ,KAAKa,OAAOC;YAClBN,MAAMR,KAAKe,aAAaD;YACxBE,eAAeX,EAAeW;YAC9BC,QAAQjB,KAAKkB,SAASJ;YACtBK,MAAMnB,KAAKoB,OAAON;YAClBO,UAAUrB,KAAKsB,WAAWR;;eAEvB;UACLJ,IAAO;YACLC,IAAIN,EAAeM;YACnBC,MAAMZ,KAAKa,OAAOC;YAClBN,MAAMR,KAAKe,aAAaD;YACxBE,eAAeX,EAAeW;YAC9BC,QAAQjB,KAAKkB,SAASJ;;;cAGLd,KAAKI,gBAAgBM;;;;;eAYtCV,KAAAuB,wBAAwBpB;YACxBH,KAAKwB;AAAgB;IAErBxB,KAAAyB,6BAA6BtB;MACnC,MAAMuB,UAAa1B,KAAK2B;MAExB,IAAID,GAAM;QACR1B,KAAKkB,SAASJ,QAAQY;;;;QAMlB1B,KAAA4B,sBAAsB,MACrB,EACLC,EAAA;MAAKC,OAAM;OACTD,EAAA,mBAAY7B,KAAK+B,iBAAiBZ,OAClCU,EAAA,mBAAY7B,KAAK+B,iBAAiBV,YAEpCQ,EAAA;MAAKC,OAAM;OACTD,EAAA;MACEG,aAAahC,KAAK+B,iBAAiBZ;MACnCc,KAAMC,KACHlC,KAAKoB,SAASc;MAEjBC,MAAK;QAEPN,EAAA;MACER,UAAQ;MACRW,aAAahC,KAAK+B,iBAAiBV;MACnCY,KAAMC,KACHlC,KAAKsB,aAAaY;MAErBC,MAAK;;wBAxI+B;;;;;;;;;EA2C5C,uBAAMC;IACJpC,KAAK+B,yBAAyBM,EAAOC,oBAAoBtC,KAAKkC;;EAGhE,kBAAAK;IACE,KAAKvC,KAAKC,mBAAmB;MAC3BD,KAAKwC,4BAA4BC,KAC/BzC,KAAK+B,iBAAiBW;MAExB1C,KAAKC,oBAAoB;;;EA0F7B,MAAA0C;;IACE,OACEd,EAACe,GAAI;MAACd,OAAM;OACVD,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAkBgB,eAAa;OAC7BhB,EAAA;MACEC,OACE9B,KAAKS,iBAAiB,UAClB,mCACA;OAGNoB,EAAA;MAAKC,OAAM;OACTD,EAAA,wBAAa7B,KAAK+B,iBAAiBvB,OACnCqB,EAAA,wBAAa7B,KAAK+B,iBAAiBnB,OACnCiB,EAAA,wBAAa7B,KAAK+B,iBAAiBd,UAErCY,EAAA;MAAKC,OAAM;OACTD,EAAA;MACEf,OAAOd,KAAKS;MACZwB,KAAMC,KACHlC,KAAKe,eAAemB;QAGtBY,IAAA9C,KAAKM,WAAK,QAAAwC,WAAA,aAAAA,EAAEC,KAAIvC,KACfqB,EAAA;MACEf,OAAON,EAAKA;MACZwC,gBAAgBC,KACbjD,KAAKS,eAAewC,EAAKC,OAAOpC;OAGlCN,EAAKA,UAIZqB,EAAA;MACEG,aAAahC,KAAK+B,iBAAiBnB;MACnCqB,KAAMC,KACHlC,KAAKa,SAASqB;MAEjBC,MAAK;QAEPN,EAAA;MACEG,aAAahC,KAAK+B,iBAAiBd;MACnCgB,KAAMC,KACHlC,KAAKkB,WAAWgB;MAEnBC,MAAK;SAGRnC,KAAKS,iBAAiB,WACrBoB,EAAA;MAAYsB,SAASnD,KAAKyB;OAA0B,QAIrDzB,KAAKS,iBAAiB,YAAYT,KAAK4B,wBAG1CC,EAAA;MACEuB,MAAK;MACL5C,MAAK;MACL2C,SAASnD,KAAKuB;OAEbvB,KAAK+B,iBAAiBsB,OAAOC,YAEhCzB,EAAA;MACEuB,MAAK;MACL5C,MAAK;MACL2C,SAASnD,KAAKE;OAEbF,KAAK+B,iBAAiBsB,OAAOE"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["titleEditableCss","GxgTitleEditable","constructor","hostRef","this","edit","editing","positionCursorAtTheEnd","wrapperClickedHandler","textInput","selectionStart","selectionEnd","value","length","focus","inputKeyDownHandler","e","key","preventDefault","editButtonEl","fluid","setInputWidth","detectClickOutsideFunc","clickedOutside","detectClickOutside","wrapperEl","style","width","inputInputHandler","ghostDiv","innerText","updateInputWidth","ghostDivWidth","getBoundingClientRect","undefined","titleType","disableEdition","debounce","debounceDelay","disabled","clickToEdit","focusType","validationStatus","validationMessage","hideTooltip","watchValueHandler","newValue","clearTimeout","timeoutReference","setTimeout","valueChanged","emit","watchEditingHandler","document","addEventListener","removeEventListener","componentDidLoad","render","h","Host","class","formClasses","commonClassesNames","onMouseUp","wrapper","ref","el","type","readOnly","onKeyDown","onInput","tabIndex","icon","onClick","formTooltipLogic"],"sources":["node_modules/@genexus/gemini/dist/collection/components/title-editable/title-editable.css?tag=gxg-title-editable&encapsulation=shadow","node_modules/@genexus/gemini/dist/collection/components/title-editable/title-editable.js"],"sourcesContent":[":root {\n --ui-animaton-speed: 0.2s;\n}\n\n/*ALIGNMENT*/\n/*Ellipsis*/\n/*****************************************************\nTYPOGRAPHY\n*****************************************************/\n/*Title 01 (Positive)*/\n.gxg-title-01 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n/*Title 01 (Negative)*/\n.gxg-title-01--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 02 (Positive)*/\n.gxg-title-02 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-02--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--color-on-primary);\n}\n\n/*Title 03*/\n.gxg-title-03 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-03--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 04*/\n.gxg-title-04 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-04--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 05*/\n.gxg-title-05 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-05--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Text*/\n.gxg-text {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-text--negative {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n.gxg-text--gray {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--dimmed);\n}\n\n/*Quote*/\n.gxg-quote {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n font-style: italic;\n}\n\n.gxg-quote--negative {\n color: var(--ds-base-font-color--negative);\n}\n\n/*Link*/\n.gxg-link {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n}\n.gxg-link:hover {\n color: var(--ds-base-font-color--link-hover);\n}\n.gxg-link:active {\n color: var(--ds-base-font-color--link-active);\n}\n\n.gxg-link-gray {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n}\n.gxg-link-gray:hover {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n filter: brightness(1.4);\n}\n\n/*Alerts*/\n.gxg-alert-error {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--error);\n display: inline-block;\n}\n\n.gxg-alert-warning {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--warning);\n display: inline-block;\n}\n\n.gxg-alert-success {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--success);\n display: inline-block;\n}\n\n/*Tab*/\n.gxg-tab--disabled {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n.gxg-tab--disabled[disabled] {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n\n/*Label*/\n.gxg-label {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--gxg-label-font-weight);\n font-size: var(--gxg-label-font-size);\n color: var(--gxg-label-color);\n text-align: center;\n line-height: 1.455em;\n display: flex;\n align-items: center;\n}\n.gxg-label:hover {\n color: var(--color-primary-hover);\n}\n.gxg-label:focus {\n color: var(--color-primary-active);\n}\n.gxg-label:active {\n color: var(--color-primary-active);\n}\n.gxg-label[disabled] {\n color: var(--color-primary-disabled);\n}\n\n.gxg-label--negative {\n color: var(--color-on-primary);\n}\n.gxg-label--negative[disabled] {\n color: var(--color-on-disabled);\n}\n\n/*****************************************************\nGXG-BUTTON and GXG-BUTTON-GROUP COMMON STYLES\n*****************************************************/\n/*****************************************************\nFORM ELEMENTS\n*****************************************************/\n.gxg-scrollbar {\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\n.gxg-scrollbar::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n.gxg-scrollbar::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n.gxg-scrollbar::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n\n/*Warning*/\n:host(.gxg-validation--warning) .form-element {\n border-color: var(--ds-border-color--warning);\n}\n:host(.gxg-validation--warning) .form-element:focus {\n outline-color: var(--ds-border-color--warning);\n border-color: var(--ds-border-color--warning);\n}\n:host(.gxg-validation--warning) .form-element:focus + .checkmark {\n --checkmark-border-color: var(--ds-border-color--warning);\n}\n\n/*Error*/\n:host(.gxg-validation--error) .form-element {\n border-color: var(--ds-border-color--error);\n}\n:host(.gxg-validation--error) .form-element:focus {\n outline-color: var(--ds-border-color--error);\n border-color: var(--ds-border-color--error);\n}\n:host(.gxg-validation--error) .form-element:focus + .checkmark {\n --checkmark-border-color: var(--ds-border-color--error);\n}\n\n/*Success*/\n:host(.gxg-validation--success) .form-element {\n border-color: var(--ds-border-color--success);\n}\n:host(.gxg-validation--success) .form-element:focus {\n outline-color: var(--ds-border-color--success);\n border-color: var(--ds-border-color--success);\n}\n:host(.gxg-validation--success) .form-element:focus + .checkmark {\n --checkmark-border-color: var(--ds-border-color--success);\n}\n\n/*Tooltip*/\n.tooltip-outer-wrapper {\n display: grid;\n grid-template-columns: 0fr;\n transition: grid-template-columns var(--timing-02);\n}\n\n:host(.tooltip--visible) .tooltip-outer-wrapper {\n grid-template-columns: 1fr;\n}\n\n.tooltip-inner-wrapper {\n --margin-inline-start: 6px;\n overflow: hidden;\n transition: 150ms width;\n width: 0;\n}\n.tooltip-inner-wrapper gxg-icon {\n display: flex;\n position: relative !important;\n top: 0 !important;\n transform: none !important;\n margin-inline-start: var(--margin-inline-start);\n box-sizing: border-box;\n}\n.tooltip-inner-wrapper--visible {\n width: calc(var(--ds-icon-size-box--small) + var(--margin-inline-start));\n}\n.tooltip-inner-wrapper--hidden {\n display: none;\n}\n\n:host(.gxg--disabled) .form-element,\n:host(.gxg--disabled.form-element) {\n pointer-events: none;\n background-color: var(--ds-background-color-disabled) !important;\n color: var(--ds-color--disabled) !important;\n border-color: var(--ds-border-color-disabled) !important;\n cursor: default !important;\n}\n\n:host {\n display: block;\n color: var(--gxg-title-editable__color);\n}\n:host .wrapper {\n font-family: var(--ds-base-font-family-primary);\n position: relative;\n max-width: 100%;\n}\n:host input {\n font-family: inherit;\n font-size: inherit;\n font-weight: inherit;\n text-transform: inherit;\n color: inherit;\n background-color: transparent;\n border: none;\n padding: 0;\n box-sizing: border-box;\n flex-grow: 1;\n cursor: auto;\n border-bottom: 2px solid transparent;\n}\n:host input:focus {\n outline: none;\n}\n\n/*wrapper*/\n.wrapper {\n display: flex;\n align-items: center;\n gap: var(--gxg-title-editable-wrapper__gap);\n font-weight: var(--gxg-title-editable__font-weight);\n}\n\n/*editing*/\n:host(:not([editing])) input {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n/*click-to-edit*/\n:host([click-to-edit]:not([disable-edition])) .wrapper,\n:host([click-to-edit]:not([disable-edition])) input {\n cursor: pointer;\n}\n\n/*title types*/\n:host([title-type=h1]) .wrapper {\n font-size: var(--gxg-title-editable-h1__font-size);\n text-transform: capitalize;\n}\n\n:host([title-type=h2]) .wrapper {\n font-size: var(--gxg-title-editable-h2__font-size);\n}\n\n/*fluid*/\n:host([fluid]) .wrapper {\n display: inline-flex;\n}\n\n/*focus (optional)*/\n:host(.focus--text.editing) input {\n color: var(--gxg-title-editable__color--editing);\n}\n\n/*focus (optional)*/\n:host(.focus--line.editing) input {\n border-bottom-color: var(--gxg-title-editable__color--editing);\n}\n\n/*ghost div: it helps measuring the text width, to make the input as wide as needed (fluid)*/\n.ghost {\n font-family: inherit;\n font-size: inherit;\n position: fixed;\n visibility: hidden;\n height: auto;\n width: auto;\n white-space: nowrap;\n /*remove from viewport*/\n bottom: 0;\n left: 0;\n transform: translate(-100%, -100%);\n}\n\n.right-wrapper {\n display: flex;\n align-items: center;\n}","import { Host, h } from \"@stencil/core\";\nimport { formTooltipLogic } from \"../../common/form\";\nimport { formClasses } from \"../../common/classesNames\";\nimport { commonClassesNames } from \"../../common/classesNames\";\nimport { detectClickOutside } from \"../../common/detect-click-outside\";\nexport class GxgTitleEditable {\n constructor() {\n this.value = undefined;\n this.titleType = \"h1\";\n this.disableEdition = false;\n this.debounce = false;\n this.debounceDelay = 800;\n this.disabled = false;\n this.clickToEdit = false;\n this.fluid = false;\n this.focusType = undefined;\n this.validationStatus = \"indeterminate\";\n this.validationMessage = undefined;\n this.hideTooltip = false;\n this.editing = false;\n }\n textInput;\n wrapperEl;\n editButtonEl;\n ghostDiv;\n el;\n timeoutReference;\n watchValueHandler(newValue) {\n if (this.debounce) {\n clearTimeout(this.timeoutReference);\n this.timeoutReference = setTimeout(() => {\n this.valueChanged.emit(newValue);\n }, this.debounceDelay);\n }\n else {\n this.valueChanged.emit(newValue);\n }\n }\n watchEditingHandler(editing) {\n if (editing) {\n document.addEventListener(\"click\", this.detectClickOutsideFunc);\n }\n else {\n document.removeEventListener(\"click\", this.detectClickOutsideFunc);\n }\n }\n /* EVENTS */\n /**\n * Emitted when the value changes\n */\n valueChanged;\n /*COMPONENT LIFECYCLE METHODS*/\n componentDidLoad() {\n if (this.fluid) {\n this.inputInputHandler();\n }\n }\n /*PRIVATE METHODS*/\n edit = () => {\n this.editing = true;\n this.positionCursorAtTheEnd();\n };\n wrapperClickedHandler = () => {\n this.editing = true;\n };\n positionCursorAtTheEnd = () => {\n this.textInput.selectionStart = this.textInput.selectionEnd =\n this.textInput.value.length;\n this.textInput.focus();\n };\n inputKeyDownHandler = (e) => {\n if (e.key === \"Enter\" || e.key === \"Escape\") {\n e.preventDefault();\n this.editing = false;\n this.editButtonEl.focus();\n }\n else if (this.fluid) {\n this.setInputWidth();\n }\n };\n detectClickOutsideFunc = (e) => {\n const clickedOutside = detectClickOutside(e, this.wrapperEl);\n if (clickedOutside) {\n this.editing = false;\n }\n };\n setInputWidth = () => {\n this.textInput.style.width = this.value.length + 1 + \"ch\";\n };\n inputInputHandler = () => {\n this.value = this.textInput.value;\n if (this.fluid) {\n this.ghostDiv.innerText = this.value;\n this.updateInputWidth();\n }\n };\n updateInputWidth = () => {\n if (this.fluid) {\n const ghostDivWidth = this.ghostDiv.getBoundingClientRect().width;\n this.textInput.style.width = `${ghostDivWidth}px`;\n }\n };\n /*RENDER*/\n render() {\n return (h(Host, { class: {\n editing: this.editing,\n \"focus--text\": this.focusType === \"text\",\n \"focus--line\": this.focusType === \"line\",\n [formClasses[\"VALIDATION_INDETERMINATE_CLASS\"]]: this.validationStatus === \"indeterminate\",\n [formClasses[\"VALIDATION_WARNING_CLASS\"]]: this.validationStatus === \"warning\",\n [formClasses[\"VALIDATION_ERROR_CLASS\"]]: this.validationStatus === \"error\",\n [formClasses[\"VALIDATION_SUCCESS_CLASS\"]]: this.validationStatus === \"success\",\n [commonClassesNames[\"DISABLED_CLASS\"]]: this.disabled\n } }, h(\"div\", { onMouseUp: this.clickToEdit &&\n !this.editing &&\n !this.disableEdition &&\n this.wrapperClickedHandler, class: {\n wrapper: true\n }, ref: el => (this.wrapperEl = el) }, this.fluid ? (h(\"div\", { class: \"ghost\", ref: el => (this.ghostDiv = el) })) : null, h(\"input\", { type: \"text\", value: this.value, readOnly: !this.editing, ref: el => (this.textInput = el), onKeyDown: this.inputKeyDownHandler, onInput: this.inputInputHandler, tabIndex: this.editing ? 0 : -1 }), h(\"div\", { class: \"right-wrapper\" }, !this.disableEdition ? (h(\"gxg-button\", { type: \"secondary-icon-only\", icon: \"gemini-tools/edit\", onClick: this.edit, ref: el => (this.editButtonEl = el) })) : null, formTooltipLogic(this, this.hideTooltip)))));\n }\n static get is() { return \"gxg-title-editable\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"title-editable.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"title-editable.css\"]\n };\n }\n static get properties() {\n return {\n \"value\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The title value\"\n },\n \"attribute\": \"value\",\n \"reflect\": false,\n \"defaultValue\": \"undefined\"\n },\n \"titleType\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"EditableTitleType\",\n \"resolved\": \"\\\"h1\\\" | \\\"h2\\\" | \\\"h3\\\" | \\\"h4\\\"\",\n \"references\": {\n \"EditableTitleType\": {\n \"location\": \"local\",\n \"path\": \"/home/circleci/repo/src/components/title-editable/title-editable.tsx\",\n \"id\": \"src/components/title-editable/title-editable.tsx::EditableTitleType\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The title type\"\n },\n \"attribute\": \"title-type\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"h1\\\"\"\n },\n \"disableEdition\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If true, the title will not be editable\"\n },\n \"attribute\": \"disable-edition\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"debounce\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute activates a debounce for the valueChanged event. This will cause the event to be emitted after 'debounceDelay' time.\"\n },\n \"attribute\": \"debounce\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"debounceDelay\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The debounce delay value. Only applies if 'debounce' is true.\"\n },\n \"attribute\": \"debounce-delay\",\n \"reflect\": false,\n \"defaultValue\": \"800\"\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute makes the input disabled\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"clickToEdit\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If true, it will allow the title to be edited\"\n },\n \"attribute\": \"click-to-edit\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"fluid\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If true, the width of the title will take only the minimum needed space\"\n },\n \"attribute\": \"fluid\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"focusType\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"EditableTitleFocusType\",\n \"resolved\": \"\\\"line\\\" | \\\"text\\\"\",\n \"references\": {\n \"EditableTitleFocusType\": {\n \"location\": \"local\",\n \"path\": \"/home/circleci/repo/src/components/title-editable/title-editable.tsx\",\n \"id\": \"src/components/title-editable/title-editable.tsx::EditableTitleFocusType\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If true, the width of the title will take only the minimum needed space\"\n },\n \"attribute\": \"focus-type\",\n \"reflect\": true\n },\n \"validationStatus\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"ValidationStatus\",\n \"resolved\": \"\\\"error\\\" | \\\"indeterminate\\\" | \\\"success\\\" | \\\"warning\\\"\",\n \"references\": {\n \"ValidationStatus\": {\n \"location\": \"import\",\n \"path\": \"../../common/types\",\n \"id\": \"src/common/types.ts::ValidationStatus\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The validation status\"\n },\n \"attribute\": \"validation-status\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"indeterminate\\\"\"\n },\n \"validationMessage\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The message to display when validation fails (error)\"\n },\n \"attribute\": \"validation-message\",\n \"reflect\": false\n },\n \"hideTooltip\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Shows or hides the tooltip\"\n },\n \"attribute\": \"hide-tooltip\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n }\n };\n }\n static get states() {\n return {\n \"editing\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"valueChanged\",\n \"name\": \"valueChanged\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Emitted when the value changes\"\n },\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"value\",\n \"methodName\": \"watchValueHandler\"\n }, {\n \"propName\": \"editing\",\n \"methodName\": \"watchEditingHandler\"\n }];\n }\n}\n//# sourceMappingURL=title-editable.js.map\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["ideLoaderCss","IdeLoader","constructor","hostRef","this","showTransition","renderTitle","loaderTitle","h","class","type","alignment","renderDescription","description","textAlign","renderCancelButton","cancelLabel","onClick","cancelProcess","cancelCallback","clearTimeout","timeoutReference","show","showWindow","showWrapper","undefined","abortTime","container","showHandler","timeout","setTimeout","loaderFinished","emit","render","Host","closeOnEscape","closeOnOutsideClick","hidden","modal","showFooter","showHeader","style","part"],"sources":["node_modules/@genexus/gemini/dist/collection/components/ide-loader/ide-loader.css?tag=gxg-ide-loader&encapsulation=shadow","node_modules/@genexus/gemini/dist/collection/components/ide-loader/ide-loader.js"],"sourcesContent":[":host(.gxg--disabled) .form-element,\n:host(.gxg--disabled.form-element) {\n pointer-events: none;\n background-color: var(--ds-background-color-disabled) !important;\n color: var(--ds-color--disabled) !important;\n border-color: var(--ds-border-color-disabled) !important;\n cursor: default !important;\n}\n\n:host {\n display: block;\n}\n\nch-window::part(mask) {\n overflow: hidden;\n}\n\nch-window::part(main) {\n height: 100%;\n}\n\nch-window::part(window) {\n width: 100%;\n height: 100%;\n}\n\n.loader__wrapper {\n opacity: 0;\n transition: var(--show-transition) opacity;\n width: 100%;\n height: 100%;\n display: flex;\n background-color: var(--gxg-ide-loader-wrapper__background-color--from);\n backdrop-filter: var(--gxg-ide-loader-wrapper__backdrop-filter);\n padding: var(--gxg-ide-loader-wrapper__padding);\n flex-direction: column;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n color: var(--gxg-ide-loader-wrapper__color);\n}\n.loader__wrapper--visible {\n opacity: 1;\n}\n.loader__spinner {\n border: var(--gxg-ide-loader-spinner__border);\n border-top: var(--gxg-ide-loader-spinner__border-top);\n border-radius: 50%;\n -webkit-animation: spinner 0.6s infinite linear;\n animation: spinner 0.6s infinite linear;\n width: var(--gxg-ide-loader-spinner__width);\n height: var(--gxg-ide-loader-spinner__width);\n flex-shrink: 0;\n}\n.loader__content-wrapper {\n display: flex;\n flex-direction: column;\n margin-block-start: var(--gxg-ide-loader-content-wrapper__mbs);\n gap: var(--gxg-ide-loader-content-wrapper__gap);\n max-width: var(--gxg-ide-loader-content-wrapper__max-width);\n}\n.loader__content-wrapper--hidden {\n display: none;\n}\n\n/*background color animation*/\n@keyframes wrapper {\n from {\n background-color: var(--gxg-ide-loader-wrapper__background-color--from);\n }\n to {\n background-color: var(--gxg-ide-loader-wrapper__background-color--to);\n }\n}\n/*spinner animation*/\n@-webkit-keyframes spinner {\n from {\n -webkit-transform: rotate(0deg);\n }\n to {\n -webkit-transform: rotate(359deg);\n }\n}\n@keyframes spinner {\n from {\n transform: rotate(0deg);\n }\n to {\n transform: rotate(359deg);\n }\n}","import { Host, h } from \"@stencil/core\";\nexport class IdeLoader {\n constructor() {\n this.showWindow = false;\n this.showWrapper = false;\n this.loaderTitle = undefined;\n this.description = undefined;\n this.cancelLabel = undefined;\n this.cancelCallback = undefined;\n this.show = false;\n this.abortTime = 5000;\n this.container = undefined;\n }\n /*\n INDEX:\n 1.OWN PROPERTIES\n 2.REFERENCE TO ELEMENTS\n 3.STATE() VARIABLES\n 4.PUBLIC PROPERTY API | WATCH'S\n 5.EVENTS (EMIT)\n 6.COMPONENT LIFECYCLE EVENTS\n 7.LISTENERS\n 8.PUBLIC METHODS API\n 9.LOCAL METHODS\n 10.RENDER() FUNCTION\n */\n // 1.OWN PROPERTIES //\n /**\n * The transition speed for displaying/hiding the ch-window\n */\n showTransition = 200;\n timeoutReference;\n // 2. REFERENCE TO ELEMENTS //\n containerEl;\n showHandler(show) {\n const timeout = 50;\n if (show) {\n this.showWindow = true;\n setTimeout(() => {\n this.showWrapper = true;\n }, timeout);\n }\n else {\n this.showWrapper = false;\n setTimeout(() => {\n this.showWindow = false;\n this.loaderFinished.emit();\n }, this.showTransition);\n }\n if (show) {\n if (this.timeoutReference) {\n clearTimeout(this.timeoutReference);\n }\n this.timeoutReference = setTimeout(() => {\n this.show = false;\n }, this.abortTime);\n }\n }\n // 5.EVENTS (EMIT) //\n loaderFinished;\n // 6.COMPONENT LIFECYCLE EVENTS //\n // 7.LISTENERS //\n // 8.PUBLIC METHODS API //\n // 9.LOCAL METHODS //\n renderTitle = () => {\n return this.loaderTitle ? (h(\"gxg-title\", { class: \"loader__title\", type: \"title-04\", alignment: \"center\" }, this.loaderTitle)) : null;\n };\n renderDescription = () => {\n return this.description ? (h(\"gxg-text\", { class: \"loader__description\", type: \"text-regular\", textAlign: \"center\" }, this.description)) : null;\n };\n renderCancelButton = () => {\n return this.cancelLabel ? (h(\"gxg-button\", { class: {\n [`loader__cancel-button`]: true\n }, type: \"secondary-text-icon\", onClick: this.cancelProcess }, this.cancelLabel)) : null;\n };\n cancelProcess = () => {\n if (this.cancelCallback) {\n this.cancelCallback();\n }\n clearTimeout(this.timeoutReference);\n this.show = false;\n };\n // 10.RENDER() FUNCTION //\n render() {\n return (h(Host, null, h(\"ch-window\", { closeOnEscape: false, closeOnOutsideClick: false, container: this.container, hidden: !this.showWindow, modal: false, showFooter: false, showHeader: false, style: { \"--show-transition\": `${this.showTransition}ms` } }, h(\"div\", { class: {\n [`loader__wrapper`]: true,\n \"loader__wrapper--visible\": this.showWrapper\n }, part: \"loader-wrapper\" }, h(\"div\", { class: \"loader__spinner\" }), h(\"div\", { class: {\n \"loader__content-wrapper\": true,\n \"loader__content-wrapper--hidden\": !this.description && !this.loaderTitle && !this.cancelLabel\n } }, this.renderTitle(), this.renderDescription(), this.renderCancelButton())))));\n }\n static get is() { return \"gxg-ide-loader\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ide-loader.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ide-loader.css\"]\n };\n }\n static get properties() {\n return {\n \"loaderTitle\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The loader title (optional)\"\n },\n \"attribute\": \"loader-title\",\n \"reflect\": false\n },\n \"description\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The loader description (optional)\"\n },\n \"attribute\": \"description\",\n \"reflect\": false\n },\n \"cancelLabel\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The cancel button label (optional)\"\n },\n \"attribute\": \"cancel-label\",\n \"reflect\": false\n },\n \"cancelCallback\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"IdeLoaderCancelCallback\",\n \"resolved\": \"() => void\",\n \"references\": {\n \"IdeLoaderCancelCallback\": {\n \"location\": \"local\",\n \"path\": \"/home/circleci/repo/src/components/ide-loader/ide-loader.tsx\",\n \"id\": \"src/components/ide-loader/ide-loader.tsx::IdeLoaderCancelCallback\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The cancel callback\"\n }\n },\n \"show\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"It shows the loader\"\n },\n \"attribute\": \"show\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"abortTime\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The time the loader will await before abort.\"\n },\n \"attribute\": \"abort-time\",\n \"reflect\": false,\n \"defaultValue\": \"5000\"\n },\n \"container\": {\n \"type\": \"unknown\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"HTMLElement\",\n \"resolved\": \"HTMLElement\",\n \"references\": {\n \"HTMLElement\": {\n \"location\": \"global\",\n \"id\": \"global::HTMLElement\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The container element for the loader.\"\n }\n }\n };\n }\n static get states() {\n return {\n \"showWindow\": {},\n \"showWrapper\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"loaderFinished\",\n \"name\": \"loaderFinished\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"void\",\n \"resolved\": \"void\",\n \"references\": {}\n }\n }];\n }\n static get watchers() {\n return [{\n \"propName\": \"show\",\n \"methodName\": \"showHandler\"\n }];\n }\n}\n//# sourceMappingURL=ide-loader.js.map\n"],"mappings":";;AAAA,MAAMA,IAAe;;MCCRC,IAAS;EAClB,WAAAC,CAAAC;;;;;;;;;;;;;;;;;;IA4BAC,KAAAC,iBAAiB;;;;;QAkCjBD,KAAAE,cAAc,MACHF,KAAKG,cAAeC,EAAE,aAAa;MAAEC,OAAO;MAAiBC,MAAM;MAAYC,WAAW;OAAYP,KAAKG,eAAgB;IAEtIH,KAAAQ,oBAAoB,MACTR,KAAKS,cAAeL,EAAE,YAAY;MAAEC,OAAO;MAAuBC,MAAM;MAAgBI,WAAW;OAAYV,KAAKS,eAAgB;IAE/IT,KAAAW,qBAAqB,MACVX,KAAKY,cAAeR,EAAE,cAAc;MAAEC,OAAO;QAC5C,CAAC,0BAA0B;;MAC5BC,MAAM;MAAuBO,SAASb,KAAKc;OAAiBd,KAAKY,eAAgB;IAE5FZ,KAAAc,gBAAgB;MACZ,IAAId,KAAKe,gBAAgB;QACrBf,KAAKe;;MAETC,aAAahB,KAAKiB;MAClBjB,KAAKkB,OAAO;AAAK;;;IA7EjBlB,KAAKmB,aAAa;IAClBnB,KAAKoB,cAAc;IACnBpB,KAAKG,cAAckB;IACnBrB,KAAKS,cAAcY;IACnBrB,KAAKY,cAAcS;IACnBrB,KAAKe,iBAAiBM;IACtBrB,KAAKkB,OAAO;IACZlB,KAAKsB,YAAY;IACjBtB,KAAKuB,YAAYF;;EAuBrB,WAAAG,CAAYN;IACR,MAAMO,IAAU;IAChB,IAAIP,GAAM;MACNlB,KAAKmB,aAAa;MAClBO,YAAW;QACP1B,KAAKoB,cAAc;AAAI,UACxBK;WAEF;MACDzB,KAAKoB,cAAc;MACnBM,YAAW;QACP1B,KAAKmB,aAAa;QAClBnB,KAAK2B,eAAeC;AAAM,UAC3B5B,KAAKC;;IAEZ,IAAIiB,GAAM;MACN,IAAIlB,KAAKiB,kBAAkB;QACvBD,aAAahB,KAAKiB;;MAEtBjB,KAAKiB,mBAAmBS,YAAW;QAC/B1B,KAAKkB,OAAO;AAAK,UAClBlB,KAAKsB;;;;EA4BhB,MAAAO;IACI,OAAQzB,EAAE0B,GAAM,MAAM1B,EAAE,aAAa;MAAE2B,eAAe;MAAOC,qBAAqB;MAAOT,WAAWvB,KAAKuB;MAAWU,SAASjC,KAAKmB;MAAYe,OAAO;MAAOC,YAAY;MAAOC,YAAY;MAAOC,OAAO;QAAE,qBAAqB,GAAGrC,KAAKC;;OAAwBG,EAAE,OAAO;MAAEC,OAAO;QAC1Q,CAAC,oBAAoB;QACrB,4BAA4BL,KAAKoB;;MAClCkB,MAAM;OAAoBlC,EAAE,OAAO;MAAEC,OAAO;QAAsBD,EAAE,OAAO;MAAEC,OAAO;QACnF,2BAA2B;QAC3B,oCAAoCL,KAAKS,gBAAgBT,KAAKG,gBAAgBH,KAAKY;;OAClFZ,KAAKE,eAAeF,KAAKQ,qBAAqBR,KAAKW"}
@@ -1,60 +0,0 @@
1
- import { EventEmitter } from "../../../stencil-public-runtime";
2
- import { ModuleServerType, ModuleServerFullData, EditServerModuleResult } from "../types";
3
- export declare class GxIdeEditModuleServers {
4
- /**
5
- * The component hard-coded strings translations.
6
- */
7
- private _componentLocale;
8
- private renderedFirstTime;
9
- el: HTMLGxIdeEditModuleServersElement;
10
- private serverTypeEl;
11
- private nameEl;
12
- private sourceEl;
13
- private userEl;
14
- private passwordEl;
15
- selectedType: "local" | "remote";
16
- /**
17
- * The type of the server
18
- */
19
- readonly types: ModuleServerType[];
20
- /**
21
- * The name of the server
22
- */
23
- readonly name: string;
24
- /**
25
- * Disk path or server url
26
- */
27
- readonly source: string;
28
- /**
29
- * Confirm callback
30
- */
31
- readonly confirmCallback: ConfirmCallback;
32
- /**
33
- * Callback invoked when wants to select a local folder that have modules inside
34
- */
35
- readonly selectSourceCallback: SelectSourceCallback;
36
- /**
37
- * Cancel callback
38
- */
39
- readonly cancelCallback: CancelCallback;
40
- /**
41
- * This event is emitted once just after the component is fully loaded and the first render() occurs
42
- */
43
- componentDidRenderFirstTime: EventEmitter<boolean>;
44
- componentWillLoad(): Promise<void>;
45
- componentDidRender(): void;
46
- /**
47
- * Executed when user click on confirm button
48
- */
49
- private confirmCallbackHandler;
50
- /**
51
- * Executed when user click on cancel button
52
- */
53
- private cancelCallbackHandler;
54
- private selectSourceCallbackHandle;
55
- private renderServerOptions;
56
- render(): any;
57
- }
58
- export type ConfirmCallback = (data: ModuleServerFullData) => Promise<EditServerModuleResult>;
59
- export type CancelCallback = () => Promise<void>;
60
- export type SelectSourceCallback = () => Promise<string | undefined>;