@genexus/genexus-ide-ui 1.1.49 → 1.1.51

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 (317) hide show
  1. package/dist/cjs/{form-validation-178cf461.js → form-validation-54acc775.js} +11 -1
  2. package/dist/cjs/form-validation-54acc775.js.map +1 -0
  3. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  4. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +1 -1
  6. package/dist/cjs/gx-ide-curl-inspector.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-json-import.cjs.entry.js +1 -1
  8. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
  9. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-name-picker.cjs.entry.js +2 -1
  11. package/dist/cjs/gx-ide-name-picker.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +2 -2
  13. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +2 -2
  14. package/dist/cjs/gx-ide-new-version.cjs.entry.js +1 -1
  15. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
  16. package/dist/cjs/gx-ide-plugin-details.cjs.entry.js +1 -1
  17. package/dist/cjs/gx-ide-plugin-details.cjs.entry.js.map +1 -1
  18. package/dist/cjs/gx-ide-references.cjs.entry.js +2 -2
  19. package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +17 -13
  21. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
  22. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js +1 -1
  23. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js.map +1 -1
  24. package/dist/cjs/gx-ide-server-selector.cjs.entry.js +59 -30
  25. package/dist/cjs/gx-ide-server-selector.cjs.entry.js.map +1 -1
  26. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
  27. package/dist/cjs/gx-ide-start-page.cjs.entry.js +39 -20
  28. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  29. package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js +2 -2
  30. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +2 -2
  31. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +1 -1
  32. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +2 -2
  33. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
  34. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +2 -2
  35. package/dist/cjs/gx-ide-ww-files.cjs.entry.js +1 -1
  36. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  37. package/dist/cjs/{helpers-21c9cd02.js → helpers-263b5f4e.js} +3 -7
  38. package/dist/cjs/helpers-263b5f4e.js.map +1 -0
  39. package/dist/cjs/loader.cjs.js +1 -1
  40. package/dist/cjs/{tabular-grid-render-4350dbaf.js → tabular-grid-render-b1767da2.js} +2 -2
  41. package/dist/cjs/{tabular-grid-render-4350dbaf.js.map → tabular-grid-render-b1767da2.js.map} +1 -1
  42. package/dist/collection/collection-manifest.json +0 -4
  43. package/dist/collection/common/form-validation.js +9 -0
  44. package/dist/collection/common/form-validation.js.map +1 -1
  45. package/dist/collection/common/helpers.js +3 -7
  46. package/dist/collection/common/helpers.js.map +1 -1
  47. package/dist/collection/components/curl-inspector/gx-ide-assets/curl-inspector/langs/curl-inspector.lang.ja.json +6 -6
  48. package/dist/collection/components/details-acknowledgements/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.ja.json +10 -10
  49. package/dist/collection/components/json-import/gx-ide-assets/json-import/langs/json-import.lang.ja.json +10 -10
  50. package/dist/collection/components/json-import/gx-ide-assets/json-import/langs/json-import.lang.zh.json +10 -10
  51. package/dist/collection/components/kb-manager-export/kb-manager-export.css +5 -1
  52. package/dist/collection/components/kb-manager-import/kb-manager-import.js +1 -1
  53. package/dist/collection/components/name-picker/gx-ide-assets/name-picker/langs/name-picker.lang.ja.json +5 -5
  54. package/dist/collection/components/name-picker/name-picker.js +2 -1
  55. package/dist/collection/components/name-picker/name-picker.js.map +1 -1
  56. package/dist/collection/components/plugin-details/plugin-details.css +3 -1
  57. package/dist/collection/components/references/references.js +2 -2
  58. package/dist/collection/components/references/references.js.map +1 -1
  59. package/dist/collection/components/select-kb-items/select-kb-items.js +36 -13
  60. package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -1
  61. package/dist/collection/components/select-user-team/select-user-team.css +0 -2
  62. package/dist/collection/components/sign-in-result/gx-ide-assets/sign-in-result/images/left-side-illustration.svg +4 -26
  63. package/dist/collection/components/sign-in-result/gx-ide-assets/sign-in-result/images/right-side-illustration.svg +12 -12
  64. package/dist/collection/components/sign-in-result/gx-ide-assets/sign-in-result/langs/sign-in-result.lang.en.json +1 -1
  65. package/dist/collection/components/sign-in-result/gx-ide-assets/sign-in-result/langs/sign-in-result.lang.ja.json +4 -4
  66. package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.en.json +5 -0
  67. package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.ja.json +5 -0
  68. package/dist/collection/components/start-page/gx-ide-assets/start-page/langs/start-page.lang.zh.json +5 -0
  69. package/dist/collection/components/start-page/start-page.css +100 -13
  70. package/dist/collection/components/start-page/start-page.js +107 -46
  71. package/dist/collection/components/start-page/start-page.js.map +1 -1
  72. package/dist/collection/components/team-dev/server-selector/gx-ide-assets/server-selector/langs/server-selector.lang.ja.json +14 -14
  73. package/dist/collection/components/team-dev/server-selector/server-selector.css +4 -0
  74. package/dist/collection/components/team-dev/server-selector/server-selector.js +70 -32
  75. package/dist/collection/components/team-dev/server-selector/server-selector.js.map +1 -1
  76. package/dist/collection/components/team-dev/update/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.ja.json +48 -48
  77. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +0 -1
  78. package/dist/collection/components/team-dev/version-control/commit/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.ja.json +60 -60
  79. package/dist/collection/components/ww-files/gx-ide-assets/ww-files/langs/ww-files.lang.ja.json +5 -5
  80. package/dist/collection/pages/assets/images/plugin/python-logo.svg +16 -0
  81. package/dist/collection/testing/locale.e2e.js +0 -5
  82. package/dist/collection/testing/locale.e2e.js.map +1 -1
  83. package/dist/components/form-validation.js +10 -1
  84. package/dist/components/form-validation.js.map +1 -1
  85. package/dist/components/gx-ide-kb-manager-export.js +1 -1
  86. package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
  87. package/dist/components/gx-ide-name-picker.js +2 -1
  88. package/dist/components/gx-ide-name-picker.js.map +1 -1
  89. package/dist/components/gx-ide-plugin-details.js +1 -1
  90. package/dist/components/gx-ide-plugin-details.js.map +1 -1
  91. package/dist/components/gx-ide-references.js +2 -2
  92. package/dist/components/gx-ide-references.js.map +1 -1
  93. package/dist/components/gx-ide-select-user-team.js +1 -1
  94. package/dist/components/gx-ide-select-user-team.js.map +1 -1
  95. package/dist/components/gx-ide-server-selector.js +59 -31
  96. package/dist/components/gx-ide-server-selector.js.map +1 -1
  97. package/dist/components/gx-ide-start-page.js +44 -23
  98. package/dist/components/gx-ide-start-page.js.map +1 -1
  99. package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
  100. package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
  101. package/dist/components/helpers.js +2 -6
  102. package/dist/components/helpers.js.map +1 -1
  103. package/dist/components/select-kb-items.js +19 -13
  104. package/dist/components/select-kb-items.js.map +1 -1
  105. package/dist/esm/{form-validation-cd0215c6.js → form-validation-21ab3766.js} +11 -2
  106. package/dist/esm/form-validation-21ab3766.js.map +1 -0
  107. package/dist/esm/genexus-ide-ui.js +1 -1
  108. package/dist/esm/gx-ide-connect-gx-server.entry.js +1 -1
  109. package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
  110. package/dist/esm/gx-ide-curl-inspector.entry.js +1 -1
  111. package/dist/esm/gx-ide-json-import.entry.js +1 -1
  112. package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
  113. package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
  114. package/dist/esm/gx-ide-name-picker.entry.js +2 -1
  115. package/dist/esm/gx-ide-name-picker.entry.js.map +1 -1
  116. package/dist/esm/gx-ide-new-environment.entry.js +2 -2
  117. package/dist/esm/gx-ide-new-kb.entry.js +2 -2
  118. package/dist/esm/gx-ide-new-version.entry.js +1 -1
  119. package/dist/esm/gx-ide-object-selector.entry.js +1 -1
  120. package/dist/esm/gx-ide-plugin-details.entry.js +1 -1
  121. package/dist/esm/gx-ide-plugin-details.entry.js.map +1 -1
  122. package/dist/esm/gx-ide-references.entry.js +2 -2
  123. package/dist/esm/gx-ide-references.entry.js.map +1 -1
  124. package/dist/esm/gx-ide-select-kb-items.entry.js +17 -13
  125. package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
  126. package/dist/esm/gx-ide-select-user-team.entry.js +1 -1
  127. package/dist/esm/gx-ide-select-user-team.entry.js.map +1 -1
  128. package/dist/esm/gx-ide-server-selector.entry.js +59 -30
  129. package/dist/esm/gx-ide-server-selector.entry.js.map +1 -1
  130. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  131. package/dist/esm/gx-ide-start-page.entry.js +39 -20
  132. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  133. package/dist/esm/gx-ide-team-dev-bring-changes.entry.js +2 -2
  134. package/dist/esm/gx-ide-team-dev-commit.entry.js +2 -2
  135. package/dist/esm/gx-ide-team-dev-history.entry.js +1 -1
  136. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +2 -2
  137. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
  138. package/dist/esm/gx-ide-team-dev-update.entry.js +2 -2
  139. package/dist/esm/gx-ide-ww-files.entry.js +1 -1
  140. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  141. package/dist/esm/{helpers-7960f084.js → helpers-b180a2d1.js} +3 -7
  142. package/dist/esm/helpers-b180a2d1.js.map +1 -0
  143. package/dist/esm/loader.js +1 -1
  144. package/dist/esm/{tabular-grid-render-f7eb612b.js → tabular-grid-render-96d67a8c.js} +2 -2
  145. package/dist/esm/{tabular-grid-render-f7eb612b.js.map → tabular-grid-render-96d67a8c.js.map} +1 -1
  146. package/dist/genexus-ide-ui/genexus-ide-ui.css +0 -107
  147. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  148. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  149. package/dist/genexus-ide-ui/gx-ide-assets/curl-inspector/langs/curl-inspector.lang.ja.json +6 -6
  150. package/dist/genexus-ide-ui/gx-ide-assets/details-acknowledgements/langs/details-acknowledgements.lang.ja.json +10 -10
  151. package/dist/genexus-ide-ui/gx-ide-assets/json-import/langs/json-import.lang.ja.json +10 -10
  152. package/dist/genexus-ide-ui/gx-ide-assets/json-import/langs/json-import.lang.zh.json +10 -10
  153. package/dist/genexus-ide-ui/gx-ide-assets/name-picker/langs/name-picker.lang.ja.json +5 -5
  154. package/dist/genexus-ide-ui/gx-ide-assets/server-selector/langs/server-selector.lang.ja.json +14 -14
  155. package/dist/genexus-ide-ui/gx-ide-assets/sign-in-result/images/left-side-illustration.svg +4 -26
  156. package/dist/genexus-ide-ui/gx-ide-assets/sign-in-result/images/right-side-illustration.svg +12 -12
  157. package/dist/genexus-ide-ui/gx-ide-assets/sign-in-result/langs/sign-in-result.lang.en.json +1 -1
  158. package/dist/genexus-ide-ui/gx-ide-assets/sign-in-result/langs/sign-in-result.lang.ja.json +4 -4
  159. package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.en.json +5 -0
  160. package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.ja.json +5 -0
  161. package/dist/genexus-ide-ui/gx-ide-assets/start-page/langs/start-page.lang.zh.json +5 -0
  162. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-commit/langs/team-dev-commit.lang.ja.json +60 -60
  163. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-update/langs/team-dev-update.lang.ja.json +48 -48
  164. package/dist/genexus-ide-ui/gx-ide-assets/ww-files/langs/ww-files.lang.ja.json +5 -5
  165. package/dist/genexus-ide-ui/{p-b7aafbf6.entry.js → p-05fa08d7.entry.js} +2 -2
  166. package/dist/genexus-ide-ui/p-05fa08d7.entry.js.map +1 -0
  167. package/dist/genexus-ide-ui/{p-8c867f9a.entry.js → p-072419f9.entry.js} +2 -2
  168. package/dist/genexus-ide-ui/{p-ed87224f.entry.js → p-083d8e94.entry.js} +3 -3
  169. package/dist/genexus-ide-ui/{p-16a88fc3.entry.js → p-098a7288.entry.js} +2 -2
  170. package/dist/genexus-ide-ui/{p-b80bd861.entry.js → p-0c5b7e75.entry.js} +3 -3
  171. package/dist/genexus-ide-ui/{p-b80bd861.entry.js.map → p-0c5b7e75.entry.js.map} +1 -1
  172. package/dist/genexus-ide-ui/{p-646ddf49.entry.js → p-11a60dbe.entry.js} +2 -2
  173. package/dist/genexus-ide-ui/{p-60302626.entry.js → p-18bbaa49.entry.js} +26 -26
  174. package/dist/genexus-ide-ui/p-18bbaa49.entry.js.map +1 -0
  175. package/dist/genexus-ide-ui/{p-8c15538c.js → p-1972b953.js} +10 -13
  176. package/dist/genexus-ide-ui/p-1972b953.js.map +1 -0
  177. package/dist/genexus-ide-ui/{p-59908901.entry.js → p-24573081.entry.js} +2 -2
  178. package/dist/genexus-ide-ui/{p-198a7cce.entry.js → p-46147e3c.entry.js} +112 -106
  179. package/dist/genexus-ide-ui/p-46147e3c.entry.js.map +1 -0
  180. package/dist/genexus-ide-ui/{p-2b38e18e.entry.js → p-57ed2623.entry.js} +2 -2
  181. package/dist/genexus-ide-ui/{p-0ae0616f.entry.js → p-5f65a4bb.entry.js} +2 -2
  182. package/dist/genexus-ide-ui/{p-443fc479.entry.js → p-5fe6189e.entry.js} +11 -11
  183. package/dist/genexus-ide-ui/{p-12b563fe.entry.js → p-67cf4af1.entry.js} +3 -3
  184. package/dist/genexus-ide-ui/{p-4cc2b3e6.entry.js → p-6f5cf136.entry.js} +6 -6
  185. package/dist/genexus-ide-ui/p-6f5cf136.entry.js.map +1 -0
  186. package/dist/genexus-ide-ui/{p-4b06b578.entry.js → p-7551c2e9.entry.js} +147 -121
  187. package/dist/genexus-ide-ui/p-7551c2e9.entry.js.map +1 -0
  188. package/dist/genexus-ide-ui/{p-4e3ad78d.entry.js → p-a58048e9.entry.js} +3 -3
  189. package/dist/genexus-ide-ui/{p-e2b0ee82.entry.js → p-b25d91e5.entry.js} +577 -549
  190. package/dist/genexus-ide-ui/p-b25d91e5.entry.js.map +1 -0
  191. package/dist/genexus-ide-ui/p-b32b6b1f.js +49 -0
  192. package/dist/genexus-ide-ui/p-b32b6b1f.js.map +1 -0
  193. package/dist/genexus-ide-ui/{p-7f091892.entry.js → p-b6a75c44.entry.js} +10 -10
  194. package/dist/genexus-ide-ui/p-b6a75c44.entry.js.map +1 -0
  195. package/dist/genexus-ide-ui/{p-77c2e69d.js → p-c8270f7d.js} +2 -2
  196. package/dist/genexus-ide-ui/{p-d01bbc7a.entry.js → p-cccd6565.entry.js} +2 -2
  197. package/dist/genexus-ide-ui/{p-a7883e6b.entry.js → p-d18c51fe.entry.js} +3 -3
  198. package/dist/genexus-ide-ui/{p-b34ecbdc.entry.js → p-d24c1115.entry.js} +2 -2
  199. package/dist/genexus-ide-ui/{p-09a634fc.entry.js → p-db07c544.entry.js} +8 -8
  200. package/dist/genexus-ide-ui/{p-4b680e46.entry.js → p-eacc81c8.entry.js} +3 -3
  201. package/dist/genexus-ide-ui/{p-e3bce13e.entry.js → p-ee7232f2.entry.js} +33 -32
  202. package/dist/genexus-ide-ui/p-ee7232f2.entry.js.map +1 -0
  203. package/dist/types/common/form-validation.d.ts +1 -0
  204. package/dist/types/components/select-kb-items/select-kb-items.d.ts +8 -0
  205. package/dist/types/components/start-page/start-page.d.ts +31 -19
  206. package/dist/types/components/team-dev/server-selector/server-selector.d.ts +2 -6
  207. package/dist/types/components.d.ts +38 -372
  208. package/package.json +1 -1
  209. package/dist/cjs/form-validation-178cf461.js.map +0 -1
  210. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +0 -297
  211. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +0 -1
  212. package/dist/cjs/gx-ide-ai-message.cjs.entry.js +0 -97
  213. package/dist/cjs/gx-ide-ai-message.cjs.entry.js.map +0 -1
  214. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +0 -179
  215. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +0 -1
  216. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +0 -333
  217. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js.map +0 -1
  218. package/dist/cjs/helpers-21c9cd02.js.map +0 -1
  219. package/dist/collection/components/ai-assistant/ai-assistant.css +0 -1024
  220. package/dist/collection/components/ai-assistant/ai-assistant.js +0 -526
  221. package/dist/collection/components/ai-assistant/ai-assistant.js.map +0 -1
  222. package/dist/collection/components/ai-assistant/ai-message.css +0 -237
  223. package/dist/collection/components/ai-assistant/ai-message.js +0 -221
  224. package/dist/collection/components/ai-assistant/ai-message.js.map +0 -1
  225. package/dist/collection/components/ai-assistant/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.en.json +0 -9
  226. package/dist/collection/components/ai-assistant/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.ja.json +0 -9
  227. package/dist/collection/components/ai-assistant/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.zh.json +0 -9
  228. package/dist/collection/components/ai-assistant/gx-ide-assets/ai-message/langs/ai-message.lang.en.json +0 -4
  229. package/dist/collection/components/ai-assistant/gx-ide-assets/ai-message/langs/ai-message.lang.ja.json +0 -4
  230. package/dist/collection/components/ai-assistant/gx-ide-assets/ai-message/langs/ai-message.lang.zh.json +0 -4
  231. package/dist/collection/components/dashboard-home/dashboard-home.css +0 -1069
  232. package/dist/collection/components/dashboard-home/dashboard-home.js +0 -439
  233. package/dist/collection/components/dashboard-home/dashboard-home.js.map +0 -1
  234. package/dist/collection/components/dashboard-home/gx-ide-assets/dashboard-home/langs/dashboard-home.lang.en.json +0 -43
  235. package/dist/collection/components/dashboard-home/gx-ide-assets/dashboard-home/langs/dashboard-home.lang.ja.json +0 -43
  236. package/dist/collection/components/dashboard-home/gx-ide-assets/dashboard-home/langs/dashboard-home.lang.zh.json +0 -43
  237. package/dist/collection/components/modules/manage-module-references-v2/gx-ide-assets/manage-module-references-v2/langs/manage-module-references-v2.lang.en.json +0 -39
  238. package/dist/collection/components/modules/manage-module-references-v2/gx-ide-assets/manage-module-references-v2/langs/manage-module-references-v2.lang.ja.json +0 -39
  239. package/dist/collection/components/modules/manage-module-references-v2/gx-ide-assets/manage-module-references-v2/langs/manage-module-references-v2.lang.zh.json +0 -39
  240. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js +0 -498
  241. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js.map +0 -1
  242. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references.css +0 -848
  243. package/dist/components/ai-message.js +0 -116
  244. package/dist/components/ai-message.js.map +0 -1
  245. package/dist/components/gx-ide-ai-assistant.d.ts +0 -11
  246. package/dist/components/gx-ide-ai-assistant.js +0 -336
  247. package/dist/components/gx-ide-ai-assistant.js.map +0 -1
  248. package/dist/components/gx-ide-ai-message.d.ts +0 -11
  249. package/dist/components/gx-ide-ai-message.js +0 -8
  250. package/dist/components/gx-ide-ai-message.js.map +0 -1
  251. package/dist/components/gx-ide-dashboard-home.d.ts +0 -11
  252. package/dist/components/gx-ide-dashboard-home.js +0 -215
  253. package/dist/components/gx-ide-dashboard-home.js.map +0 -1
  254. package/dist/components/gx-ide-manage-module-references-v2.d.ts +0 -11
  255. package/dist/components/gx-ide-manage-module-references-v2.js +0 -389
  256. package/dist/components/gx-ide-manage-module-references-v2.js.map +0 -1
  257. package/dist/esm/form-validation-cd0215c6.js.map +0 -1
  258. package/dist/esm/gx-ide-ai-assistant.entry.js +0 -293
  259. package/dist/esm/gx-ide-ai-assistant.entry.js.map +0 -1
  260. package/dist/esm/gx-ide-ai-message.entry.js +0 -93
  261. package/dist/esm/gx-ide-ai-message.entry.js.map +0 -1
  262. package/dist/esm/gx-ide-dashboard-home.entry.js +0 -175
  263. package/dist/esm/gx-ide-dashboard-home.entry.js.map +0 -1
  264. package/dist/esm/gx-ide-manage-module-references-v2.entry.js +0 -329
  265. package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +0 -1
  266. package/dist/esm/helpers-7960f084.js.map +0 -1
  267. package/dist/genexus-ide-ui/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.en.json +0 -9
  268. package/dist/genexus-ide-ui/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.ja.json +0 -9
  269. package/dist/genexus-ide-ui/gx-ide-assets/ai-assistant/langs/ai-assistant.lang.zh.json +0 -9
  270. package/dist/genexus-ide-ui/gx-ide-assets/ai-message/langs/ai-message.lang.en.json +0 -4
  271. package/dist/genexus-ide-ui/gx-ide-assets/ai-message/langs/ai-message.lang.ja.json +0 -4
  272. package/dist/genexus-ide-ui/gx-ide-assets/ai-message/langs/ai-message.lang.zh.json +0 -4
  273. package/dist/genexus-ide-ui/gx-ide-assets/dashboard-home/langs/dashboard-home.lang.en.json +0 -43
  274. package/dist/genexus-ide-ui/gx-ide-assets/dashboard-home/langs/dashboard-home.lang.ja.json +0 -43
  275. package/dist/genexus-ide-ui/gx-ide-assets/dashboard-home/langs/dashboard-home.lang.zh.json +0 -43
  276. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references-v2/langs/manage-module-references-v2.lang.en.json +0 -39
  277. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references-v2/langs/manage-module-references-v2.lang.ja.json +0 -39
  278. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references-v2/langs/manage-module-references-v2.lang.zh.json +0 -39
  279. package/dist/genexus-ide-ui/p-198a7cce.entry.js.map +0 -1
  280. package/dist/genexus-ide-ui/p-289c3290.js +0 -39
  281. package/dist/genexus-ide-ui/p-289c3290.js.map +0 -1
  282. package/dist/genexus-ide-ui/p-47f78f65.entry.js +0 -473
  283. package/dist/genexus-ide-ui/p-47f78f65.entry.js.map +0 -1
  284. package/dist/genexus-ide-ui/p-4b06b578.entry.js.map +0 -1
  285. package/dist/genexus-ide-ui/p-4cc2b3e6.entry.js.map +0 -1
  286. package/dist/genexus-ide-ui/p-5624d287.entry.js +0 -137
  287. package/dist/genexus-ide-ui/p-5624d287.entry.js.map +0 -1
  288. package/dist/genexus-ide-ui/p-60302626.entry.js.map +0 -1
  289. package/dist/genexus-ide-ui/p-7f091892.entry.js.map +0 -1
  290. package/dist/genexus-ide-ui/p-8c15538c.js.map +0 -1
  291. package/dist/genexus-ide-ui/p-b7aafbf6.entry.js.map +0 -1
  292. package/dist/genexus-ide-ui/p-c1ad1cc6.entry.js +0 -303
  293. package/dist/genexus-ide-ui/p-c1ad1cc6.entry.js.map +0 -1
  294. package/dist/genexus-ide-ui/p-d0c2dde3.entry.js +0 -331
  295. package/dist/genexus-ide-ui/p-d0c2dde3.entry.js.map +0 -1
  296. package/dist/genexus-ide-ui/p-e2b0ee82.entry.js.map +0 -1
  297. package/dist/genexus-ide-ui/p-e3bce13e.entry.js.map +0 -1
  298. package/dist/types/components/ai-assistant/ai-assistant.d.ts +0 -104
  299. package/dist/types/components/ai-assistant/ai-message.d.ts +0 -48
  300. package/dist/types/components/dashboard-home/dashboard-home.d.ts +0 -119
  301. package/dist/types/components/modules/manage-module-references-v2/manage-module-references-v2.d.ts +0 -108
  302. /package/dist/genexus-ide-ui/{p-8c867f9a.entry.js.map → p-072419f9.entry.js.map} +0 -0
  303. /package/dist/genexus-ide-ui/{p-ed87224f.entry.js.map → p-083d8e94.entry.js.map} +0 -0
  304. /package/dist/genexus-ide-ui/{p-16a88fc3.entry.js.map → p-098a7288.entry.js.map} +0 -0
  305. /package/dist/genexus-ide-ui/{p-646ddf49.entry.js.map → p-11a60dbe.entry.js.map} +0 -0
  306. /package/dist/genexus-ide-ui/{p-59908901.entry.js.map → p-24573081.entry.js.map} +0 -0
  307. /package/dist/genexus-ide-ui/{p-2b38e18e.entry.js.map → p-57ed2623.entry.js.map} +0 -0
  308. /package/dist/genexus-ide-ui/{p-0ae0616f.entry.js.map → p-5f65a4bb.entry.js.map} +0 -0
  309. /package/dist/genexus-ide-ui/{p-443fc479.entry.js.map → p-5fe6189e.entry.js.map} +0 -0
  310. /package/dist/genexus-ide-ui/{p-12b563fe.entry.js.map → p-67cf4af1.entry.js.map} +0 -0
  311. /package/dist/genexus-ide-ui/{p-4e3ad78d.entry.js.map → p-a58048e9.entry.js.map} +0 -0
  312. /package/dist/genexus-ide-ui/{p-77c2e69d.js.map → p-c8270f7d.js.map} +0 -0
  313. /package/dist/genexus-ide-ui/{p-d01bbc7a.entry.js.map → p-cccd6565.entry.js.map} +0 -0
  314. /package/dist/genexus-ide-ui/{p-a7883e6b.entry.js.map → p-d18c51fe.entry.js.map} +0 -0
  315. /package/dist/genexus-ide-ui/{p-b34ecbdc.entry.js.map → p-d24c1115.entry.js.map} +0 -0
  316. /package/dist/genexus-ide-ui/{p-09a634fc.entry.js.map → p-db07c544.entry.js.map} +0 -0
  317. /package/dist/genexus-ide-ui/{p-4b680e46.entry.js.map → p-eacc81c8.entry.js.map} +0 -0
@@ -1,473 +0,0 @@
1
- import { r as e, c as t, h as r, H as i, a } from "./p-97107ecc.js";
2
-
3
- import { g as o } from "./p-401bfc97.js";
4
-
5
- import { r as s } from "./p-8c2e9df4.js";
6
-
7
- import { L as l } from "./p-311eedf3.js";
8
-
9
- const n = ':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)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.pill-tag{padding:1px 4px;border-radius:2px;min-inline-size:40px;text-align:center;margin-inline-end:10px;font-size:11px}.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-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}p,ul{font-size:var(--font-size-lg);margin:0}p{line-height:1.6em}.header{align-items:center;grid-template-columns:1fr auto;grid-template-rows:1fr}.main{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:1fr;height:100%;overflow:auto}ch-grid-columnset{display:none}ch-grid-row[selected] gxg-icon[data-action=install]{filter:brightness(2)}.grid-cell-module__info{display:flex;flex-direction:column;align-items:flex-start;gap:var(--mer-spacing--3xs)}.grid-cell-module__name{font-weight:var(--mer-font__weight--bold);display:flex;align-items:center;gap:var(--mer-spacing--sm)}.grid-cell-module__name,.grid-cell-module__description{line-height:1.55em}.grid-cell-module__description{padding-inline-start:36px}.grid-container{height:100%;overflow:auto}.grid-container gx-ide-empty-state{height:100%}.servers-container{display:none;height:100%}.servers-container__header{display:flex;align-items:center;justify-content:space-between;padding:var(--gxg-list-box-main__padding) var(--gxg-list-box-main__padding) 0 var(--gxg-list-box-main__padding)}.servers-container__header gxg-button{width:100%}.modules__header{padding:var(--gxg-list-box-main__padding);display:flex;flex-direction:column;gap:var(--mer-spacing--xs)}.modules__combo-container{display:flex;flex-direction:column;gap:var(--mer-spacing--xs)}.modules__server-commands{display:flex;gap:var(--mer-spacing--xs)}.modules__combo{display:flex;flex-direction:row;gap:var(--mer-spacing--xs)}.modules__combo gxg-combo-box{flex:1}.modules__container{border-inline-end:var(--mer-border__width--sm) solid var(--gx-ide-container-border-color);display:grid;grid-template-rows:auto 1fr;height:100%;overflow:auto}.modules__main{display:grid;grid-template-rows:auto 1fr;height:100%;overflow:auto}.modules__main-header{display:flex;padding:var(--mer-spacing--xs);flex-direction:column;gap:var(--mer-spacing--xs)}.module-info{display:grid;grid-template-rows:auto 1fr;height:100%;overflow:auto}.module-info__title{display:flex;align-items:center;gap:var(--mer-spacing--xs)}.module-info__name{display:flex;align-items:center;gap:var(--mer-spacing--sm);--ds-icon-size-box--regular:24px;--ds-icon-size--regular:24px;font-weight:var(--mer-font__weight--bold)}.module-info__header{padding:var(--gx-ide-container__padding);display:flex;flex-direction:column;gap:var(--mer-spacing--xs);border-block-end:var(--mer-border__width--sm) solid var(--gx-ide-container-border-color)}.module-info__action-container{display:flex;flex-direction:row;align-items:center;gap:var(--mer-spacing--xs)}.module-info__action-container:before{content:"";width:var(--mer-spacing--xs);height:var(--mer-spacing--xs);border-radius:50%;display:block;background-color:var(--mer-icon__primary--disabled)}.module-info__action-container--installed:before{background-color:var(--mer-icon__primary)}.module-info__action-container--uninstallable:before{background-color:var(--mer-icon__warning)}.module-info__warning-message{margin-block-start:var(--mer-spacing--2xs);background-color:var(--mer-color__tinted-yellow--5);color:var(--mer-text__on-elevation);border:var(--mer-border__width--sm) solid var(--mer-border-color__warning);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--xs) var(--mer-spacing--md)}.module-info__divider{width:calc(100% - var(--gx-ide-container__padding) * 4);padding:0 var(--gx-ide-container__padding);margin:0 auto;border:0;border-block-end:var(--mer-border__width--sm) solid var(--gx-ide-container-border-color)}.module-info__properties{display:flex;flex-direction:column;padding:var(--gx-ide-container__padding);gap:var(--mer-spacing--xs);overflow:auto}.md-property{display:grid;gap:var(--mer-spacing--xs)}.md-property--inline{grid-template-columns:auto 1fr}.md-property__key{font-weight:var(--font-weight-bold);max-width:150px}.md-property__value{font-size:var(--mer-font__size--2xs)}.md-property__key>*,.md-property__value>*{display:inline-block}.md-property__list{display:flex;flex-direction:column;gap:var(--mer-spacing--xs)}.md-property__list>ul{margin:0;padding:0;list-style-type:none;display:flex;flex-direction:column;gap:var(--mer-spacing--2xs);margin-inline-start:var(--mer-spacing--xs)}.md-property__list>ul li{position:relative;padding-inline-start:12px;line-height:var(--ds-base-font-line-height--comfortable)}.md-property__list>ul li::before{content:"";position:absolute;left:0;top:7px;display:inline-block;width:var(--mer-spacing--2xs);height:var(--mer-spacing--2xs);background-color:var(--mer-text__on-surface)}.md-property,.md-property__list{border-block-end:var(--mer-border__width--sm) solid var(--gx-ide-container-border-color);padding-block-end:var(--mer-spacing--xs)}.md-property:last-child,.md-property__list:last-child{border-block-end:0;padding-block-end:0}gxg-ide-loader{border-radius:var(--mer-border__radius--md)}.button-wrapper{display:grid;align-items:center;justify-content:center}';
10
-
11
- var d = undefined && undefined.__classPrivateFieldGet || function(e, t, r, i) {
12
- if (r === "a" && !i) throw new TypeError("Private accessor was defined without a getter");
13
- if (typeof t === "function" ? e !== t || !i : !t.has(e)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
14
- return r === "m" ? i : r === "a" ? i.call(e) : i ? i.value : t.get(e);
15
- };
16
-
17
- var c, g;
18
-
19
- const f = [ "resets/box-sizing",
20
- // "utils/form",
21
- // "utils/layout",
22
- // "utils/typography",
23
- // "components/button",
24
- // "components/checkbox",
25
- // "components/edit",
26
- "components/tabular-grid" ];
27
-
28
- const h = class {
29
- constructor(i) {
30
- e(this, i);
31
- this.componentDidRenderFirstTime = t(this, "componentDidRenderFirstTime", 7);
32
- this.renderedFirstTime = false;
33
- c.set(this, o({
34
- category: "system",
35
- name: "filters",
36
- colorType: "on-elevation"
37
- }));
38
- g.set(this, o({
39
- category: "objects",
40
- name: "module"
41
- }));
42
- // 7.LISTENERS //
43
- // 8.PUBLIC METHODS API //
44
- // 9.LOCAL METHODS //
45
- /**
46
- * Callback invoked to get the progress when module is performing an action
47
- */ this.onProgress = (e, t, r) => {
48
- const i = {
49
- message: e,
50
- progress: t,
51
- state: r
52
- };
53
- this.selectedModuleAction = Object.assign({}, i);
54
- this.progressValue = this.selectedModuleAction.progress;
55
- this.progressState = this.selectedModuleAction.state;
56
- };
57
- /**
58
- * Used for changing the selected module
59
- */ this.handleModuleChange = e => {
60
- const t = e.detail.rowsId[0];
61
- this.selectedModule = this.modulesMap.get(t);
62
- };
63
- this.moduleActionHandler = e => () => {
64
- this.actionCompleted = false;
65
- this.closeProgressBar = false;
66
- this.executeActionCallbackHandler(e);
67
- }
68
- /**
69
- * Perform an action relative to a module using callbackExecuteAction callback and receive the state of that action with onProgress callback
70
- */;
71
- this.executeActionCallbackHandler = async e => {
72
- if (this.executeActionCallback) {
73
- this.actionCompleted = false;
74
- const t = this.modulesMap.get(e.id).selectedVersion.id;
75
- const r = this.modulesMap.get(e.id).selectedVersion.action;
76
- const i = await this.executeActionCallback(this.selectedServerId, e.id, t, r, this.onProgress);
77
- if (i) {
78
- this.serverSelectedCallbackHandler(this.selectedServerId, false);
79
- }
80
- this.actionCompleted = true;
81
- }
82
- };
83
- this.showModuleMenu = async e => {
84
- if (this.serverContextMenuCallback) {
85
- const t = e.target.getBoundingClientRect();
86
- await this.serverContextMenuCallback({
87
- selection: [ this.selectedServerId ],
88
- clientX: t.x,
89
- clientY: t.y
90
- });
91
- }
92
- };
93
- this.searchModulesFilterHandler = e => {
94
- this.searchModulesFilterValue = e.detail.trim().toLowerCase();
95
- };
96
- this.getFilteredServerModules = () => this.serverModulesExtended.filter((e => {
97
- // Filter conditions
98
- const t = e.selectedVersion.name.toLowerCase().includes(this.searchModulesFilterValue);
99
- const r = e.selectedVersion.description.toLowerCase().includes(this.searchModulesFilterValue);
100
- let i;
101
- if (this.selectedButtonFilter === "browse") {
102
- // If browse is selected, display all
103
- i = true;
104
- } else if (this.selectedButtonFilter === "installed") {
105
- i = !!(e.selectedVersion.action === "update" || e.selectedVersion.action === "restore");
106
- } else if (this.selectedButtonFilter === "updates") {
107
- i = !!(e.selectedVersion.action === "update");
108
- }
109
- const a = (t || r) && i;
110
- return a;
111
- }));
112
- // 9.LOCAL METHODS > RENDERS //
113
- this.renderGridOrEmptyState = () => {
114
- this.filteredServerModules = this.getFilteredServerModules();
115
- if (this.filteredServerModules.length > 0) {
116
- return this.renderModulesVersionsGrid();
117
- } else {
118
- return this.renderEmptyStateModules();
119
- }
120
- };
121
- this.renderModulesVersionsGrid = () => r("ch-tabular-grid", {
122
- rowSelectionMode: "single",
123
- part: "ch-grid-pending-commits",
124
- class: "tabular-grid servers-detail no-border",
125
- onSelectionChanged: this.handleModuleChange
126
- }, r("ch-tabular-grid-columnset", {
127
- class: "tabular-grid-column-set"
128
- }, r("ch-tabular-grid-column", {
129
- settingable: false,
130
- class: "tabular-grid-column"
131
- }), r("ch-tabular-grid-column", {
132
- settingable: false,
133
- size: "min-content",
134
- class: "tabular-grid-column"
135
- })), this.filteredServerModules.map((e => r("ch-tabular-grid-row", {
136
- rowid: e.id,
137
- key: e.id,
138
- selected: this.selectedModule && this.selectedModule.id === e.id,
139
- class: "tabular-grid-row"
140
- }, r("ch-tabular-grid-cell", {
141
- class: "grid-cell-module__info tabular-grid-cell"
142
- }, r("span", {
143
- class: "grid-cell-module__name"
144
- }, r("gxg-icon", {
145
- type: "objects/module",
146
- "data-action": e.selectedVersion.action,
147
- color: this.moduleVersionIconColor(e.id),
148
- size: "small"
149
- }), e.selectedVersion.name), r("span", {
150
- class: "grid-cell-module__description"
151
- }, e.selectedVersion.description)), r("ch-tabular-grid-cell", {
152
- class: "tabular-grid-cell"
153
- }, this.selectedModule && this.selectedModule.id === e.id ? r("div", {
154
- class: "button-wrapper"
155
- }, r("gxg-button", {
156
- disabled: !this.actionCompleted || e.selectedVersion.action === "incompatible" || e.selectedVersion.action === "not-installable",
157
- fit: true,
158
- part: "module-action",
159
- onClick: this.moduleActionHandler(e)
160
- }, e.selectedVersion.action)) : null)))));
161
- this.renderEmptyStateModules = () => r("gx-ide-empty-state", {
162
- stateIconSrc: d(this, c, "f"),
163
- stateTitle: this._componentLocale.modules.noModulesFilter
164
- });
165
- this.moduleVersionIconColor = e => {
166
- const t = this.serverModulesExtended.find((t => t.id === e));
167
- if (t) {
168
- const e = t.selectedVersion.action;
169
- const r = t.currentVersion;
170
- if (e === "not-installable" || e === "incompatible") {
171
- return "warning";
172
- } else if (!r) {
173
- return "mercury-primary-disabled";
174
- } else {
175
- return "mercury-primary";
176
- }
177
- }
178
- return "mercury-primary";
179
- };
180
- this.renderVersionIcon = () => r("gxg-icon", {
181
- type: "objects/module",
182
- color: this.moduleVersionIconColor(this.selectedModule.id)
183
- });
184
- /* module details/information renders*/ this.renderVersionName = () => r("gxg-title", {
185
- part: "module-info__name",
186
- type: "title-05"
187
- }, r("div", {
188
- class: "module-info__name"
189
- }, this.selectedModule.selectedVersion.name));
190
- this.renderVersionWarningMessage = () => {
191
- const e = this.selectedModule.selectedVersion.warningMessage;
192
- if (e) {
193
- return r("p", {
194
- class: "module-info__warning-message"
195
- }, e);
196
- }
197
- };
198
- this.renderInstalledVersion = () => {
199
- const e = this.selectedModule.currentVersion;
200
- let t;
201
- let i = "module-info__action-container";
202
- if (e) {
203
- t = `${this._componentLocale.modulesInformation.moduleProperties.installed}: ${e}`;
204
- i += ` module-info__action-container--installed`;
205
- } else {
206
- t = this._componentLocale.modulesInformation.moduleProperties.notInstalled;
207
- }
208
- return r("div", {
209
- class: i
210
- }, r("gxg-text", {
211
- part: "module-info__action"
212
- }, t));
213
- };
214
- // Update selected version
215
- this.moduleVersionsValueChangedHandler = e => {
216
- const t = e.detail.value;
217
- this.updateSelectedModuleVersion(t);
218
- };
219
- this.moduleVersionsItemChangedHandler = e => {
220
- const t = e.detail.value;
221
- this.updateSelectedModuleVersion(t);
222
- };
223
- this.updateSelectedModuleVersion = e => {
224
- const t = this.selectedModule.versions.find((t => t.id === e));
225
- if (t) {
226
- const e = Object.assign(Object.assign({}, this.selectedModule), {
227
- selectedVersion: t
228
- });
229
- this.selectedModule = e;
230
- // update module selected in modules array as well
231
- const r = this.serverModulesExtended.findIndex((t => t.id === e.id));
232
- if (r !== -1) {
233
- // Update the object with new information
234
- this.serverModulesExtended[r] = Object.assign(Object.assign({}, this.serverModulesExtended[r]), e);
235
- }
236
- }
237
- };
238
- this.renderModuleVersions = () => r("div", {
239
- part: "available-versions"
240
- }, r("gxg-combo-box", {
241
- id: "versions-combo-box",
242
- "disable-filter": true,
243
- value: "",
244
- part: "module-versions",
245
- "display-validation-styles": true,
246
- "display-validation-message": true,
247
- label: this._componentLocale.modulesInformation.moduleProperties.availableVersions,
248
- labelPosition: "start",
249
- centerLabel: true,
250
- onValueChanged: this.moduleVersionsValueChangedHandler,
251
- disabled: this.loadingServer || !this.actionCompleted
252
- }, this.selectedModule.versions.map((e => r("gxg-combo-box-item", {
253
- value: e.id,
254
- onItemSelected: this.moduleVersionsItemChangedHandler
255
- }, e.id)))));
256
- this.selectedButtonChangedHandler = e => {
257
- this.selectedButtonFilter = e.detail;
258
- };
259
- // Update server selected
260
- this.serverItemSelectedHandler = e => {
261
- const t = e.detail.value;
262
- this.serverSelectedCallbackHandler(t, false);
263
- };
264
- this.serverValueChangedHandler = e => {
265
- const t = e.detail;
266
- this.serverSelectedCallbackHandler(t, false);
267
- };
268
- this.reloadServer = () => {
269
- this.serverSelectedCallbackHandler(this.selectedServerId, true);
270
- };
271
- /**
272
- * Change the server selected value in response to callbackServerSelected callback
273
- */ this.serverSelectedCallbackHandler = async (e, t) => {
274
- if (this.serverSelectedCallback) {
275
- this.loadingServer = true;
276
- // clear
277
- this.serverModules = [];
278
- this.serverModulesExtended = [];
279
- this.filteredServerModules = [];
280
- this.modulesMap.clear();
281
- this.modulesSelectedVersionMap.clear();
282
- this.serverModules = await this.serverSelectedCallback(e, t);
283
- // Save modules on Map as well to get information about modules faster
284
- this.serverModules.forEach((e => {
285
- const t = Object.assign(Object.assign({}, e), {
286
- selectedVersion: e.versions[0]
287
- });
288
- // When the server retrieves the modules, the selected module is by default the first one.
289
- this.serverModulesExtended.push(t);
290
- // Save modules on a map as well, for faster retrieval.
291
- this.modulesMap.set(e.id, t);
292
- }));
293
- this.selectedServerId = e;
294
- this.loadingServer = false;
295
- }
296
- };
297
- this.progressBarCloseHandler = () => {
298
- setTimeout((() => {
299
- this.actionCompleted = true;
300
- this.closeProgressBar = true;
301
- // reset
302
- this.progressValue = 0;
303
- this.progressState = "in-progress";
304
- }), 400);
305
- // delay to force the footer line disappear after the top-state-bar has been closed.
306
- };
307
- this.searchModulesFilterValue = "";
308
- this.selectedButtonFilter = "browse";
309
- this.serverModules = [];
310
- this.serverModulesExtended = [];
311
- this.filteredServerModules = [];
312
- this.modulesMap = new Map;
313
- this.selectedModule = undefined;
314
- this.selectedServerId = undefined;
315
- this.selectedModuleAction = {
316
- message: "",
317
- progress: 0,
318
- state: "in-progress"
319
- };
320
- this.modulesSelectedVersionMap = new Map;
321
- this.actionCompleted = true;
322
- this.closeProgressBar = true;
323
- this.progressValue = 0;
324
- this.progressState = "in-progress";
325
- this.loadingServer = false;
326
- this.displayTitle = false;
327
- this.servers = [];
328
- this.serverSelectedCallback = undefined;
329
- this.executeActionCallback = undefined;
330
- this.serverContextMenuCallback = undefined;
331
- this.showServerCommands = false;
332
- }
333
- loadingServerHandler(e) {
334
- if (e) {
335
- this.loaderEl.show = true;
336
- } else {
337
- this.loaderEl.show = false;
338
- }
339
- }
340
- // 6.COMPONENT LIFECYCLE EVENTS //
341
- componentDidRender() {
342
- if (!this.renderedFirstTime) {
343
- this.componentDidRenderFirstTime.emit(this._componentLocale.componentName);
344
- this.renderedFirstTime = true;
345
- }
346
- }
347
- async componentWillLoad() {
348
- this._componentLocale = await l.getComponentStrings(this.el);
349
- }
350
- async componentDidLoad() {
351
- await this.serverSelectedCallbackHandler(this.servers[0].id, false);
352
- }
353
- // 11.RENDER() FUNCTION //
354
- render() {
355
- return r(i, {
356
- class: {
357
- "gx-ide-component": true
358
- }
359
- }, r("ch-theme", {
360
- model: f
361
- }), r("div", {
362
- class: "gx-ide-main-wrapper"
363
- }, r("gx-ide-container", {
364
- noContentPadding: true,
365
- noAboveFooterPadding: true,
366
- noBorderAboveFooter: this.closeProgressBar,
367
- part: "servers",
368
- containerTitle: this.displayTitle ? this._componentLocale.componentName : null
369
- }, r("main", {
370
- class: "main"
371
- }, r("div", {
372
- class: "modules__container"
373
- }, r("header", {
374
- class: "modules__header"
375
- }, r("div", {
376
- class: "modules__combo-container"
377
- }, r("gxg-label", null, this._componentLocale.modules.selectServer), r("div", {
378
- class: "modules__combo"
379
- }, r("gxg-combo-box", {
380
- disabled: this.loadingServer || !this.actionCompleted,
381
- disableFilter: true,
382
- onValueChanged: this.serverValueChangedHandler
383
- }, this.servers.map((e => r("gxg-combo-box-item", {
384
- value: e.id,
385
- onItemSelected: this.serverItemSelectedHandler
386
- }, e.name)))), this.showServerCommands ? r("span", {
387
- class: "modules__server-commands"
388
- }, r("gxg-button", {
389
- type: "secondary-icon-only",
390
- icon: "gemini-tools/show-more-horizontal",
391
- onClick: this.showModuleMenu
392
- })) : null, r("gxg-button", {
393
- type: "secondary-icon-only",
394
- icon: "gemini-tools/reset",
395
- onClick: this.reloadServer
396
- })))), r("div", {
397
- class: "modules__main"
398
- }, r("div", {
399
- class: "modules__main-header"
400
- }, r("gxg-form-text", {
401
- label: this._componentLocale.modules.searchModules,
402
- labelPosition: "above",
403
- centerLabel: false,
404
- onValueChanged: this.searchModulesFilterHandler,
405
- disabled: this.loadingServer || !this.actionCompleted
406
- }), r("gxg-buttons-container", {
407
- reduced: true,
408
- fullWidth: true,
409
- class: "modules__browser",
410
- onSelectedButtonChanged: this.selectedButtonChangedHandler
411
- }, r("gxg-button", {
412
- id: "browse",
413
- selected: true,
414
- disabled: this.loadingServer || !this.actionCompleted
415
- }, this._componentLocale.modules.buttonsContainer.browse), r("gxg-button", {
416
- id: "installed",
417
- disabled: this.loadingServer || !this.actionCompleted
418
- }, this._componentLocale.modules.buttonsContainer.installed), r("gxg-button", {
419
- id: "updates",
420
- disabled: this.loadingServer || !this.actionCompleted
421
- }, this._componentLocale.modules.buttonsContainer.updates))), r("div", {
422
- class: "grid-container",
423
- ref: e => this.serversDetail = e
424
- }, this.renderGridOrEmptyState()))), this.selectedModule ? r("div", {
425
- class: "module-info"
426
- }, r("header", {
427
- class: "module-info__header"
428
- }, r("div", {
429
- class: "module-info__title"
430
- }, this.renderVersionIcon(), this.renderVersionName()), this.renderInstalledVersion(), this.renderModuleVersions(), this.renderVersionWarningMessage()), r("div", {
431
- class: "module-info__properties gxg-scrollbar"
432
- }, s(this.selectedModule.selectedVersion.properties))) : r("gx-ide-empty-state", {
433
- class: "recent-objects__empty-state",
434
- stateIconSrc: d(this, g, "f"),
435
- stateTitle: this._componentLocale.modulesInformation.emptyState.title,
436
- stateDescription: this._componentLocale.modulesInformation.emptyState.description
437
- })), r("gxg-top-state-bar", {
438
- slot: "footer-above",
439
- part: "progress-bar",
440
- stateType: this.progressState,
441
- noBorder: true,
442
- caption: this.selectedModuleAction.message || this._componentLocale.progressBar.defaultCaption,
443
- progress: this.progressValue,
444
- active: !this.actionCompleted || !this.closeProgressBar,
445
- closeType: "not-progress",
446
- closedCallback: this.progressBarCloseHandler
447
- }))), r("gxg-ide-loader", {
448
- loaderTitle: this._componentLocale.servers.loading,
449
- ref: e => this.loaderEl = e,
450
- container: this.serversDetail,
451
- borderRadius: "0 0 0 8px",
452
- abortTime: 6e4
453
- }));
454
- }
455
- static get assetsDirs() {
456
- return [ "gx-ide-assets/manage-module-references-v2" ];
457
- }
458
- get el() {
459
- return a(this);
460
- }
461
- static get watchers() {
462
- return {
463
- loadingServer: [ "loadingServerHandler" ]
464
- };
465
- }
466
- };
467
-
468
- c = new WeakMap, g = new WeakMap;
469
-
470
- h.style = n;
471
-
472
- export { h as gx_ide_manage_module_references_v2 };
473
- //# sourceMappingURL=p-47f78f65.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["manageModuleReferencesCss","CSS_BUNDLES","GxManageModuleReferencesV2","this","renderedFirstTime","_GxManageModuleReferencesV2_filterIcon","set","getIconPath","category","name","colorType","_GxManageModuleReferencesV2_moduleIcon","onProgress","message","progress","state","data","selectedModuleAction","Object","assign","progressValue","progressState","handleModuleChange","event","selectedModuleId","detail","rowsId","selectedModule","modulesMap","get","moduleActionHandler","module","actionCompleted","closeProgressBar","executeActionCallbackHandler","async","executeActionCallback","moduleSelectedVersionId","id","selectedVersion","moduleSelectedVersionAction","action","selectedServerId","serverSelectedCallbackHandler","showModuleMenu","e","serverContextMenuCallback","buttonBoundingClientRect","target","getBoundingClientRect","selection","clientX","x","clientY","y","searchModulesFilterHandler","searchModulesFilterValue","trim","toLowerCase","getFilteredServerModules","serverModulesExtended","filter","nameMatch","includes","descriptionMatch","description","actionMatch","selectedButtonFilter","filtered","renderGridOrEmptyState","filteredServerModules","length","renderModulesVersionsGrid","renderEmptyStateModules","h","rowSelectionMode","part","class","onSelectionChanged","settingable","size","map","rowid","key","selected","type","color","moduleVersionIconColor","disabled","fit","onClick","stateIconSrc","__classPrivateFieldGet","stateTitle","_componentLocale","modules","noModulesFilter","moduleId","foundModule","find","moduleAction","moduleCurrentVersion","currentVersion","renderVersionIcon","renderVersionName","renderVersionWarningMessage","warningMessage","renderInstalledVersion","caption","cssClass","modulesInformation","moduleProperties","installed","notInstalled","moduleVersionsValueChangedHandler","selectedVersionId","value","updateSelectedModuleVersion","moduleVersionsItemChangedHandler","moduleSelectedVersion","versions","version","updatedSelectedModule","updatedModuleIndex","findIndex","renderModuleVersions","label","availableVersions","labelPosition","centerLabel","onValueChanged","loadingServer","item","onItemSelected","selectedButtonChangedHandler","serverItemSelectedHandler","serverId","serverValueChangedHandler","reloadServer","reload","serverSelectedCallback","serverModules","clear","modulesSelectedVersionMap","forEach","extendedModuleData","push","progressBarCloseHandler","setTimeout","Map","loadingServerHandler","loading","loaderEl","show","componentDidRender","componentDidRenderFirstTime","emit","componentName","componentWillLoad","Locale","getComponentStrings","el","componentDidLoad","servers","render","Host","model","noContentPadding","noAboveFooterPadding","noBorderAboveFooter","containerTitle","displayTitle","selectServer","disableFilter","showServerCommands","icon","searchModules","reduced","fullWidth","onSelectedButtonChanged","buttonsContainer","browse","updates","ref","serversDetail","renderModuleDataProperties","properties","emptyState","title","stateDescription","slot","stateType","noBorder","progressBar","defaultCaption","active","closeType","closedCallback","loaderTitle","container","borderRadius","abortTime"],"sources":["src/components/modules/manage-module-references-v2/manage-module-references.scss?tag=gx-ide-manage-module-references-v2&encapsulation=shadow","src/components/modules/manage-module-references-v2/manage-module-references-v2.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: 1fr 1fr;\n grid-template-rows: 1fr;\n height: 100%;\n overflow: auto;\n}\nch-grid-columnset {\n display: none;\n}\nch-grid-row[selected] {\n gxg-icon[data-action=\"install\"] {\n //WA to improve visibility\n filter: brightness(2);\n }\n}\n.grid-cell-module {\n &__info {\n display: flex;\n flex-direction: column;\n align-items: flex-start;\n gap: var(--mer-spacing--3xs);\n }\n &__name {\n font-weight: var(--mer-font__weight--bold);\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--sm);\n }\n &__name,\n &__description {\n line-height: 1.55em;\n }\n &__description {\n padding-inline-start: 36px;\n }\n}\n\n/*--- Servers Container ---*/\n.grid-container {\n height: 100%;\n overflow: auto;\n gx-ide-empty-state {\n height: 100%;\n }\n}\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 &__header {\n padding: var(--gxg-list-box-main__padding);\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n }\n &__combo-container {\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n }\n &__server-commands {\n display: flex;\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 &__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 &__main {\n display: grid;\n grid-template-rows: auto 1fr;\n height: 100%;\n overflow: auto;\n\n &-header {\n display: flex;\n padding: var(--mer-spacing--xs);\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n }\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 &__title {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--xs);\n }\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 &--uninstallable:before {\n background-color: var(--mer-icon__warning);\n }\n }\n\n &__warning-message {\n margin-block-start: var(--mer-spacing--2xs);\n background-color: var(--mer-color__tinted-yellow--5);\n color: var(--mer-text__on-elevation);\n border: var(--mer-border__width--sm) solid var(--mer-border-color__warning);\n border-radius: var(--mer-border__radius--sm);\n padding: var(--mer-spacing--xs) var(--mer-spacing--md);\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--2xs);\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--2xs);\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--2xs);\n height: var(--mer-spacing--2xs);\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\ngxg-ide-loader {\n border-radius: var(--mer-border__radius--md);\n}\n\n.button-wrapper {\n display: grid;\n align-items: center;\n justify-content: center;\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n Element,\n EventEmitter,\n State,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { Color } from \"@genexus/gemini\";\nimport { topStateBarType } from \"@genexus/gemini\";\nimport { TabularGridSelectionChangedEvent } from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport {\n ModuleServerData,\n ModuleData,\n ModuleActionType,\n ModuleFilterType,\n ExtendedModuleData\n} from \"../types\";\nimport { renderModuleDataProperties } from \"../../../common/common\";\nimport { Locale } from \"../../../common/locale\";\nimport { ContextMenuInfo } from \"../../../common/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n // \"utils/form\",\n // \"utils/layout\",\n // \"utils/typography\",\n // \"components/button\",\n // \"components/checkbox\",\n // \"components/edit\",\n \"components/tabular-grid\"\n];\n\n@Component({\n tag: \"gx-ide-manage-module-references-v2\",\n styleUrl: \"manage-module-references.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/manage-module-references-v2\"]\n})\nexport class GxManageModuleReferencesV2 {\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: HTMLGxIdeManageModuleReferencesV2Element;\n private loaderEl!: HTMLGxgIdeLoaderElement;\n private serversDetail!: HTMLDivElement;\n\n #filterIcon = getIconPath({\n category: \"system\",\n name: \"filters\",\n colorType: \"on-elevation\"\n });\n #moduleIcon = getIconPath({\n category: \"objects\",\n name: \"module\"\n });\n\n // 3.STATE() VARIABLES //\n\n // Filtering modules\n @State() searchModulesFilterValue: string = \"\";\n @State() selectedButtonFilter: ModuleFilterType = \"browse\";\n @State() serverModules: ModuleData[] = [];\n @State() serverModulesExtended: ExtendedModuleData[] = [];\n @State() filteredServerModules: ExtendedModuleData[] = [];\n @State() modulesMap: Map<string, ExtendedModuleData> = new Map();\n\n @State() selectedModule: ExtendedModuleData;\n @State() selectedServerId: string;\n @State() selectedModuleAction: ActionInfo = {\n message: \"\",\n progress: 0,\n state: \"in-progress\"\n };\n @State() modulesSelectedVersionMap: Map<string, string> = new Map();\n @State() actionCompleted = true;\n @State() closeProgressBar = true;\n @State() progressValue: number = 0;\n @State() progressState: topStateBarType = \"in-progress\";\n @State() loadingServer = false;\n @Watch(\"loadingServer\")\n loadingServerHandler(loading: boolean) {\n if (loading) {\n this.loaderEl.show = true;\n } else {\n this.loaderEl.show = false;\n }\n }\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\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 an element is right clicked on servers list\n */\n @Prop() readonly serverContextMenuCallback: ServerContextMenuCallback;\n\n /**\n * Allows you to hide the button (...) that executes serverContextMenuCallback, if we do not implement the commands in a first version\n */\n @Prop() readonly showServerCommands: boolean = false;\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 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 }\n\n async componentDidLoad() {\n await this.serverSelectedCallbackHandler(this.servers[0].id, false);\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\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 /**\n * Used for changing the selected module\n */\n private handleModuleChange = (\n event: CustomEvent<TabularGridSelectionChangedEvent>\n ) => {\n const selectedModuleId = event.detail.rowsId[0];\n this.selectedModule = this.modulesMap.get(selectedModuleId);\n };\n\n private moduleActionHandler = (module: ModuleData) => () => {\n this.actionCompleted = false;\n this.closeProgressBar = false;\n this.executeActionCallbackHandler(module);\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 if (this.executeActionCallback) {\n this.actionCompleted = false;\n const moduleSelectedVersionId = this.modulesMap.get(module.id)\n .selectedVersion.id;\n const moduleSelectedVersionAction = this.modulesMap.get(module.id)\n .selectedVersion.action;\n const actionCompleted = await this.executeActionCallback(\n this.selectedServerId,\n module.id,\n moduleSelectedVersionId,\n moduleSelectedVersionAction,\n this.onProgress\n );\n if (actionCompleted) {\n this.serverSelectedCallbackHandler(this.selectedServerId, false);\n }\n this.actionCompleted = true;\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 searchModulesFilterHandler = (e: CustomEvent<string>) => {\n this.searchModulesFilterValue = e.detail.trim().toLowerCase();\n };\n\n private getFilteredServerModules = (): ExtendedModuleData[] => {\n return this.serverModulesExtended.filter(module => {\n // Filter conditions\n const nameMatch = module.selectedVersion.name\n .toLowerCase()\n .includes(this.searchModulesFilterValue);\n const descriptionMatch = module.selectedVersion.description\n .toLowerCase()\n .includes(this.searchModulesFilterValue);\n let actionMatch;\n if (this.selectedButtonFilter === \"browse\") {\n // If browse is selected, display all\n actionMatch = true;\n } else if (this.selectedButtonFilter === \"installed\") {\n actionMatch = !!(\n module.selectedVersion.action === \"update\" ||\n module.selectedVersion.action === \"restore\"\n );\n } else if (this.selectedButtonFilter === \"updates\") {\n actionMatch = !!(module.selectedVersion.action === \"update\");\n }\n\n const filtered = (nameMatch || descriptionMatch) && actionMatch;\n return filtered;\n });\n };\n\n // 9.LOCAL METHODS > RENDERS //\n private renderGridOrEmptyState = () => {\n this.filteredServerModules = this.getFilteredServerModules();\n if (this.filteredServerModules.length > 0) {\n return this.renderModulesVersionsGrid();\n } else {\n return this.renderEmptyStateModules();\n }\n };\n\n private renderModulesVersionsGrid = (): HTMLChTabularGridElement => {\n return (\n <ch-tabular-grid\n rowSelectionMode=\"single\"\n part=\"ch-grid-pending-commits\"\n class=\"tabular-grid servers-detail no-border\"\n onSelectionChanged={this.handleModuleChange}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n settingable={false}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n settingable={false}\n size=\"min-content\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {this.filteredServerModules.map((module: ExtendedModuleData) => (\n <ch-tabular-grid-row\n rowid={module.id}\n key={module.id}\n selected={\n this.selectedModule && this.selectedModule.id === module.id\n }\n class=\"tabular-grid-row\"\n >\n <ch-tabular-grid-cell class=\"grid-cell-module__info tabular-grid-cell\">\n <span class=\"grid-cell-module__name\">\n <gxg-icon\n type=\"objects/module\"\n data-action={module.selectedVersion.action}\n color={this.moduleVersionIconColor(module.id)}\n size=\"small\"\n ></gxg-icon>\n {module.selectedVersion.name}\n </span>\n <span class=\"grid-cell-module__description\">\n {module.selectedVersion.description}\n </span>\n </ch-tabular-grid-cell>\n\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.selectedModule && this.selectedModule.id === module.id ? (\n <div class=\"button-wrapper\">\n <gxg-button\n disabled={\n !this.actionCompleted ||\n module.selectedVersion.action === \"incompatible\" ||\n module.selectedVersion.action === \"not-installable\"\n }\n fit\n part=\"module-action\"\n onClick={this.moduleActionHandler(module)}\n >\n {module.selectedVersion.action}\n </gxg-button>\n </div>\n ) : null}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private renderEmptyStateModules = () => {\n return (\n <gx-ide-empty-state\n stateIconSrc={this.#filterIcon}\n stateTitle={this._componentLocale.modules.noModulesFilter}\n ></gx-ide-empty-state>\n );\n };\n\n private moduleVersionIconColor = (moduleId: string): Color => {\n const foundModule = this.serverModulesExtended.find(module => {\n return module.id === moduleId;\n });\n if (foundModule) {\n const moduleAction = foundModule.selectedVersion.action;\n const moduleCurrentVersion = foundModule.currentVersion;\n if (\n moduleAction === \"not-installable\" ||\n moduleAction === \"incompatible\"\n ) {\n return \"warning\";\n } else if (!moduleCurrentVersion) {\n return \"mercury-primary-disabled\";\n } else {\n return \"mercury-primary\";\n }\n }\n\n return \"mercury-primary\";\n };\n\n private renderVersionIcon = () => {\n return (\n <gxg-icon\n type=\"objects/module\"\n color={this.moduleVersionIconColor(this.selectedModule.id)}\n ></gxg-icon>\n );\n };\n\n /* module details/information renders*/\n private renderVersionName = () => {\n return (\n <gxg-title part=\"module-info__name\" type=\"title-05\">\n <div class=\"module-info__name\">\n {this.selectedModule.selectedVersion.name}\n </div>\n </gxg-title>\n );\n };\n\n private renderVersionWarningMessage = () => {\n const warningMessage = this.selectedModule.selectedVersion.warningMessage;\n if (warningMessage) {\n return <p class=\"module-info__warning-message\">{warningMessage}</p>;\n }\n };\n\n private renderInstalledVersion = () => {\n const currentVersion = this.selectedModule.currentVersion;\n let caption;\n let cssClass = \"module-info__action-container\";\n if (currentVersion) {\n caption = `${this._componentLocale.modulesInformation.moduleProperties.installed}: ${currentVersion}`;\n cssClass += ` module-info__action-container--installed`;\n } else {\n caption =\n this._componentLocale.modulesInformation.moduleProperties.notInstalled;\n }\n return (\n <div class={cssClass}>\n <gxg-text part=\"module-info__action\">{caption}</gxg-text>\n </div>\n );\n };\n\n // Update selected version\n private moduleVersionsValueChangedHandler = (e: CustomEvent<any>) => {\n const selectedVersionId = e.detail.value;\n this.updateSelectedModuleVersion(selectedVersionId);\n };\n private moduleVersionsItemChangedHandler = (e: CustomEvent<any>) => {\n const selectedVersionId = e.detail.value;\n this.updateSelectedModuleVersion(selectedVersionId);\n };\n private updateSelectedModuleVersion = (selectedVersionId: string) => {\n const moduleSelectedVersion = this.selectedModule.versions.find(version => {\n return version.id === selectedVersionId;\n });\n if (moduleSelectedVersion) {\n const updatedSelectedModule = {\n ...this.selectedModule,\n selectedVersion: moduleSelectedVersion\n };\n this.selectedModule = updatedSelectedModule;\n\n // update module selected in modules array as well\n const updatedModuleIndex = this.serverModulesExtended.findIndex(\n module => module.id === updatedSelectedModule.id\n );\n if (updatedModuleIndex !== -1) {\n // Update the object with new information\n this.serverModulesExtended[updatedModuleIndex] = {\n ...this.serverModulesExtended[updatedModuleIndex],\n ...updatedSelectedModule\n };\n }\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=\"\"\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 onValueChanged={this.moduleVersionsValueChangedHandler}\n disabled={this.loadingServer || !this.actionCompleted}\n >\n {this.selectedModule.versions.map(item => (\n <gxg-combo-box-item\n value={item.id}\n onItemSelected={this.moduleVersionsItemChangedHandler}\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 this.selectedButtonFilter = e.detail as ModuleFilterType;\n };\n\n // Update server selected\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, false);\n };\n private serverValueChangedHandler = (e: CustomEvent<any>) => {\n const serverId = e.detail;\n this.serverSelectedCallbackHandler(serverId, false);\n };\n\n private reloadServer = () => {\n this.serverSelectedCallbackHandler(this.selectedServerId, true);\n };\n /**\n * Change the server selected value in response to callbackServerSelected callback\n */\n private serverSelectedCallbackHandler = async (\n serverId: any,\n reload: boolean\n ) => {\n if (this.serverSelectedCallback) {\n this.loadingServer = true;\n\n // clear\n this.serverModules = [];\n this.serverModulesExtended = [];\n this.filteredServerModules = [];\n this.modulesMap.clear();\n this.modulesSelectedVersionMap.clear();\n\n this.serverModules = await this.serverSelectedCallback(serverId, reload);\n // Save modules on Map as well to get information about modules faster\n this.serverModules.forEach(module => {\n const extendedModuleData = {\n ...module,\n selectedVersion: module.versions[0]\n };\n // When the server retrieves the modules, the selected module is by default the first one.\n this.serverModulesExtended.push(extendedModuleData);\n // Save modules on a map as well, for faster retrieval.\n this.modulesMap.set(module.id, extendedModuleData);\n });\n this.selectedServerId = serverId;\n this.loadingServer = false;\n }\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 <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n noAboveFooterPadding\n noBorderAboveFooter={this.closeProgressBar}\n part=\"servers\"\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\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 disabled={this.loadingServer || !this.actionCompleted}\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 {this.showServerCommands ? (\n <span class=\"modules__server-commands\">\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/show-more-horizontal\"\n onClick={this.showModuleMenu}\n ></gxg-button>\n </span>\n ) : null}\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/reset\"\n onClick={this.reloadServer}\n ></gxg-button>\n </div>\n </div>\n </header>\n\n <div class=\"modules__main\">\n <div class=\"modules__main-header\">\n <gxg-form-text\n label={this._componentLocale.modules.searchModules}\n labelPosition=\"above\"\n centerLabel={false}\n onValueChanged={this.searchModulesFilterHandler}\n disabled={this.loadingServer || !this.actionCompleted}\n ></gxg-form-text>\n <gxg-buttons-container\n reduced\n fullWidth\n class=\"modules__browser\"\n onSelectedButtonChanged={\n this.selectedButtonChangedHandler\n }\n >\n <gxg-button\n id=\"browse\"\n selected\n disabled={this.loadingServer || !this.actionCompleted}\n >\n {this._componentLocale.modules.buttonsContainer.browse}\n </gxg-button>\n <gxg-button\n id=\"installed\"\n disabled={this.loadingServer || !this.actionCompleted}\n >\n {\n this._componentLocale.modules.buttonsContainer\n .installed\n }\n </gxg-button>\n <gxg-button\n id=\"updates\"\n disabled={this.loadingServer || !this.actionCompleted}\n >\n {this._componentLocale.modules.buttonsContainer.updates}\n </gxg-button>\n </gxg-buttons-container>\n </div>\n {/* modules grid*/}\n <div\n class=\"grid-container\"\n ref={el => (this.serversDetail = el as HTMLDivElement)}\n >\n {this.renderGridOrEmptyState()}\n </div>\n </div>\n </div>\n\n {/* Module version information*/}\n {this.selectedModule ? (\n <div class=\"module-info\">\n <header class=\"module-info__header\">\n <div class=\"module-info__title\">\n {this.renderVersionIcon()}\n {this.renderVersionName()}\n </div>\n {this.renderInstalledVersion()}\n {this.renderModuleVersions()}\n {this.renderVersionWarningMessage()}\n </header>\n <div class=\"module-info__properties gxg-scrollbar\">\n {renderModuleDataProperties(\n this.selectedModule.selectedVersion.properties\n )}\n </div>\n </div>\n ) : (\n <gx-ide-empty-state\n class=\"recent-objects__empty-state\"\n stateIconSrc={this.#moduleIcon}\n stateTitle={\n this._componentLocale.modulesInformation.emptyState.title\n }\n stateDescription={\n this._componentLocale.modulesInformation.emptyState\n .description\n }\n ></gx-ide-empty-state>\n )}\n </main>\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.progressBar.defaultCaption\n }\n progress={this.progressValue}\n active={!this.actionCompleted || !this.closeProgressBar}\n closeType=\"not-progress\"\n closedCallback={this.progressBarCloseHandler}\n ></gxg-top-state-bar>\n </gx-ide-container>\n </div>\n <gxg-ide-loader\n loaderTitle={this._componentLocale.servers.loading}\n ref={el => (this.loaderEl = el as HTMLGxgIdeLoaderElement)}\n container={this.serversDetail}\n borderRadius=\"0 0 0 8px\"\n abortTime={60000}\n ></gxg-ide-loader>\n </Host>\n );\n }\n}\n\nexport type ExecuteActionCallback = (\n serverId: string,\n moduleId: string,\n moduleVersionId: string,\n action: ModuleActionType,\n onProgress: (\n message: string,\n progress: number,\n state: topStateBarType\n ) => void\n) => Promise<boolean>;\n\nexport type ServerSelectedCallback = (\n id: string,\n reload: boolean\n) => Promise<ModuleData[]>;\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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"}