@genexus/genexus-ide-ui 1.1.5 → 1.1.7

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 (699) hide show
  1. package/dist/cjs/{code-render-0e9837c4.js → code-render-55d37767.js} +3 -3
  2. package/dist/cjs/code-render-55d37767.js.map +1 -0
  3. package/dist/cjs/{form-validation-ffe2b957.js → form-validation-178cf461.js} +3 -7
  4. package/dist/cjs/form-validation-178cf461.js.map +1 -0
  5. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  6. package/dist/cjs/gx-ide-about.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +15 -9
  8. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +1 -1
  9. package/dist/cjs/gx-ide-ai-message.cjs.entry.js +2 -2
  10. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +4 -3
  11. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js +1 -1
  13. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +5 -3
  14. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js.map +1 -1
  15. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +3 -2
  16. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js.map +1 -1
  17. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +1 -1
  18. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +1 -1
  19. package/dist/cjs/gx-ide-bpm-sync-gam-roles.cjs.entry.js +3 -2
  20. package/dist/cjs/gx-ide-bpm-sync-gam-roles.cjs.entry.js.map +1 -1
  21. package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js +11 -9
  22. package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js.map +1 -1
  23. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +3 -2
  24. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
  25. package/dist/cjs/gx-ide-card.cjs.entry.js +1 -1
  26. package/dist/cjs/gx-ide-chat-container_2.cjs.entry.js +1 -1
  27. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +23 -18
  28. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
  29. package/dist/cjs/gx-ide-container_2.cjs.entry.js +2 -1
  30. package/dist/cjs/gx-ide-container_2.cjs.entry.js.map +1 -1
  31. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +10 -6
  32. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  33. package/dist/cjs/gx-ide-current-user-info.cjs.entry.js +4 -3
  34. package/dist/cjs/gx-ide-current-user-info.cjs.entry.js.map +1 -1
  35. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +5 -4
  36. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
  37. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +4 -3
  38. package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
  39. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js +5 -4
  40. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js.map +1 -1
  41. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js +20 -16
  42. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js.map +1 -1
  43. package/dist/cjs/gx-ide-design-import.cjs.entry.js +29 -21
  44. package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
  45. package/dist/cjs/gx-ide-directory-selector.cjs.entry.js +2 -1
  46. package/dist/cjs/gx-ide-directory-selector.cjs.entry.js.map +1 -1
  47. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +3 -2
  48. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
  49. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +5 -3
  50. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js.map +1 -1
  51. package/dist/cjs/gx-ide-file-uploader.cjs.entry.js +45 -60
  52. package/dist/cjs/gx-ide-file-uploader.cjs.entry.js.map +1 -1
  53. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +3 -2
  54. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
  55. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
  56. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +8 -5
  57. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  58. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +1 -1
  59. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
  60. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +5 -14
  61. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js.map +1 -1
  62. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +3 -3
  63. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
  64. package/dist/cjs/gx-ide-navigation-report.cjs.entry.js +7 -4
  65. package/dist/cjs/gx-ide-navigation-report.cjs.entry.js.map +1 -1
  66. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +18 -13
  67. package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
  68. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +35 -31
  69. package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
  70. package/dist/cjs/gx-ide-new-object.cjs.entry.js +9 -6
  71. package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
  72. package/dist/cjs/gx-ide-new-version.cjs.entry.js +61 -17
  73. package/dist/cjs/gx-ide-new-version.cjs.entry.js.map +1 -1
  74. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +7 -6
  75. package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
  76. package/dist/cjs/gx-ide-open-api-import.cjs.entry.js +9 -5
  77. package/dist/cjs/gx-ide-open-api-import.cjs.entry.js.map +1 -1
  78. package/dist/cjs/gx-ide-references.cjs.entry.js +23 -18
  79. package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
  80. package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js +1 -1
  81. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +29 -16
  82. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
  83. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js +4 -3
  84. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js.map +1 -1
  85. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +7 -4
  86. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  87. package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js +3 -2
  88. package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js.map +1 -1
  89. package/dist/cjs/gx-ide-sign-in.cjs.entry.js +1 -1
  90. package/dist/cjs/gx-ide-splash.cjs.entry.js +4 -3
  91. package/dist/cjs/gx-ide-splash.cjs.entry.js.map +1 -1
  92. package/dist/cjs/gx-ide-start-page.cjs.entry.js +7 -4
  93. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  94. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +1 -1
  95. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +4 -4
  96. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  97. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +270 -0
  98. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js.map +1 -0
  99. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
  100. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +2 -2
  101. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
  102. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
  103. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +4 -3
  104. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  105. package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
  106. package/dist/cjs/gx-ide-welcome-page.cjs.entry.js +8 -6
  107. package/dist/cjs/gx-ide-welcome-page.cjs.entry.js.map +1 -1
  108. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +1 -1
  109. package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js +14 -8
  110. package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js.map +1 -1
  111. package/dist/cjs/gx-ide-ww-files.cjs.entry.js +21 -18
  112. package/dist/cjs/gx-ide-ww-files.cjs.entry.js.map +1 -1
  113. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +7 -18
  114. package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
  115. package/dist/cjs/{helpers-e5a13fa5.js → helpers-30f109a4.js} +6 -6
  116. package/dist/cjs/helpers-30f109a4.js.map +1 -0
  117. package/dist/cjs/index.cjs.js +7 -1
  118. package/dist/cjs/index.cjs.js.map +1 -1
  119. package/dist/cjs/loader.cjs.js +1 -1
  120. package/dist/cjs/{locale-36b93b1b.js → locale-ff30a5f3.js} +4 -4
  121. package/dist/cjs/locale-ff30a5f3.js.map +1 -0
  122. package/dist/collection/collection-manifest.json +1 -0
  123. package/dist/collection/common/common.js +7 -4
  124. package/dist/collection/common/common.js.map +1 -1
  125. package/dist/collection/common/form-validation.js +4 -7
  126. package/dist/collection/common/form-validation.js.map +1 -1
  127. package/dist/collection/common/helpers.js +10 -9
  128. package/dist/collection/common/helpers.js.map +1 -1
  129. package/dist/collection/common/images/ai-avatar.svg +11 -0
  130. package/dist/collection/common/locale.js +3 -3
  131. package/dist/collection/common/locale.js.map +1 -1
  132. package/dist/collection/common/render-suggest.js +1 -1
  133. package/dist/collection/common/render-suggest.js.map +1 -1
  134. package/dist/collection/components/_helpers/container/container.js +2 -1
  135. package/dist/collection/components/_helpers/container/container.js.map +1 -1
  136. package/dist/collection/components/_helpers/directory-selector/directory-selector.js +2 -1
  137. package/dist/collection/components/_helpers/directory-selector/directory-selector.js.map +1 -1
  138. package/dist/collection/components/_helpers/entity-selector/entity-selector.js +4 -2
  139. package/dist/collection/components/_helpers/entity-selector/entity-selector.js.map +1 -1
  140. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +1 -1
  141. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js.map +1 -1
  142. package/dist/collection/components/ai-assistant/ai-assistant.js +14 -8
  143. package/dist/collection/components/ai-assistant/ai-assistant.js.map +1 -1
  144. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js +3 -2
  145. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js.map +1 -1
  146. package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.js +4 -2
  147. package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.js.map +1 -1
  148. package/dist/collection/components/bpm/import-files/bpm-import-files.js +2 -1
  149. package/dist/collection/components/bpm/import-files/bpm-import-files.js.map +1 -1
  150. package/dist/collection/components/bpm/sync-gam-roles/bpm-sync-gam-roles.js +2 -1
  151. package/dist/collection/components/bpm/sync-gam-roles/bpm-sync-gam-roles.js.map +1 -1
  152. package/dist/collection/components/bpm/task-documents/helpers.js +1 -1
  153. package/dist/collection/components/bpm/task-documents/helpers.js.map +1 -1
  154. package/dist/collection/components/bpm/task-documents/task-documents.js +9 -7
  155. package/dist/collection/components/bpm/task-documents/task-documents.js.map +1 -1
  156. package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.js +2 -1
  157. package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.js.map +1 -1
  158. package/dist/collection/components/chat/code-render.js +2 -2
  159. package/dist/collection/components/chat/code-render.js.map +1 -1
  160. package/dist/collection/components/current-user-info/current-user-info.js +3 -2
  161. package/dist/collection/components/current-user-info/current-user-info.js.map +1 -1
  162. package/dist/collection/components/dashboard-home/dashboard-home.js +3 -2
  163. package/dist/collection/components/dashboard-home/dashboard-home.js.map +1 -1
  164. package/dist/collection/components/data-selector/data-selector.js +3 -2
  165. package/dist/collection/components/data-selector/data-selector.js.map +1 -1
  166. package/dist/collection/components/data-type-selector/data-type-selector.js +4 -3
  167. package/dist/collection/components/data-type-selector/data-type-selector.js.map +1 -1
  168. package/dist/collection/components/deployment-tool/deployment-tool.js +18 -11
  169. package/dist/collection/components/deployment-tool/deployment-tool.js.map +1 -1
  170. package/dist/collection/components/deployment-tool/helpers.js +1 -4
  171. package/dist/collection/components/deployment-tool/helpers.js.map +1 -1
  172. package/dist/collection/components/design-import/design-import.js +27 -19
  173. package/dist/collection/components/design-import/design-import.js.map +1 -1
  174. package/dist/collection/components/design-import/helpers.js +1 -1
  175. package/dist/collection/components/design-import/helpers.js.map +1 -1
  176. package/dist/collection/components/file-uploader/file-uploader.js +44 -59
  177. package/dist/collection/components/file-uploader/file-uploader.js.map +1 -1
  178. package/dist/collection/components/gam-installation-settings/gam-installation-settings.js +2 -1
  179. package/dist/collection/components/gam-installation-settings/gam-installation-settings.js.map +1 -1
  180. package/dist/collection/components/kb-manager-import/kb-manager-import.js +7 -4
  181. package/dist/collection/components/kb-manager-import/kb-manager-import.js.map +1 -1
  182. package/dist/collection/components/modules/edit-module-server/edit-module-server.js +2 -1
  183. package/dist/collection/components/modules/edit-module-server/edit-module-server.js.map +1 -1
  184. package/dist/collection/components/modules/manage-module-references/manage-module-references.js +2 -2
  185. package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map +1 -1
  186. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js +4 -13
  187. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js.map +1 -1
  188. package/dist/collection/components/navigation-report/navigation-report.js +6 -3
  189. package/dist/collection/components/navigation-report/navigation-report.js.map +1 -1
  190. package/dist/collection/components/new-environment/new-environment.js +15 -10
  191. package/dist/collection/components/new-environment/new-environment.js.map +1 -1
  192. package/dist/collection/components/new-kb/new-kb.js +32 -28
  193. package/dist/collection/components/new-kb/new-kb.js.map +1 -1
  194. package/dist/collection/components/new-object/new-object.js +8 -5
  195. package/dist/collection/components/new-object/new-object.js.map +1 -1
  196. package/dist/collection/components/new-version/gx-ide-assets/new-version/langs/new-version.lang.en.json +3 -1
  197. package/dist/collection/components/new-version/gx-ide-assets/new-version/langs/new-version.lang.ja.json +3 -1
  198. package/dist/collection/components/new-version/gx-ide-assets/new-version/langs/new-version.lang.zh.json +3 -1
  199. package/dist/collection/components/new-version/new-version.css +4 -0
  200. package/dist/collection/components/new-version/new-version.js +126 -20
  201. package/dist/collection/components/new-version/new-version.js.map +1 -1
  202. package/dist/collection/components/object-selector/object-selector.js +5 -4
  203. package/dist/collection/components/object-selector/object-selector.js.map +1 -1
  204. package/dist/collection/components/open-api-import/open-api-import.js +8 -4
  205. package/dist/collection/components/open-api-import/open-api-import.js.map +1 -1
  206. package/dist/collection/components/references/helpers.js +13 -9
  207. package/dist/collection/components/references/helpers.js.map +1 -1
  208. package/dist/collection/components/references/references.js +11 -9
  209. package/dist/collection/components/references/references.js.map +1 -1
  210. package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.en.json +2 -1
  211. package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.ja.json +1 -0
  212. package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.zh.json +1 -0
  213. package/dist/collection/components/select-kb-items/helpers.js +10 -5
  214. package/dist/collection/components/select-kb-items/helpers.js.map +1 -1
  215. package/dist/collection/components/select-kb-items/select-kb-items.css +22 -27
  216. package/dist/collection/components/select-kb-items/select-kb-items.js +36 -9
  217. package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -1
  218. package/dist/collection/components/select-user-team/helpers.js +1 -1
  219. package/dist/collection/components/select-user-team/helpers.js.map +1 -1
  220. package/dist/collection/components/select-user-team/select-user-team.js +2 -1
  221. package/dist/collection/components/select-user-team/select-user-team.js.map +1 -1
  222. package/dist/collection/components/sign-in-team/sign-in-team.js +2 -1
  223. package/dist/collection/components/sign-in-team/sign-in-team.js.map +1 -1
  224. package/dist/collection/components/splash/splash.js +3 -2
  225. package/dist/collection/components/splash/splash.js.map +1 -1
  226. package/dist/collection/components/start-page/start-page.js +6 -3
  227. package/dist/collection/components/start-page/start-page.js.map +1 -1
  228. package/dist/collection/components/team-dev/commit/commit.js +2 -2
  229. package/dist/collection/components/team-dev/commit/commit.js.map +1 -1
  230. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js +21 -16
  231. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js.map +1 -1
  232. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +8 -4
  233. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
  234. package/dist/collection/components/team-dev/history/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.en.json +42 -0
  235. package/dist/collection/components/team-dev/history/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.ja.json +42 -0
  236. package/dist/collection/components/team-dev/history/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.zh.json +42 -0
  237. package/dist/collection/components/team-dev/history/helpers.js +22 -0
  238. package/dist/collection/components/team-dev/history/helpers.js.map +1 -0
  239. package/dist/collection/components/team-dev/history/history.css +124 -0
  240. package/dist/collection/components/team-dev/history/history.js +448 -0
  241. package/dist/collection/components/team-dev/history/history.js.map +1 -0
  242. package/dist/collection/components/team-dev/share-kb/share-kb.js +5 -2
  243. package/dist/collection/components/team-dev/share-kb/share-kb.js.map +1 -1
  244. package/dist/collection/components/team-dev/update/update.js +2 -1
  245. package/dist/collection/components/team-dev/update/update.js.map +1 -1
  246. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js +1 -1
  247. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js.map +1 -1
  248. package/dist/collection/components/welcome-page/welcome-page.js +7 -5
  249. package/dist/collection/components/welcome-page/welcome-page.js.map +1 -1
  250. package/dist/collection/components/ww-attributes/helpers.js +2 -1
  251. package/dist/collection/components/ww-attributes/helpers.js.map +1 -1
  252. package/dist/collection/components/ww-attributes/ww-attributes.js +11 -6
  253. package/dist/collection/components/ww-attributes/ww-attributes.js.map +1 -1
  254. package/dist/collection/components/ww-files/helpers.js +2 -1
  255. package/dist/collection/components/ww-files/helpers.js.map +1 -1
  256. package/dist/collection/components/ww-files/ww-files.js +18 -16
  257. package/dist/collection/components/ww-files/ww-files.js.map +1 -1
  258. package/dist/collection/components/ww-images/ww-images.js +5 -16
  259. package/dist/collection/components/ww-images/ww-images.js.map +1 -1
  260. package/dist/collection/index.js +4 -0
  261. package/dist/collection/index.js.map +1 -1
  262. package/dist/collection/testing/locale.e2e.js +4 -3
  263. package/dist/collection/testing/locale.e2e.js.map +1 -1
  264. package/dist/components/code-render.js +2 -2
  265. package/dist/components/code-render.js.map +1 -1
  266. package/dist/components/container.js +2 -1
  267. package/dist/components/container.js.map +1 -1
  268. package/dist/components/entity-selector.js +4 -2
  269. package/dist/components/entity-selector.js.map +1 -1
  270. package/dist/components/form-validation.js +2 -6
  271. package/dist/components/form-validation.js.map +1 -1
  272. package/dist/components/gx-ide-ai-assistant.js +14 -8
  273. package/dist/components/gx-ide-ai-assistant.js.map +1 -1
  274. package/dist/components/gx-ide-bpm-app-declaration.js +3 -2
  275. package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
  276. package/dist/components/gx-ide-bpm-export-xpdl.js +4 -2
  277. package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
  278. package/dist/components/gx-ide-bpm-import-files.js +2 -1
  279. package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
  280. package/dist/components/gx-ide-bpm-sync-gam-roles.js +2 -1
  281. package/dist/components/gx-ide-bpm-sync-gam-roles.js.map +1 -1
  282. package/dist/components/gx-ide-bpm-task-documents.js +10 -8
  283. package/dist/components/gx-ide-bpm-task-documents.js.map +1 -1
  284. package/dist/components/gx-ide-bpm-timer-duration.js +2 -1
  285. package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
  286. package/dist/components/gx-ide-connect-gx-server.js +21 -16
  287. package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
  288. package/dist/components/gx-ide-create-kb-from-server.js +8 -4
  289. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  290. package/dist/components/gx-ide-current-user-info.js +3 -2
  291. package/dist/components/gx-ide-current-user-info.js.map +1 -1
  292. package/dist/components/gx-ide-dashboard-home.js +3 -2
  293. package/dist/components/gx-ide-dashboard-home.js.map +1 -1
  294. package/dist/components/gx-ide-data-selector.js +3 -2
  295. package/dist/components/gx-ide-data-selector.js.map +1 -1
  296. package/dist/components/gx-ide-data-type-selector.js +4 -3
  297. package/dist/components/gx-ide-data-type-selector.js.map +1 -1
  298. package/dist/components/gx-ide-deployment-tool.js +19 -15
  299. package/dist/components/gx-ide-deployment-tool.js.map +1 -1
  300. package/dist/components/gx-ide-design-import.js +28 -20
  301. package/dist/components/gx-ide-design-import.js.map +1 -1
  302. package/dist/components/gx-ide-directory-selector.js +2 -1
  303. package/dist/components/gx-ide-directory-selector.js.map +1 -1
  304. package/dist/components/gx-ide-edit-module-server.js +2 -1
  305. package/dist/components/gx-ide-edit-module-server.js.map +1 -1
  306. package/dist/components/gx-ide-file-uploader.js +44 -59
  307. package/dist/components/gx-ide-file-uploader.js.map +1 -1
  308. package/dist/components/gx-ide-gam-installation-settings.js +2 -1
  309. package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
  310. package/dist/components/gx-ide-kb-manager-import.js +7 -4
  311. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  312. package/dist/components/gx-ide-manage-module-references-v2.js +4 -13
  313. package/dist/components/gx-ide-manage-module-references-v2.js.map +1 -1
  314. package/dist/components/gx-ide-manage-module-references.js +2 -2
  315. package/dist/components/gx-ide-manage-module-references.js.map +1 -1
  316. package/dist/components/gx-ide-navigation-report.js +6 -3
  317. package/dist/components/gx-ide-navigation-report.js.map +1 -1
  318. package/dist/components/gx-ide-new-environment.js +15 -10
  319. package/dist/components/gx-ide-new-environment.js.map +1 -1
  320. package/dist/components/gx-ide-new-kb.js +32 -28
  321. package/dist/components/gx-ide-new-kb.js.map +1 -1
  322. package/dist/components/gx-ide-new-object.js +8 -5
  323. package/dist/components/gx-ide-new-object.js.map +1 -1
  324. package/dist/components/gx-ide-new-version.js +67 -17
  325. package/dist/components/gx-ide-new-version.js.map +1 -1
  326. package/dist/components/gx-ide-object-selector.js +5 -4
  327. package/dist/components/gx-ide-object-selector.js.map +1 -1
  328. package/dist/components/gx-ide-open-api-import.js +8 -4
  329. package/dist/components/gx-ide-open-api-import.js.map +1 -1
  330. package/dist/components/gx-ide-references.js +22 -17
  331. package/dist/components/gx-ide-references.js.map +1 -1
  332. package/dist/components/gx-ide-select-kb-items.js +1 -501
  333. package/dist/components/gx-ide-select-kb-items.js.map +1 -1
  334. package/dist/components/gx-ide-select-user-team.js +3 -2
  335. package/dist/components/gx-ide-select-user-team.js.map +1 -1
  336. package/dist/components/gx-ide-share-kb.js +5 -2
  337. package/dist/components/gx-ide-share-kb.js.map +1 -1
  338. package/dist/components/gx-ide-sign-in-team.js +2 -1
  339. package/dist/components/gx-ide-sign-in-team.js.map +1 -1
  340. package/dist/components/gx-ide-splash.js +3 -2
  341. package/dist/components/gx-ide-splash.js.map +1 -1
  342. package/dist/components/gx-ide-start-page.js +6 -3
  343. package/dist/components/gx-ide-start-page.js.map +1 -1
  344. package/dist/components/gx-ide-team-dev-commit.js +2 -2
  345. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  346. package/dist/components/gx-ide-team-dev-history.d.ts +11 -0
  347. package/dist/components/gx-ide-team-dev-history.js +322 -0
  348. package/dist/components/gx-ide-team-dev-history.js.map +1 -0
  349. package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
  350. package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
  351. package/dist/components/gx-ide-team-dev-update.js +2 -1
  352. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  353. package/dist/components/gx-ide-welcome-page.js +7 -5
  354. package/dist/components/gx-ide-welcome-page.js.map +1 -1
  355. package/dist/components/gx-ide-ww-attributes.js +13 -7
  356. package/dist/components/gx-ide-ww-attributes.js.map +1 -1
  357. package/dist/components/gx-ide-ww-files.js +20 -17
  358. package/dist/components/gx-ide-ww-files.js.map +1 -1
  359. package/dist/components/gx-ide-ww-images.js +5 -16
  360. package/dist/components/gx-ide-ww-images.js.map +1 -1
  361. package/dist/components/helpers.js +5 -5
  362. package/dist/components/helpers.js.map +1 -1
  363. package/dist/components/index.js +6 -0
  364. package/dist/components/index.js.map +1 -1
  365. package/dist/components/list-selector-item.js +1 -1
  366. package/dist/components/list-selector-item.js.map +1 -1
  367. package/dist/components/locale.js +3 -3
  368. package/dist/components/locale.js.map +1 -1
  369. package/dist/components/select-kb-items.js +520 -0
  370. package/dist/components/select-kb-items.js.map +1 -0
  371. package/dist/esm/{code-render-f3afd300.js → code-render-53b3b0bd.js} +3 -3
  372. package/dist/esm/code-render-53b3b0bd.js.map +1 -0
  373. package/dist/esm/{form-validation-71dca8c6.js → form-validation-cd0215c6.js} +3 -7
  374. package/dist/{genexus-ide-ui/p-549b8f0c.js.map → esm/form-validation-cd0215c6.js.map} +1 -1
  375. package/dist/esm/genexus-ide-ui.js +1 -1
  376. package/dist/esm/gx-ide-about.entry.js +1 -1
  377. package/dist/esm/gx-ide-ai-assistant.entry.js +15 -9
  378. package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
  379. package/dist/esm/gx-ide-ai-message.entry.js +2 -2
  380. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +4 -3
  381. package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
  382. package/dist/esm/gx-ide-bpm-assign-roles.entry.js +1 -1
  383. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +5 -3
  384. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
  385. package/dist/esm/gx-ide-bpm-import-files.entry.js +3 -2
  386. package/dist/esm/gx-ide-bpm-import-files.entry.js.map +1 -1
  387. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +1 -1
  388. package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
  389. package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js +3 -2
  390. package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js.map +1 -1
  391. package/dist/esm/gx-ide-bpm-task-documents.entry.js +11 -9
  392. package/dist/esm/gx-ide-bpm-task-documents.entry.js.map +1 -1
  393. package/dist/esm/gx-ide-bpm-timer-duration.entry.js +3 -2
  394. package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
  395. package/dist/esm/gx-ide-card.entry.js +1 -1
  396. package/dist/esm/gx-ide-chat-container_2.entry.js +1 -1
  397. package/dist/esm/gx-ide-connect-gx-server.entry.js +23 -18
  398. package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
  399. package/dist/esm/gx-ide-container_2.entry.js +2 -1
  400. package/dist/esm/gx-ide-container_2.entry.js.map +1 -1
  401. package/dist/esm/gx-ide-create-kb-from-server.entry.js +10 -6
  402. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  403. package/dist/esm/gx-ide-current-user-info.entry.js +4 -3
  404. package/dist/esm/gx-ide-current-user-info.entry.js.map +1 -1
  405. package/dist/esm/gx-ide-dashboard-home.entry.js +5 -4
  406. package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
  407. package/dist/esm/gx-ide-data-selector.entry.js +4 -3
  408. package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
  409. package/dist/esm/gx-ide-data-type-selector.entry.js +5 -4
  410. package/dist/esm/gx-ide-data-type-selector.entry.js.map +1 -1
  411. package/dist/esm/gx-ide-deployment-tool.entry.js +20 -16
  412. package/dist/esm/gx-ide-deployment-tool.entry.js.map +1 -1
  413. package/dist/esm/gx-ide-design-import.entry.js +29 -21
  414. package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
  415. package/dist/esm/gx-ide-directory-selector.entry.js +2 -1
  416. package/dist/esm/gx-ide-directory-selector.entry.js.map +1 -1
  417. package/dist/esm/gx-ide-edit-module-server.entry.js +3 -2
  418. package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
  419. package/dist/esm/gx-ide-entity-selector.entry.js +5 -3
  420. package/dist/esm/gx-ide-entity-selector.entry.js.map +1 -1
  421. package/dist/esm/gx-ide-file-uploader.entry.js +45 -60
  422. package/dist/esm/gx-ide-file-uploader.entry.js.map +1 -1
  423. package/dist/esm/gx-ide-gam-installation-settings.entry.js +3 -2
  424. package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
  425. package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
  426. package/dist/esm/gx-ide-kb-manager-import.entry.js +8 -5
  427. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  428. package/dist/esm/gx-ide-list-selector_2.entry.js +1 -1
  429. package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
  430. package/dist/esm/gx-ide-manage-module-references-v2.entry.js +5 -14
  431. package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +1 -1
  432. package/dist/esm/gx-ide-manage-module-references.entry.js +3 -3
  433. package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
  434. package/dist/esm/gx-ide-navigation-report.entry.js +7 -4
  435. package/dist/esm/gx-ide-navigation-report.entry.js.map +1 -1
  436. package/dist/esm/gx-ide-new-environment.entry.js +18 -13
  437. package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
  438. package/dist/esm/gx-ide-new-kb.entry.js +35 -31
  439. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  440. package/dist/esm/gx-ide-new-object.entry.js +9 -6
  441. package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
  442. package/dist/esm/gx-ide-new-version.entry.js +61 -17
  443. package/dist/esm/gx-ide-new-version.entry.js.map +1 -1
  444. package/dist/esm/gx-ide-object-selector.entry.js +7 -6
  445. package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
  446. package/dist/esm/gx-ide-open-api-import.entry.js +9 -5
  447. package/dist/esm/gx-ide-open-api-import.entry.js.map +1 -1
  448. package/dist/esm/gx-ide-references.entry.js +23 -18
  449. package/dist/esm/gx-ide-references.entry.js.map +1 -1
  450. package/dist/esm/gx-ide-sc-chat-container.entry.js +1 -1
  451. package/dist/esm/gx-ide-select-kb-items.entry.js +29 -16
  452. package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
  453. package/dist/esm/gx-ide-select-user-team.entry.js +4 -3
  454. package/dist/esm/gx-ide-select-user-team.entry.js.map +1 -1
  455. package/dist/esm/gx-ide-share-kb.entry.js +7 -4
  456. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  457. package/dist/esm/gx-ide-sign-in-team.entry.js +3 -2
  458. package/dist/esm/gx-ide-sign-in-team.entry.js.map +1 -1
  459. package/dist/esm/gx-ide-sign-in.entry.js +1 -1
  460. package/dist/esm/gx-ide-splash.entry.js +4 -3
  461. package/dist/esm/gx-ide-splash.entry.js.map +1 -1
  462. package/dist/esm/gx-ide-start-page.entry.js +7 -4
  463. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  464. package/dist/esm/gx-ide-status-buttons.entry.js +1 -1
  465. package/dist/esm/gx-ide-team-dev-commit.entry.js +4 -4
  466. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  467. package/dist/esm/gx-ide-team-dev-history.entry.js +266 -0
  468. package/dist/esm/gx-ide-team-dev-history.entry.js.map +1 -0
  469. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
  470. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +2 -2
  471. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
  472. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
  473. package/dist/esm/gx-ide-team-dev-update.entry.js +4 -3
  474. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  475. package/dist/esm/gx-ide-template.entry.js +1 -1
  476. package/dist/esm/gx-ide-welcome-page.entry.js +8 -6
  477. package/dist/esm/gx-ide-welcome-page.entry.js.map +1 -1
  478. package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
  479. package/dist/esm/gx-ide-ww-attributes.entry.js +14 -8
  480. package/dist/esm/gx-ide-ww-attributes.entry.js.map +1 -1
  481. package/dist/esm/gx-ide-ww-files.entry.js +21 -18
  482. package/dist/esm/gx-ide-ww-files.entry.js.map +1 -1
  483. package/dist/esm/gx-ide-ww-images.entry.js +7 -18
  484. package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
  485. package/dist/esm/{helpers-5f1c9a32.js → helpers-10479d69.js} +6 -6
  486. package/dist/esm/helpers-10479d69.js.map +1 -0
  487. package/dist/esm/index.js +7 -1
  488. package/dist/esm/index.js.map +1 -1
  489. package/dist/esm/loader.js +1 -1
  490. package/dist/esm/{locale-643afe17.js → locale-e5107fad.js} +4 -4
  491. package/dist/esm/locale-e5107fad.js.map +1 -0
  492. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  493. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  494. package/dist/genexus-ide-ui/gx-ide-assets/new-version/langs/new-version.lang.en.json +3 -1
  495. package/dist/genexus-ide-ui/gx-ide-assets/new-version/langs/new-version.lang.ja.json +3 -1
  496. package/dist/genexus-ide-ui/gx-ide-assets/new-version/langs/new-version.lang.zh.json +3 -1
  497. package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.en.json +2 -1
  498. package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.ja.json +1 -0
  499. package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.zh.json +1 -0
  500. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.en.json +42 -0
  501. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.ja.json +42 -0
  502. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.zh.json +42 -0
  503. package/dist/genexus-ide-ui/index.esm.js +7 -1
  504. package/dist/genexus-ide-ui/index.esm.js.map +1 -1
  505. package/dist/genexus-ide-ui/{p-11dccb8f.entry.js → p-01d96378.entry.js} +16 -17
  506. package/dist/genexus-ide-ui/p-01d96378.entry.js.map +1 -0
  507. package/dist/genexus-ide-ui/{p-75e1aa31.entry.js → p-036d005d.entry.js} +5 -4
  508. package/dist/genexus-ide-ui/p-036d005d.entry.js.map +1 -0
  509. package/dist/genexus-ide-ui/{p-f5a48b33.entry.js → p-04205aa4.entry.js} +6 -5
  510. package/dist/genexus-ide-ui/p-04205aa4.entry.js.map +1 -0
  511. package/dist/genexus-ide-ui/{p-f6ceb01a.entry.js → p-04c6bd23.entry.js} +29 -28
  512. package/dist/genexus-ide-ui/p-04c6bd23.entry.js.map +1 -0
  513. package/dist/genexus-ide-ui/{p-f52bcdac.entry.js → p-0550fd5f.entry.js} +2 -2
  514. package/dist/genexus-ide-ui/{p-e1d75f00.entry.js → p-05b04291.entry.js} +2 -2
  515. package/dist/genexus-ide-ui/{p-e1d75f00.entry.js.map → p-05b04291.entry.js.map} +1 -1
  516. package/dist/genexus-ide-ui/{p-a6029d9a.entry.js → p-0acf517c.entry.js} +129 -117
  517. package/dist/genexus-ide-ui/p-0acf517c.entry.js.map +1 -0
  518. package/dist/genexus-ide-ui/{p-bfd9066c.entry.js → p-0bdf34f2.entry.js} +4 -6
  519. package/dist/genexus-ide-ui/p-0bdf34f2.entry.js.map +1 -0
  520. package/dist/genexus-ide-ui/{p-2be58a7a.entry.js → p-14165308.entry.js} +2 -2
  521. package/dist/genexus-ide-ui/{p-7cedb0f0.entry.js → p-1bc2613e.entry.js} +69 -66
  522. package/dist/genexus-ide-ui/p-1bc2613e.entry.js.map +1 -0
  523. package/dist/genexus-ide-ui/{p-c5cca204.entry.js → p-1c7ea1cb.entry.js} +11 -10
  524. package/dist/genexus-ide-ui/p-1c7ea1cb.entry.js.map +1 -0
  525. package/dist/genexus-ide-ui/{p-daa29451.entry.js → p-1dd7be84.entry.js} +17 -14
  526. package/dist/genexus-ide-ui/p-1dd7be84.entry.js.map +1 -0
  527. package/dist/genexus-ide-ui/{p-549b8f0c.js → p-289c3290.js} +15 -16
  528. package/dist/genexus-ide-ui/p-289c3290.js.map +1 -0
  529. package/dist/genexus-ide-ui/{p-032b4a81.entry.js → p-29c69938.entry.js} +22 -19
  530. package/dist/genexus-ide-ui/p-29c69938.entry.js.map +1 -0
  531. package/dist/genexus-ide-ui/{p-db4f756a.entry.js → p-3085add2.entry.js} +188 -176
  532. package/dist/genexus-ide-ui/p-3085add2.entry.js.map +1 -0
  533. package/dist/genexus-ide-ui/{p-857866f8.js → p-311eedf3.js} +9 -8
  534. package/dist/genexus-ide-ui/p-311eedf3.js.map +1 -0
  535. package/dist/genexus-ide-ui/{p-2e90a13a.entry.js → p-31beae9e.entry.js} +3 -2
  536. package/dist/genexus-ide-ui/p-31beae9e.entry.js.map +1 -0
  537. package/dist/genexus-ide-ui/{p-e37e95e7.entry.js → p-34fd4875.entry.js} +5 -20
  538. package/dist/genexus-ide-ui/p-34fd4875.entry.js.map +1 -0
  539. package/dist/genexus-ide-ui/{p-9a39e49c.entry.js → p-35f9ebbc.entry.js} +2 -2
  540. package/dist/genexus-ide-ui/{p-db4750ff.entry.js → p-385c9544.entry.js} +147 -138
  541. package/dist/genexus-ide-ui/p-385c9544.entry.js.map +1 -0
  542. package/dist/genexus-ide-ui/{p-8f1f4126.entry.js → p-3da8db15.entry.js} +9 -9
  543. package/dist/genexus-ide-ui/p-3da8db15.entry.js.map +1 -0
  544. package/dist/genexus-ide-ui/{p-b1833747.entry.js → p-4538dea5.entry.js} +31 -26
  545. package/dist/genexus-ide-ui/p-4538dea5.entry.js.map +1 -0
  546. package/dist/genexus-ide-ui/{p-6dc05a27.entry.js → p-45996535.entry.js} +4 -3
  547. package/dist/genexus-ide-ui/p-45996535.entry.js.map +1 -0
  548. package/dist/genexus-ide-ui/{p-4d929210.entry.js → p-4b38fffc.entry.js} +2 -2
  549. package/dist/genexus-ide-ui/{p-d1cc4724.entry.js → p-4d0ba4f6.entry.js} +8 -15
  550. package/dist/genexus-ide-ui/p-4d0ba4f6.entry.js.map +1 -0
  551. package/dist/genexus-ide-ui/{p-66d9269a.entry.js → p-4e943649.entry.js} +19 -16
  552. package/dist/genexus-ide-ui/p-4e943649.entry.js.map +1 -0
  553. package/dist/genexus-ide-ui/{p-ec01c70c.entry.js → p-67e0b419.entry.js} +7 -6
  554. package/dist/genexus-ide-ui/p-67e0b419.entry.js.map +1 -0
  555. package/dist/genexus-ide-ui/{p-45d2fa91.entry.js → p-68969051.entry.js} +12 -11
  556. package/dist/genexus-ide-ui/p-68969051.entry.js.map +1 -0
  557. package/dist/genexus-ide-ui/{p-9b238bf7.entry.js → p-690942cb.entry.js} +178 -173
  558. package/dist/genexus-ide-ui/p-690942cb.entry.js.map +1 -0
  559. package/dist/genexus-ide-ui/{p-b211bca8.entry.js → p-6b957e82.entry.js} +2 -2
  560. package/dist/genexus-ide-ui/{p-be794132.entry.js → p-6f898249.entry.js} +233 -228
  561. package/dist/genexus-ide-ui/p-6f898249.entry.js.map +1 -0
  562. package/dist/genexus-ide-ui/{p-29575656.entry.js → p-704499e5.entry.js} +116 -107
  563. package/dist/genexus-ide-ui/p-704499e5.entry.js.map +1 -0
  564. package/dist/genexus-ide-ui/p-74715731.entry.js +541 -0
  565. package/dist/genexus-ide-ui/p-74715731.entry.js.map +1 -0
  566. package/dist/genexus-ide-ui/{p-ac0438d6.entry.js → p-767e0f6d.entry.js} +12 -11
  567. package/dist/genexus-ide-ui/p-767e0f6d.entry.js.map +1 -0
  568. package/dist/genexus-ide-ui/{p-6168d48c.entry.js → p-7abe2214.entry.js} +167 -160
  569. package/dist/genexus-ide-ui/p-7abe2214.entry.js.map +1 -0
  570. package/dist/genexus-ide-ui/{p-50eaa96d.entry.js → p-7d8812b0.entry.js} +99 -89
  571. package/dist/genexus-ide-ui/p-7d8812b0.entry.js.map +1 -0
  572. package/dist/genexus-ide-ui/p-80c1ddc3.entry.js +218 -0
  573. package/dist/genexus-ide-ui/p-80c1ddc3.entry.js.map +1 -0
  574. package/dist/genexus-ide-ui/{p-9c690c36.entry.js → p-88c81f18.entry.js} +13 -12
  575. package/dist/genexus-ide-ui/p-88c81f18.entry.js.map +1 -0
  576. package/dist/genexus-ide-ui/{p-5e05f830.entry.js → p-8cb937b7.entry.js} +35 -31
  577. package/dist/genexus-ide-ui/p-8cb937b7.entry.js.map +1 -0
  578. package/dist/genexus-ide-ui/p-9ddea83b.js +146 -0
  579. package/dist/genexus-ide-ui/p-9ddea83b.js.map +1 -0
  580. package/dist/genexus-ide-ui/{p-0e53f1ef.entry.js → p-a1415a9c.entry.js} +161 -159
  581. package/dist/genexus-ide-ui/p-a1415a9c.entry.js.map +1 -0
  582. package/dist/genexus-ide-ui/{p-c30b2104.entry.js → p-a47d71eb.entry.js} +11 -9
  583. package/dist/genexus-ide-ui/p-a47d71eb.entry.js.map +1 -0
  584. package/dist/genexus-ide-ui/{p-2dbf722d.entry.js → p-a8d0b62e.entry.js} +192 -172
  585. package/dist/genexus-ide-ui/p-a8d0b62e.entry.js.map +1 -0
  586. package/dist/genexus-ide-ui/{p-f315c6e0.entry.js → p-aab809c4.entry.js} +2 -2
  587. package/dist/genexus-ide-ui/{p-f5879a41.entry.js → p-b1851e6b.entry.js} +3 -3
  588. package/dist/genexus-ide-ui/{p-f5879a41.entry.js.map → p-b1851e6b.entry.js.map} +1 -1
  589. package/dist/genexus-ide-ui/{p-95f831a8.entry.js → p-b2928645.entry.js} +2 -2
  590. package/dist/genexus-ide-ui/{p-39c527ff.entry.js → p-b58fb87b.entry.js} +2 -2
  591. package/dist/genexus-ide-ui/{p-a86a8692.entry.js → p-c38ce0bf.entry.js} +36 -32
  592. package/dist/genexus-ide-ui/p-c38ce0bf.entry.js.map +1 -0
  593. package/dist/genexus-ide-ui/{p-3edbf07d.js → p-c5178973.js} +3 -3
  594. package/dist/genexus-ide-ui/{p-3edbf07d.js.map → p-c5178973.js.map} +1 -1
  595. package/dist/genexus-ide-ui/{p-0d83a34d.entry.js → p-c7badbf1.entry.js} +66 -62
  596. package/dist/genexus-ide-ui/p-c7badbf1.entry.js.map +1 -0
  597. package/dist/genexus-ide-ui/{p-8b046b4b.entry.js → p-d095a37c.entry.js} +10 -9
  598. package/dist/genexus-ide-ui/p-d095a37c.entry.js.map +1 -0
  599. package/dist/genexus-ide-ui/{p-353810b8.entry.js → p-d3767a7d.entry.js} +104 -99
  600. package/dist/genexus-ide-ui/p-d3767a7d.entry.js.map +1 -0
  601. package/dist/genexus-ide-ui/{p-02fc47cd.entry.js → p-d8379699.entry.js} +2 -2
  602. package/dist/genexus-ide-ui/{p-cdf8b082.entry.js → p-da473001.entry.js} +2 -2
  603. package/dist/genexus-ide-ui/{p-501c7b1f.entry.js → p-de7f0c1f.entry.js} +22 -19
  604. package/dist/genexus-ide-ui/p-de7f0c1f.entry.js.map +1 -0
  605. package/dist/genexus-ide-ui/{p-5da3e999.entry.js → p-ded7444c.entry.js} +17 -16
  606. package/dist/genexus-ide-ui/p-ded7444c.entry.js.map +1 -0
  607. package/dist/genexus-ide-ui/{p-9a9ee1ee.entry.js → p-e24902a0.entry.js} +2 -2
  608. package/dist/genexus-ide-ui/{p-5a42428d.entry.js → p-e28e6bc4.entry.js} +15 -14
  609. package/dist/genexus-ide-ui/p-e28e6bc4.entry.js.map +1 -0
  610. package/dist/genexus-ide-ui/{p-7782e1b8.entry.js → p-e502c2fd.entry.js} +61 -56
  611. package/dist/genexus-ide-ui/p-e502c2fd.entry.js.map +1 -0
  612. package/dist/genexus-ide-ui/{p-f2bd9044.entry.js → p-e7fb3ee3.entry.js} +2 -2
  613. package/dist/genexus-ide-ui/{p-e5571f49.entry.js → p-eb9e760d.entry.js} +18 -18
  614. package/dist/genexus-ide-ui/p-eb9e760d.entry.js.map +1 -0
  615. package/dist/genexus-ide-ui/{p-eb51429c.entry.js → p-ec0809a7.entry.js} +2 -2
  616. package/dist/genexus-ide-ui/{p-460db3ff.entry.js → p-ecba870e.entry.js} +3 -3
  617. package/dist/genexus-ide-ui/{p-e26e05c7.entry.js → p-f49bb305.entry.js} +18 -12
  618. package/dist/genexus-ide-ui/p-f49bb305.entry.js.map +1 -0
  619. package/dist/genexus-ide-ui/{p-8636a0bd.entry.js → p-f722955f.entry.js} +2 -2
  620. package/dist/genexus-ide-ui/{p-a8cc41e4.entry.js → p-f7421997.entry.js} +61 -58
  621. package/dist/genexus-ide-ui/p-f7421997.entry.js.map +1 -0
  622. package/dist/types/components/new-version/new-version.d.ts +27 -1
  623. package/dist/types/components/select-kb-items/select-kb-items.d.ts +8 -0
  624. package/dist/types/components/team-dev/history/helpers.d.ts +7 -0
  625. package/dist/types/components/team-dev/history/history.d.ts +109 -0
  626. package/dist/types/components.d.ts +141 -18
  627. package/dist/types/index.d.ts +4 -0
  628. package/package.json +3 -3
  629. package/dist/cjs/code-render-0e9837c4.js.map +0 -1
  630. package/dist/cjs/form-validation-ffe2b957.js.map +0 -1
  631. package/dist/cjs/helpers-e5a13fa5.js.map +0 -1
  632. package/dist/cjs/locale-36b93b1b.js.map +0 -1
  633. package/dist/esm/code-render-f3afd300.js.map +0 -1
  634. package/dist/esm/form-validation-71dca8c6.js.map +0 -1
  635. package/dist/esm/helpers-5f1c9a32.js.map +0 -1
  636. package/dist/esm/locale-643afe17.js.map +0 -1
  637. package/dist/genexus-ide-ui/p-032b4a81.entry.js.map +0 -1
  638. package/dist/genexus-ide-ui/p-0d83a34d.entry.js.map +0 -1
  639. package/dist/genexus-ide-ui/p-0e53f1ef.entry.js.map +0 -1
  640. package/dist/genexus-ide-ui/p-11dccb8f.entry.js.map +0 -1
  641. package/dist/genexus-ide-ui/p-29575656.entry.js.map +0 -1
  642. package/dist/genexus-ide-ui/p-2dbf722d.entry.js.map +0 -1
  643. package/dist/genexus-ide-ui/p-2e90a13a.entry.js.map +0 -1
  644. package/dist/genexus-ide-ui/p-353810b8.entry.js.map +0 -1
  645. package/dist/genexus-ide-ui/p-45d2fa91.entry.js.map +0 -1
  646. package/dist/genexus-ide-ui/p-501c7b1f.entry.js.map +0 -1
  647. package/dist/genexus-ide-ui/p-50eaa96d.entry.js.map +0 -1
  648. package/dist/genexus-ide-ui/p-51601b85.js +0 -145
  649. package/dist/genexus-ide-ui/p-51601b85.js.map +0 -1
  650. package/dist/genexus-ide-ui/p-5a42428d.entry.js.map +0 -1
  651. package/dist/genexus-ide-ui/p-5da3e999.entry.js.map +0 -1
  652. package/dist/genexus-ide-ui/p-5e05f830.entry.js.map +0 -1
  653. package/dist/genexus-ide-ui/p-6168d48c.entry.js.map +0 -1
  654. package/dist/genexus-ide-ui/p-66d9269a.entry.js.map +0 -1
  655. package/dist/genexus-ide-ui/p-6dc05a27.entry.js.map +0 -1
  656. package/dist/genexus-ide-ui/p-75e1aa31.entry.js.map +0 -1
  657. package/dist/genexus-ide-ui/p-7782e1b8.entry.js.map +0 -1
  658. package/dist/genexus-ide-ui/p-7cedb0f0.entry.js.map +0 -1
  659. package/dist/genexus-ide-ui/p-857866f8.js.map +0 -1
  660. package/dist/genexus-ide-ui/p-8b046b4b.entry.js.map +0 -1
  661. package/dist/genexus-ide-ui/p-8f1f4126.entry.js.map +0 -1
  662. package/dist/genexus-ide-ui/p-970d16ca.entry.js +0 -149
  663. package/dist/genexus-ide-ui/p-970d16ca.entry.js.map +0 -1
  664. package/dist/genexus-ide-ui/p-9b238bf7.entry.js.map +0 -1
  665. package/dist/genexus-ide-ui/p-9c690c36.entry.js.map +0 -1
  666. package/dist/genexus-ide-ui/p-a6029d9a.entry.js.map +0 -1
  667. package/dist/genexus-ide-ui/p-a86a8692.entry.js.map +0 -1
  668. package/dist/genexus-ide-ui/p-a8cc41e4.entry.js.map +0 -1
  669. package/dist/genexus-ide-ui/p-ac0438d6.entry.js.map +0 -1
  670. package/dist/genexus-ide-ui/p-b1833747.entry.js.map +0 -1
  671. package/dist/genexus-ide-ui/p-be794132.entry.js.map +0 -1
  672. package/dist/genexus-ide-ui/p-bfd9066c.entry.js.map +0 -1
  673. package/dist/genexus-ide-ui/p-c30b2104.entry.js.map +0 -1
  674. package/dist/genexus-ide-ui/p-c5cca204.entry.js.map +0 -1
  675. package/dist/genexus-ide-ui/p-d1cc4724.entry.js.map +0 -1
  676. package/dist/genexus-ide-ui/p-daa29451.entry.js.map +0 -1
  677. package/dist/genexus-ide-ui/p-db4750ff.entry.js.map +0 -1
  678. package/dist/genexus-ide-ui/p-db4f756a.entry.js.map +0 -1
  679. package/dist/genexus-ide-ui/p-e26e05c7.entry.js.map +0 -1
  680. package/dist/genexus-ide-ui/p-e37e95e7.entry.js.map +0 -1
  681. package/dist/genexus-ide-ui/p-e5571f49.entry.js.map +0 -1
  682. package/dist/genexus-ide-ui/p-ec01c70c.entry.js.map +0 -1
  683. package/dist/genexus-ide-ui/p-f5a48b33.entry.js.map +0 -1
  684. package/dist/genexus-ide-ui/p-f6ceb01a.entry.js.map +0 -1
  685. /package/dist/genexus-ide-ui/{p-f52bcdac.entry.js.map → p-0550fd5f.entry.js.map} +0 -0
  686. /package/dist/genexus-ide-ui/{p-2be58a7a.entry.js.map → p-14165308.entry.js.map} +0 -0
  687. /package/dist/genexus-ide-ui/{p-9a39e49c.entry.js.map → p-35f9ebbc.entry.js.map} +0 -0
  688. /package/dist/genexus-ide-ui/{p-4d929210.entry.js.map → p-4b38fffc.entry.js.map} +0 -0
  689. /package/dist/genexus-ide-ui/{p-b211bca8.entry.js.map → p-6b957e82.entry.js.map} +0 -0
  690. /package/dist/genexus-ide-ui/{p-f315c6e0.entry.js.map → p-aab809c4.entry.js.map} +0 -0
  691. /package/dist/genexus-ide-ui/{p-95f831a8.entry.js.map → p-b2928645.entry.js.map} +0 -0
  692. /package/dist/genexus-ide-ui/{p-39c527ff.entry.js.map → p-b58fb87b.entry.js.map} +0 -0
  693. /package/dist/genexus-ide-ui/{p-02fc47cd.entry.js.map → p-d8379699.entry.js.map} +0 -0
  694. /package/dist/genexus-ide-ui/{p-cdf8b082.entry.js.map → p-da473001.entry.js.map} +0 -0
  695. /package/dist/genexus-ide-ui/{p-9a9ee1ee.entry.js.map → p-e24902a0.entry.js.map} +0 -0
  696. /package/dist/genexus-ide-ui/{p-f2bd9044.entry.js.map → p-e7fb3ee3.entry.js.map} +0 -0
  697. /package/dist/genexus-ide-ui/{p-eb51429c.entry.js.map → p-ec0809a7.entry.js.map} +0 -0
  698. /package/dist/genexus-ide-ui/{p-460db3ff.entry.js.map → p-ecba870e.entry.js.map} +0 -0
  699. /package/dist/genexus-ide-ui/{p-8636a0bd.entry.js.map → p-f722955f.entry.js.map} +0 -0
@@ -0,0 +1 @@
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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"}
@@ -2,7 +2,7 @@ import { r as t, c as e, h as i, H as s, a } from "./p-25a9f1d7.js";
2
2
 
3
3
  import { g as n } from "./p-ede7bd20.js";
4
4
 
5
- import { L as r } from "./p-857866f8.js";
5
+ import { L as r } from "./p-311eedf3.js";
6
6
 
7
7
  /* objects in file metadata*/ const o = "object";
8
8
 
@@ -127,7 +127,7 @@ var f = undefined && undefined.__classPrivateFieldSet || function(t, e, i, s, a)
127
127
  return s === "a" ? a.call(t, i) : a ? a.value = i : e.set(t, i), i;
128
128
  };
129
129
 
130
- var m, p, u, b, g, w, k, y, _, v, x, M, W, j, C, T, S, I, $, E, D, F, L, H, O, R;
130
+ var m, p, u, b, g, w, k, y, v, _, x, M, W, j, C, T, S, I, $, E, D, F, L, H, O, R;
131
131
 
132
132
  const z = [ "resets/box-sizing", "components/button", "components/checkbox", "components/edit", "components/icon", "components/tree-view", "utils/form", "utils/layout", "utils/typography", "utils/spacing" ];
133
133
 
@@ -178,8 +178,8 @@ const X = class {
178
178
  y.set(this, new Set);
179
179
  // #categoryItemMap maps a category id, with the name and icon.
180
180
  // required for the "import status" tree.
181
- _.set(this, new Map);
182
- v.set(this, new Map);
181
+ v.set(this, new Map);
182
+ _.set(this, new Map);
183
183
  x.set(this, (() => {
184
184
  this.cancelCallback();
185
185
  }));
@@ -190,7 +190,8 @@ const X = class {
190
190
  this.statusInfo.success.number = 0;
191
191
  }));
192
192
  W.set(this, (() => {
193
- this.noImport = !!(this.importTreeState?.length === 0 || !this.importTreeState);
193
+ var t;
194
+ this.noImport = !!(((t = this.importTreeState) === null || t === void 0 ? void 0 : t.length) === 0 || !this.importTreeState);
194
195
  }));
195
196
  j.set(this, (() => {
196
197
  this.someStatusVisible = this.statusInfo.error.display || this.statusInfo.warning.display || this.statusInfo.success.display;
@@ -205,15 +206,15 @@ const X = class {
205
206
  }));
206
207
  T.set(this, (async t => {
207
208
  const e = await this.loadCallback(t);
208
- d(this, _, "f").clear();
209
209
  d(this, v, "f").clear();
210
+ d(this, _, "f").clear();
210
211
  e.forEach((t => {
211
- d(this, _, "f").set(t.id, {
212
+ d(this, v, "f").set(t.id, {
212
213
  name: t.name,
213
214
  icon: t.icon
214
215
  });
215
216
  t.items.forEach((e => {
216
- d(this, v, "f").set(e.id, t.id);
217
+ d(this, _, "f").set(e.id, t.id);
217
218
  }));
218
219
  }));
219
220
  const i = convertImportCategoryDataToTreeView(e);
@@ -269,9 +270,10 @@ const X = class {
269
270
  d(this, b, "f").click();
270
271
  }));
271
272
  L.set(this, (t => {
272
- const e = t.target;
273
- if (e.files?.length > 0) {
274
- this.selectedFile = e.files[0];
273
+ var e;
274
+ const i = t.target;
275
+ if (((e = i.files) === null || e === void 0 ? void 0 : e.length) > 0) {
276
+ this.selectedFile = i.files[0];
275
277
  }
276
278
  }));
277
279
  H.set(this, (t => {
@@ -408,11 +410,12 @@ const X = class {
408
410
  /**
409
411
  * Add the result of importing an item
410
412
  */ async addResultItem(t) {
411
- this.importTreeState = addImportItemResultDataItem(t, d(this, _, "f"), d(this, v, "f"), this.importTreeState);
413
+ this.importTreeState = addImportItemResultDataItem(t, d(this, v, "f"), d(this, _, "f"), this.importTreeState);
412
414
  this.statusInfo[t.status].number++;
413
415
  d(this, R, "f").call(this);
414
416
  }
415
417
  render() {
418
+ var t, e;
416
419
  return i(s, {
417
420
  class: "widget"
418
421
  }, i("ch-theme", {
@@ -436,7 +439,7 @@ const X = class {
436
439
  part: "file-name",
437
440
  type: "text",
438
441
  readonly: true,
439
- value: this.selectedFile?.name,
442
+ value: (t = this.selectedFile) === null || t === void 0 ? void 0 : t.name,
440
443
  placeholder: d(this, m, "f").header.fileNamePlaceholder,
441
444
  startImgSrc: N,
442
445
  ref: t => f(this, u, t, "f")
@@ -514,7 +517,7 @@ const X = class {
514
517
  id: "import-btn",
515
518
  class: "button-primary ",
516
519
  onClick: d(this, C, "f"),
517
- disabled: this.objectsTreeModel?.length === 0 || this.importingIsInProcess
520
+ disabled: ((e = this.objectsTreeModel) === null || e === void 0 ? void 0 : e.length) === 0 || this.importingIsInProcess
518
521
  }, d(this, m, "f").main.objectsInFile.importButton), i("button", {
519
522
  // cancel-import button
520
523
  id: "cancel-import-btn",
@@ -592,7 +595,7 @@ const X = class {
592
595
  };
593
596
 
594
597
  m = new WeakMap, p = new WeakMap, u = new WeakMap, b = new WeakMap, g = new WeakMap,
595
- w = new WeakMap, k = new WeakMap, y = new WeakMap, _ = new WeakMap, v = new WeakMap,
598
+ w = new WeakMap, k = new WeakMap, y = new WeakMap, v = new WeakMap, _ = new WeakMap,
596
599
  x = new WeakMap, M = new WeakMap, W = new WeakMap, j = new WeakMap, C = new WeakMap,
597
600
  T = new WeakMap, S = new WeakMap, I = new WeakMap, $ = new WeakMap, E = new WeakMap,
598
601
  D = new WeakMap, F = new WeakMap, L = new WeakMap, H = new WeakMap, O = new WeakMap,
@@ -601,4 +604,4 @@ R = new WeakMap;
601
604
  X.style = l;
602
605
 
603
606
  export { X as gx_ide_kb_manager_import };
604
- //# sourceMappingURL=p-66d9269a.entry.js.map
607
+ //# sourceMappingURL=p-4e943649.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["KB_OBJECT","KB_CATEGORY","STATUS_REGEXP_KEY","convertImportCategoryItemToTreeItem","importCatIcon","importItems","importTreeItems","forEach","importItem","push","id","caption","name","expanded","leaf","startImgSrc","metadata","convertImportCategoryDataToTreeView","importCategoryData","treeData","importCategory","importCategoryTreeItem","items","length","icon","createImportResultDataMessages","importItemId","messagesArray","status","messages","message","i","JSON","stringify","createImportResultItem","categoryData","importItemResultData","resultItemId","importResultItem","parts","addImportItemResultDataItem","categoryItemMap","objectCategoryItemMap","importTreeActualState","updatedImportTreeModel","objectCategoryId","get","categoryIndex","findIndex","treeItem","category","resultItem","newItemsLength","kbManagerImportCss","CSS_BUNDLES","NOTICE_ICON","getIconPath","colorType","FILE_ICON","GEMINI_TOOLS_SETTINGS","MENU_DELETE","CHECKBOX_ALL_CHECKED_VALUE","CHECKBOX_ALL_UNCHECKED_VALUE","GxIdeKbManagerImport","_GxIdeKbManagerImport_componentLocale","set","this","_GxIdeKbManagerImport_selectedObjectsInFileIds","_GxIdeKbManagerImport_fileInputEl","_GxIdeKbManagerImport_fileInputHiddenEl","_GxIdeKbManagerImport_objectsTreeEl","_GxIdeKbManagerImport_successItemsIds","Set","_GxIdeKbManagerImport_warningItemsIds","_GxIdeKbManagerImport_errorItemsIds","_GxIdeKbManagerImport_categoryItemMap","Map","_GxIdeKbManagerImport_objectCategoryItemMap","_GxIdeKbManagerImport_cancelImportHandler","cancelCallback","_GxIdeKbManagerImport_clearStatusHandler","importTreeState","statusInfo","error","number","warning","success","_GxIdeKbManagerImport_evaluateImport","noImport","_a","_GxIdeKbManagerImport_evaluateImportStatusMessage","someStatusVisible","display","_GxIdeKbManagerImport_importObjectsHandler","async","__classPrivateFieldGet","call","importingIsInProcess","importCallback","checkedObjectsIds","then","_GxIdeKbManagerImport_loadFileHandler","file","importedCategoryData","loadCallback","clear","object","importCategoryTreeData","objectsTreeModel","_GxIdeKbManagerImport_objectsTreeCheckedItemsChangedHandler","event","allItems","detail","checkedItemIds","item","checked","size","selectAllCheckboxValue","selectAllCheckboxIndeterminate","_GxIdeKbManagerImport_objectsTreeContextMenuHandler","objectContextMenuCallback","selection","clientX","contextmenuEvent","screenX","clientY","screenY","_GxIdeKbManagerImport_objectsTreeSelectedItemsChangedHandler","__classPrivateFieldSet","map","_GxIdeKbManagerImport_optionsHandler","optionsCallback","_GxIdeKbManagerImport_removeFileSelection","selectedFile","value","_GxIdeKbManagerImport_selectFileInputHandler","click","_GxIdeKbManagerImport_selectFileInputChangedHandler","target","files","_GxIdeKbManagerImport_statusButtonsSelectionChangedHandler","activeStates","statuses","errorIndex","state","itemId","warningIndex","successIndex","pattern","statusOptions","join","importedTreeFilterRegExp","RegExp","_GxIdeKbManagerImport_toggleSelectionClickHandler","updateAllItemsProperties","_GxIdeKbManagerImport_updateStatusItemsState","child","add","importTreeStateChanged","watchImportTreeStateHandler","importStatusMessage","main","importStatus","noImportedFiles","importedButHidden","watchObjectsTreeModelHandler","newState","noObjects","selectedFileChanged","newFile","componentDidLoad","focus","componentDidRender","componentWillLoad","Locale","getComponentStrings","el","componentDidLoadEvent","emit","addResultItem","render","h","Host","class","model","slot","htmlFor","header","fileNameLabel","autoFocus","part","type","readonly","placeholder","fileNamePlaceholder","ref","hidden","accept","onChange","removeFileSelection","title","onClick","src","disabled","selectFileButton","objectsInFile","showLines","dragDisabled","dropDisabled","toggleCheckboxes","checkbox","onCheckedItemsChange","onSelectedItemsChange","onItemContextmenu","isAnimated","stateTitle","key","selectFile","checkedValue","unCheckedValue","selectUnselect","onInput","_b","importButton","cancelButton","filter","filterType","filterOptions","autoExpand","hideMatchesAndShowNonMatches","stateIconSrc","clearButton","errors","warnings","successes","hideMessage","compact","minimal","statusMinimal","onSelectionChanged"],"sources":["src/components/kb-manager-import/helpers.ts","src/components/kb-manager-import/kb-manager-import.scss?tag=gx-ide-kb-manager-import&encapsulation=shadow","src/components/kb-manager-import/kb-manager-import.tsx"],"sourcesContent":["/* Tree View */\nimport {\n TreeViewItemModel,\n TreeViewModel\n} from \"@genexus/chameleon-controls-library\";\n\n/* Kb Manager Import Types*/\nimport {\n ImportItemData,\n CategoryItemMap,\n CategoryItemMapValue,\n ObjectCategoryItemMap,\n Status\n} from \"./kb-manager-import\";\nimport { ImportCategoryData, ImportItemResultData } from \"../../common/types\";\n\n/* objects in file metadata*/\nexport const KB_OBJECT = \"object\";\nexport const KB_CATEGORY = \"category\";\n\nexport const STATUS_REGEXP_KEY = \"status\";\n\n// - - - - - - - - - - - - - - - - -\n// Objects In File Tree Model\n// - - - - - - - - - - - - - - - - -\n\nconst convertImportCategoryItemToTreeItem = (\n importCatIcon: string,\n importItems: ImportItemData[]\n) => {\n const importTreeItems: TreeViewItemModel[] = [];\n importItems.forEach(importItem => {\n importTreeItems.push({\n id: importItem.id,\n caption: importItem.name,\n expanded: true,\n leaf: true,\n startImgSrc: importCatIcon,\n metadata: KB_OBJECT\n });\n });\n return importTreeItems;\n};\n\nexport const convertImportCategoryDataToTreeView = (\n importCategoryData: ImportCategoryData[]\n): TreeViewModel => {\n const treeData: TreeViewModel = [];\n if (!importCategoryData) {\n return treeData;\n }\n importCategoryData.forEach(importCategory => {\n const importCategoryTreeItem: TreeViewItemModel = {\n id: importCategory.id,\n caption: `${importCategory.name} (${importCategory.items.length})`,\n expanded: true,\n leaf: false,\n startImgSrc: importCategory.icon,\n metadata: KB_CATEGORY,\n items: convertImportCategoryItemToTreeItem(\n importCategory.icon,\n importCategory.items\n )\n };\n treeData.push(importCategoryTreeItem);\n });\n return treeData;\n};\n\n// - - - - - - - - - - - - - - - - -\n// Import Status Tree Model\n// - - - - - - - - - - - - - - - - -\n\nconst createImportResultDataMessages = (\n importItemId: string,\n messagesArray: string[],\n status: Status\n): TreeViewItemModel[] => {\n const messages: TreeViewItemModel[] = [];\n messagesArray.forEach((message, i) => {\n messages.push({\n id: `${importItemId}-message-${i}`,\n caption: message,\n startImgSrc: \"gemini-tools/list-view/on-surface\",\n leaf: true,\n metadata: JSON.stringify({\n [STATUS_REGEXP_KEY]: status\n })\n });\n });\n return messages;\n};\n\nconst createImportResultItem = (\n categoryData: CategoryItemMapValue,\n importItemResultData: ImportItemResultData\n): TreeViewItemModel => {\n const resultItemId = `${importItemResultData.id}-${importItemResultData.name}`;\n const importResultItem: TreeViewItemModel = {\n id: resultItemId,\n startImgSrc: categoryData.icon,\n caption: importItemResultData.name,\n parts: `tree-view-item tree-view-item--status tree-view-item--${importItemResultData.status}`,\n expanded: true,\n leaf: importItemResultData.messages.length === 0,\n metadata: JSON.stringify({\n [STATUS_REGEXP_KEY]: importItemResultData.status\n }),\n items: createImportResultDataMessages(\n resultItemId,\n importItemResultData.messages,\n importItemResultData.status\n )\n };\n return importResultItem;\n};\n\n// This functions updates the \"Import Status\" model, by adding a new result item.\nexport const addImportItemResultDataItem = (\n importItemResultData: ImportItemResultData,\n categoryItemMap: CategoryItemMap,\n objectCategoryItemMap: ObjectCategoryItemMap,\n importTreeActualState: TreeViewItemModel[]\n) => {\n const updatedImportTreeModel: TreeViewModel = [...importTreeActualState];\n\n // Use the resultItem.id to find the corresponding category in the categoryMap\n const objectCategoryId = objectCategoryItemMap.get(importItemResultData.id);\n const categoryData = categoryItemMap.get(objectCategoryId);\n\n const categoryIndex: number = updatedImportTreeModel.findIndex(\n treeItem => treeItem.id === objectCategoryId\n );\n\n if (categoryIndex === -1) {\n // category does not exists yet.\n const category: TreeViewItemModel = {\n id: objectCategoryId,\n caption: `${categoryData.name} (1)`,\n startImgSrc: `${categoryData.icon}`,\n expanded: true,\n items: [createImportResultItem(categoryData, importItemResultData)]\n };\n\n updatedImportTreeModel.push(category);\n return updatedImportTreeModel;\n }\n\n // else category already exists. Just insert the result item in the category.\n const resultItem: TreeViewItemModel = createImportResultItem(\n categoryData,\n importItemResultData\n );\n updatedImportTreeModel[categoryIndex].items = [\n ...updatedImportTreeModel[categoryIndex].items,\n resultItem\n ];\n\n // update category caption length\n const newItemsLength = updatedImportTreeModel[categoryIndex].items.length;\n updatedImportTreeModel[\n categoryIndex\n ].caption = `${categoryData.name} (${newItemsLength})`;\n\n return updatedImportTreeModel;\n};\n","@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: grid;\n block-size: 100%;\n grid-template:\n \"header header\" max-content\n \"objects-in-file import-status\" 1fr\n \"footer footer\" max-content;\n grid-template-columns: 1fr 1fr;\n}\n\n.section {\n display: contents;\n}\n\n// header\n.header {\n grid-template-columns: 1fr max-content;\n grid-area: header;\n}\n\n// objects in file\n.objects-in-file__section {\n grid-area: objects-in-file;\n}\n.objects-in-file__main {\n border-inline-end: var(--section-common-border);\n grid-template-rows: 1fr max-content;\n}\n.objects-in-file__footer {\n display: grid;\n}\n\n// import status\n.import-status__section {\n grid-area: import-status;\n}\n.import-status__main {\n grid-template-rows: 1fr max-content;\n}\n.import-status__footer {\n display: flex;\n}\n.import-clear-status-btn {\n margin-inline-start: auto;\n}\n\n// objects in file & import status\n.objects-in-file__section,\n.import-status__section {\n display: grid;\n grid-template-rows: max-content 1fr;\n}\n.control-header__objects-in-file,\n.control-header__import-status {\n padding-block-start: var(--mer-spacing--md);\n}\n.objects-in-file__main,\n.import-status__main {\n grid-auto-rows: max-content;\n padding-block: var(--content-block-spacing);\n overflow: auto;\n}\n\n// footer\n.footer {\n display: flex;\n grid-area: footer;\n border-block-start: var(--section-common-border);\n}\n\n// WA / TODO: Add a helper class in Mercury to justify text.\n.text-align-center {\n text-align: center; // should be resolved on mercury\n}\n\n.tree-view::part(item__action tree-view-item--status) {\n grid-template: \"first-img left-img text right-img\" / max-content max-content 1fr max-content;\n &::before {\n grid-area: first-img;\n content: \"\";\n width: var(--mer-spacing--xs);\n height: var(--mer-spacing--xs);\n border-radius: 50%;\n background-color: var(--gray-03);\n margin-inline-end: var(--mer-spacing--xxs);\n }\n}\n\n.tree-view::part(item__action tree-view-item--success) {\n @include tree-item-status(\"success\");\n}\n.tree-view::part(item__action tree-view-item--warning) {\n @include tree-item-status(\"warning\");\n}\n.tree-view::part(item__action tree-view-item--error) {\n @include tree-item-status(\"error\");\n}\n","import {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n h,\n Method,\n Prop,\n State,\n Watch\n} from \"@stencil/core\";\n\nimport {\n ChCheckboxCustomEvent,\n // ChEditCustomEvent,\n TreeViewItemContextMenu\n} from \"@genexus/chameleon-controls-library\";\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\nimport { TreeViewItemModelExtended } from \"@genexus/chameleon-controls-library\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../common/locale\";\n\nimport {\n ImportCategoryData,\n ImportItemResultData,\n ContextMenuInfo\n} from \"../../common/types\";\nimport {\n convertImportCategoryDataToTreeView,\n addImportItemResultDataItem\n} from \"./helpers\";\nimport { CheckedItemsInfo } from \"../_helpers/list-selector/list-selector\";\n\nimport { KB_OBJECT, STATUS_REGEXP_KEY } from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/checkbox\",\n \"components/edit\",\n \"components/icon\",\n \"components/tree-view\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\"\n];\n\nconst NOTICE_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"notice\",\n colorType: \"on-elevation\"\n});\n\nconst FILE_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"file\",\n colorType: \"primary\"\n});\n\nconst GEMINI_TOOLS_SETTINGS = getIconPath({\n category: \"gemini-tools\",\n name: \"settings\",\n colorType: \"primary\"\n});\n\nconst MENU_DELETE = getIconPath({\n category: \"menus\",\n name: \"delete\",\n colorType: \"primary\"\n});\n\nconst CHECKBOX_ALL_CHECKED_VALUE = \"allChecked\";\nconst CHECKBOX_ALL_UNCHECKED_VALUE = \"allUnchecked\";\n\n@Component({\n tag: \"gx-ide-kb-manager-import\",\n styleUrl: \"kb-manager-import.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/kb-manager-import\"]\n})\nexport class GxIdeKbManagerImport {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n\n #selectedObjectsInFileIds: string[] = [];\n\n @Element() el: HTMLGxIdeKbManagerImportElement;\n\n #fileInputEl!: HTMLChEditElement;\n #fileInputHiddenEl!: HTMLInputElement;\n #objectsTreeEl!: HTMLChTreeViewRenderElement;\n #successItemsIds: Set<string> = new Set();\n #warningItemsIds: Set<string> = new Set();\n #errorItemsIds: Set<string> = new Set();\n // #categoryItemMap maps a category id, with the name and icon.\n // required for the \"import status\" tree.\n #categoryItemMap: CategoryItemMap = new Map();\n #objectCategoryItemMap: ObjectCategoryItemMap = new Map();\n\n @State() checkedObjectsIds: string[] = [];\n @State() selectAllCheckboxValue: string;\n @State() selectAllCheckboxIndeterminate: boolean = false;\n @State() importStatusMessage: string;\n @State() importTreeState: TreeViewItemModel[] = [];\n @State() importedTreeFilterRegExp: RegExp;\n @Watch(\"importTreeState\")\n importTreeStateChanged() {\n // this.#filterImportedHandler();\n }\n @State() importingIsInProcess = false;\n @State() importTreeFilterList: string[] = [];\n @State() noImport: boolean;\n @State() noObjects: boolean = true;\n @State() objectsTreeModel: TreeViewItemModel[] = [];\n @State() showHiddenImportsMessage = false;\n @State() someStatusVisible: boolean;\n @State() statusInfo: StatusInfo = {\n error: {\n display: true,\n number: 0\n },\n warning: {\n display: true,\n number: 0\n },\n success: {\n display: true,\n number: 0\n }\n };\n\n @Watch(\"importTreeState\")\n watchImportTreeStateHandler() {\n this.#evaluateImport();\n if (this.noImport) {\n this.importStatusMessage =\n this.#componentLocale.main.importStatus.noImportedFiles;\n } else {\n this.importStatusMessage =\n this.#componentLocale.main.importStatus.importedButHidden;\n }\n }\n @Watch(\"objectsTreeModel\")\n watchObjectsTreeModelHandler(newState: TreeViewItemModel[]) {\n this.noObjects = !newState || newState.length === 0;\n }\n\n /**\n * Callback invoked when user wants to cancel the export process.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n * Callback invoked when user wants to initiate the import process.\n */\n @Prop() readonly importCallback!: ImportCallback;\n\n /**\n * Callback invoked when user wants to load the xpz information\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * Displays status buttons (errors, warning, succeeded) with minimal UI (no captions)\n */\n @Prop() readonly objectContextMenuCallback!: ObjectContextMenuCallback;\n\n /**\n * Callback invoked when user wants to access the export options.\n */\n @Prop() readonly optionsCallback!: OptionsCallback;\n\n /**\n * Imported xml or xps file name\n */\n @Prop({ mutable: true }) selectedFile: File;\n @Watch(\"selectedFile\")\n selectedFileChanged(newFile: File) {\n if (newFile) {\n this.#loadFileHandler(newFile);\n }\n }\n\n /**\n * Displays status buttons (error, warning, success) with minimal UI (no captions).\n */\n @Prop() readonly statusMinimal = false;\n\n /**\n * Emitted once just after the component is fully loaded.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n /**\n * Emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n componentDidLoad() {\n this.#fileInputEl.focus();\n }\n\n componentDidRender() {}\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n // this.#evaluateObjects();\n this.#evaluateImport();\n this.importStatusMessage =\n this.#componentLocale.main.importStatus.noImportedFiles;\n this.#evaluateImportStatusMessage();\n }\n\n /**\n * Add the result of importing an item\n */\n @Method()\n async addResultItem(item: ImportItemResultData) {\n this.importTreeState = addImportItemResultDataItem(\n item,\n this.#categoryItemMap,\n this.#objectCategoryItemMap,\n this.importTreeState\n );\n this.statusInfo[item.status].number++;\n this.#updateStatusItemsState();\n }\n\n #cancelImportHandler = () => {\n this.cancelCallback();\n };\n\n #clearStatusHandler = () => {\n this.importTreeState = [];\n this.statusInfo.error.number = 0;\n this.statusInfo.warning.number = 0;\n this.statusInfo.success.number = 0;\n };\n\n #evaluateImport = () => {\n this.noImport = !!(\n this.importTreeState?.length === 0 || !this.importTreeState\n );\n };\n\n #evaluateImportStatusMessage = () => {\n this.someStatusVisible =\n this.statusInfo.error.display ||\n this.statusInfo.warning.display ||\n this.statusInfo.success.display;\n };\n\n #importObjectsHandler = async () => {\n /* first clear imported objects (this clears errors/warnings/success counts as well)*/\n this.#clearStatusHandler();\n /* then do the import*/\n this.importingIsInProcess = true;\n this.importCallback(this.checkedObjectsIds).then(() => {\n this.importingIsInProcess = false;\n });\n };\n\n #loadFileHandler = async (file: File) => {\n const importedCategoryData = await this.loadCallback(file);\n this.#categoryItemMap.clear();\n this.#objectCategoryItemMap.clear();\n\n importedCategoryData.forEach(category => {\n this.#categoryItemMap.set(category.id, {\n name: category.name,\n icon: category.icon\n });\n category.items.forEach(object => {\n this.#objectCategoryItemMap.set(object.id, category.id);\n });\n });\n\n const importCategoryTreeData =\n convertImportCategoryDataToTreeView(importedCategoryData);\n this.objectsTreeModel = importCategoryTreeData;\n };\n\n #objectsTreeCheckedItemsChangedHandler = (\n event: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n const allItems = event.detail;\n const checkedItemIds: string[] = [];\n const checkedObjectsIds: string[] = [];\n allItems.forEach(item => {\n if (item.item.checked) {\n checkedItemIds.push(item.item.id);\n }\n if (item.item.checked && item.item.metadata === KB_OBJECT) {\n checkedObjectsIds.push(item.item.id);\n }\n });\n this.checkedObjectsIds = checkedObjectsIds;\n\n // Evaluate \"Select All / Unselect All\" checkbox state\n if (allItems.size === checkedItemIds.length) {\n this.selectAllCheckboxValue = CHECKBOX_ALL_CHECKED_VALUE;\n this.selectAllCheckboxIndeterminate = false;\n } else if (checkedItemIds.length === 0) {\n this.selectAllCheckboxValue = CHECKBOX_ALL_UNCHECKED_VALUE;\n this.selectAllCheckboxIndeterminate = false;\n } else {\n this.selectAllCheckboxIndeterminate = true;\n }\n };\n\n #objectsTreeContextMenuHandler = (\n event: CustomEvent<TreeViewItemContextMenu>\n ) => {\n if (event.detail.metadata === KB_OBJECT) {\n this.objectContextMenuCallback(\"imported\", {\n selection: this.#selectedObjectsInFileIds,\n clientX: event.detail.contextmenuEvent.screenX,\n clientY: event.detail.contextmenuEvent.screenY\n });\n }\n };\n\n #objectsTreeSelectedItemsChangedHandler = (\n event: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n this.#selectedObjectsInFileIds = event.detail.map(item => item.item.id);\n };\n\n #optionsHandler = () => {\n if (this.optionsCallback) {\n this.optionsCallback();\n // returns boolean\n }\n };\n\n #removeFileSelection = () => {\n this.selectedFile = null;\n this.#fileInputHiddenEl.value = null;\n };\n\n #selectFileInputHandler = () => {\n this.#fileInputHiddenEl.click();\n };\n\n #selectFileInputChangedHandler = (event: InputEvent) => {\n const target = event.target as HTMLInputElement;\n if (target.files?.length > 0) {\n this.selectedFile = target.files[0];\n }\n };\n\n #statusButtonsSelectionChangedHandler = (\n event: CustomEvent<CheckedItemsInfo>\n ) => {\n const activeStates = event.detail;\n const statuses: Status[] = [];\n\n const errorIndex = activeStates.findIndex(\n state => state.itemId === \"errors\"\n );\n const warningIndex = activeStates.findIndex(\n state => state.itemId === \"warnings\"\n );\n const successIndex = activeStates.findIndex(\n state => state.itemId === \"successes\"\n );\n\n if (errorIndex !== -1) {\n statuses.push(\"error\");\n }\n if (warningIndex !== -1) {\n statuses.push(\"warning\");\n }\n if (successIndex !== -1) {\n statuses.push(\"success\");\n }\n\n let pattern = `\"${STATUS_REGEXP_KEY}\":\"\"`;\n if (statuses.length) {\n const statusOptions = statuses.join(\"|\");\n pattern = `\"${STATUS_REGEXP_KEY}\":\"(${statusOptions})\"`;\n }\n this.importedTreeFilterRegExp = new RegExp(pattern, \"i\");\n\n // Update statusInfo for the status-buttons\n this.statusInfo = {\n error: {\n display: errorIndex !== -1,\n number: this.statusInfo.error.number\n },\n warning: {\n display: warningIndex !== -1,\n number: this.statusInfo.warning.number\n },\n success: {\n display: successIndex !== -1,\n number: this.statusInfo.success.number\n }\n };\n\n this.#evaluateImportStatusMessage();\n };\n\n #toggleSelectionClickHandler = (\n event: ChCheckboxCustomEvent<any> | InputEvent\n ) => {\n if (this.#objectsTreeEl) {\n const checked = event.detail === CHECKBOX_ALL_CHECKED_VALUE;\n this.#objectsTreeEl.updateAllItemsProperties({ checked: checked });\n }\n };\n\n #updateStatusItemsState = () => {\n this.#errorItemsIds.clear();\n this.#warningItemsIds.clear();\n this.#successItemsIds.clear();\n this.importTreeState.forEach(item => {\n const items = item.items;\n items.forEach(child => {\n if (child.metadata === \"error\") {\n this.#errorItemsIds.add(child.id);\n }\n if (child.metadata === \"warning\") {\n this.#warningItemsIds.add(child.id);\n }\n if (child.metadata === \"success\") {\n this.#successItemsIds.add(child.id);\n }\n });\n });\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <section class=\"section\">\n <header\n // header\n class=\"field-group control-header-with-border header header-two-cols spacing-body-block-start spacing-body-inline\"\n slot=\"header\"\n >\n <div\n // select a file\n class=\"field field-inline\"\n >\n <label class=\"label\" htmlFor=\"file-name\">\n {this.#componentLocale.header.fileNameLabel}\n </label>\n <ch-edit\n autoFocus\n id=\"file-name\"\n class=\"input\"\n part=\"file-name\"\n type=\"text\"\n readonly\n value={this.selectedFile?.name}\n placeholder={this.#componentLocale.header.fileNamePlaceholder}\n startImgSrc={FILE_ICON}\n ref={(el: HTMLChEditElement) =>\n (this.#fileInputEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n <input\n hidden\n type=\"file\"\n accept=\".xpz, .xml\"\n onChange={this.#selectFileInputChangedHandler}\n ref={(el: HTMLInputElement) =>\n (this.#fileInputHiddenEl = el as HTMLInputElement)\n }\n />\n </div>\n\n <div class=\"buttons-spacer\">\n <button\n // remove file selection\n aria-label={this.#componentLocale.header.removeFileSelection}\n title={this.#componentLocale.header.removeFileSelection}\n id=\"reset-all-button\"\n class=\"button-tertiary button-icon-only\"\n part=\"reset-all-button\"\n onClick={this.#removeFileSelection}\n >\n <ch-image class=\"icon-md\" src={MENU_DELETE}></ch-image>\n </button>\n\n <button\n // select file\n id=\"select-file-load-button\"\n class=\"button-primary\"\n part=\"select-file-load-button\"\n onClick={this.#selectFileInputHandler}\n disabled={this.importingIsInProcess}\n >\n {this.#componentLocale.header.selectFileButton}\n </button>\n </div>\n </header>\n\n <section\n // objects in file\n class=\"objects-in-file__section\"\n >\n <h2 class=\"control-header control-header-with-border control-header__objects-in-file subtitle-regular-xs\t text-align-center spacing-body-inline\">\n {this.#componentLocale.main.objectsInFile.title}\n </h2>\n\n <div class=\"field-group objects-in-file__main\">\n {!this.noObjects ? (\n <ch-tree-view-render\n // objects in file tree\n showLines=\"last\"\n class=\"tree-view\"\n model={this.objectsTreeModel}\n dragDisabled={true}\n dropDisabled={true}\n toggleCheckboxes={true}\n checkbox={true}\n checked={true}\n onCheckedItemsChange={\n this.#objectsTreeCheckedItemsChangedHandler\n }\n onSelectedItemsChange={\n this.#objectsTreeSelectedItemsChangedHandler\n }\n onItemContextmenu={this.#objectsTreeContextMenuHandler}\n ref={el =>\n (this.#objectsTreeEl = el as HTMLChTreeViewRenderElement)\n }\n ></ch-tree-view-render>\n ) : (\n <gx-ide-empty-state\n isAnimated={false}\n stateTitle={\n this.#componentLocale.main.objectsInFile.noObjects\n }\n key=\"no-objects-empty-state\"\n >\n <button\n // begin by selecting a file\n class=\"button-secondary\"\n onClick={this.#selectFileInputHandler}\n >\n {this.#componentLocale.main.objectsInFile.selectFile}\n </button>\n </gx-ide-empty-state>\n )}\n\n <footer class=\"field-group objects-in-file__footer spacing-body-inline\">\n <ch-checkbox\n // select all / unselect all checkbox\n id=\"select-all-checkbox\"\n class=\"checkbox create-data-in-kb\"\n checkedValue={CHECKBOX_ALL_CHECKED_VALUE}\n unCheckedValue={CHECKBOX_ALL_UNCHECKED_VALUE}\n caption={\n this.#componentLocale.main.objectsInFile.selectUnselect\n }\n value={this.selectAllCheckboxValue}\n onInput={this.#toggleSelectionClickHandler}\n disabled={\n this.importingIsInProcess ||\n this.objectsTreeModel.length === 0\n }\n part=\"select-all-checkbox\"\n ></ch-checkbox>\n\n <div class=\"buttons-spacer\">\n <button\n // import objects button\n id=\"import-btn\"\n class=\"button-primary \"\n onClick={this.#importObjectsHandler}\n disabled={\n this.objectsTreeModel?.length === 0 ||\n this.importingIsInProcess\n }\n >\n {this.#componentLocale.main.objectsInFile.importButton}\n </button>\n\n <button\n // cancel-import button\n id=\"cancel-import-btn\"\n class=\"button-secondary \"\n onClick={this.#cancelImportHandler}\n disabled={!this.importingIsInProcess}\n part=\"cancel-import-button\"\n >\n {this.#componentLocale.main.objectsInFile.cancelButton}\n </button>\n\n <button\n // settings/options button\n id=\"select-kb-btn\"\n class=\"button-tertiary button-icon-only\"\n part=\"select-kb-btn\"\n onClick={this.#optionsHandler}\n >\n <ch-image\n class=\"icon-md\"\n src={GEMINI_TOOLS_SETTINGS}\n ></ch-image>\n </button>\n </div>\n </footer>\n </div>\n </section>\n\n <section\n // import status\n class=\"import-status__section\"\n >\n <h2 class=\"control-header control-header-with-border control-header__import-status subtitle-regular-xs\t text-align-center spacing-body-inline\">\n {this.#componentLocale.main.importStatus.title}\n </h2>\n\n <div class=\"field-group import-status__main\">\n {!this.noImport && this.someStatusVisible ? (\n <ch-tree-view-render\n // import status tree\n model={this.importTreeState}\n toggleCheckboxes={true}\n showLines=\"last\"\n class=\"tree-view\"\n filter={this.importedTreeFilterRegExp}\n filterType=\"metadata\"\n filterOptions={{\n autoExpand: true,\n hideMatchesAndShowNonMatches: false\n }}\n ></ch-tree-view-render>\n ) : (\n <gx-ide-empty-state\n isAnimated={false}\n stateIconSrc={NOTICE_ICON}\n stateTitle={this.importStatusMessage}\n key=\"no-objects-empty-state\"\n ></gx-ide-empty-state>\n )}\n\n <footer class=\"import-status__footer spacing-body-inline\">\n <button\n // clear status button\n class=\"button-secondary import-clear-status-btn\"\n onClick={this.#clearStatusHandler}\n disabled={this.noImport || this.importingIsInProcess}\n part=\"clear-status-btn\"\n >\n {this.#componentLocale.main.importStatus.clearButton}\n </button>\n </footer>\n </div>\n </section>\n\n <footer\n // footer\n class=\"footer\"\n >\n <gx-ide-status-buttons\n errors={this.statusInfo.error.number}\n warnings={this.statusInfo.warning.number}\n successes={this.statusInfo.success.number}\n hideMessage\n compact\n minimal={this.statusMinimal}\n onSelectionChanged={this.#statusButtonsSelectionChangedHandler}\n ></gx-ide-status-buttons>\n </footer>\n </section>\n </Host>\n );\n }\n}\nexport type CancelCallback = () => Promise<boolean>;\n\nexport type ImportCallback = (itemIds: string[]) => Promise<boolean>;\n\nexport type ImportItemData = {\n id: string;\n name: string;\n};\n\nexport type LoadCallback = (file: File) => Promise<ImportCategoryData[]>;\n\nexport type ObjectContextMenuCallback = (\n tree: ObjectsSourceType,\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\n\nexport type ObjectsSourceType = \"in-file\" | \"imported\";\n\nexport type OptionsCallback = () => Promise<void>;\n\nexport interface SelectedObject {\n itemId: string;\n subItemsIds: string[];\n}\n\nexport type StatusItemsState = {\n error: string[];\n warning: string[];\n success: string[];\n};\n\ntype StatusInfo = {\n error: {\n display: boolean;\n number: number;\n };\n warning: {\n display: boolean;\n number: number;\n };\n success: {\n display: boolean;\n number: number;\n };\n};\n\nexport type CategoryItemMap = Map<string, CategoryItemMapValue>;\nexport type CategoryItemMapValue = { name: string; icon: string };\nexport type ObjectCategoryItemMap = Map<string, string>;\nexport type Status = \"success\" | \"error\" | \"warning\";\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { r as t, g as e, h as i, H as s, a } from "./p-25a9f1d7.js";
2
2
 
3
- import { L as n } from "./p-857866f8.js";
3
+ import { L as n } from "./p-311eedf3.js";
4
4
 
5
5
  import { c as r } from "./p-13738332.js";
6
6
 
@@ -89,13 +89,14 @@ const F = class {
89
89
  }
90
90
  }));
91
91
  _.set(this, (() => {
92
+ var t, e, i;
92
93
  this.objects = [];
93
- const t = {
94
- pattern: c(this, g, "f")?.value,
95
- object: c(this, m, "f")?.value?.id
94
+ const s = {
95
+ pattern: (t = c(this, g, "f")) === null || t === void 0 ? void 0 : t.value,
96
+ object: (i = (e = c(this, m, "f")) === null || e === void 0 ? void 0 : e.value) === null || i === void 0 ? void 0 : i.id
96
97
  };
97
98
  this.loading = true;
98
- this.loadItemsCallback(t).then((t => {
99
+ this.loadItemsCallback(s).then((t => {
99
100
  if (t.length) {
100
101
  this.objects = c(this, D, "f").call(this, t);
101
102
  h(this, d, this.objects[0].id, "f");
@@ -340,4 +341,4 @@ D = new WeakMap;
340
341
  F.style = l;
341
342
 
342
343
  export { F as gx_ide_data_selector };
343
- //# sourceMappingURL=p-ec01c70c.entry.js.map
344
+ //# sourceMappingURL=p-67e0b419.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["dataSelectorCss","CSS_BUNDLES","FILTER_ICON","getIconPath","category","name","colorType","GxIdeDataSelector","_GxIdeDataSelector_firstGridObjectId","set","this","_GxIdeDataSelector_loadItemsCallbackJustCalled","_GxIdeDataSelector_componentLocale","_GxIdeDataSelector_animateEmptyState","_GxIdeDataSelector_shortcutsSrc","getAssetPath","_GxIdeDataSelector_filterPatternEl","_GxIdeDataSelector_filterObjectEl","_GxIdeDataSelector_chShortcutsEl","_GxIdeDataSelector_chTabularGridObjectsEl","_GxIdeDataSelector_evaluateFirstRowSelection","__classPrivateFieldGet","selectRow","__classPrivateFieldSet","_GxIdeDataSelector_chGridKeyDownHandler","e","key","_GxIdeDataSelector_confirmCallbackHandler","call","stopPropagation","confirmCallback","selectedObjectsIds","_GxIdeDataSelector_editCallbackHandler","async","result","editCallback","_GxIdeDataSelector_refreshUIWithNewConfiguration","_GxIdeDataSelector_hostKeyPressHandler","_GxIdeDataSelector_objectsSelectionChangedHandler","event","detail","rowsId","_GxIdeDataSelector_newVariableCallbackHandler","response","newVariableCallback","objects","filters","pattern","_a","value","object","_c","_b","id","loading","loadItemsCallback","then","items","length","_GxIdeDataSelector_sortObjectsByName","_GxIdeDataSelector_renderFilter","h","class","htmlFor","filter","autoFocus","part","debounce","config","inputDebounce","onInput","ref","el","defaultModule","defaultValue","selectEntityCallback","selectObjectCallback","onValueChanged","_GxIdeDataSelector_renderObjects","gridIsEmpty","displayLoader","loader","data","rowSelectionMode","selectionType","onKeyDown","onSelectionChanged","undefined","settingable","size","tabularGrid","colSize","maxContent","tableHead","common","dataType","description","map","obj","rowid","onDblClick","src","type","loaderTitle","title","show","isAnimated","stateIconSrc","stateTitle","emptyState","_GxIdeDataSelector_renderEditButtons","newVariableButtonEnabled","editButtonEnabled","disabled","onClick","footer","btnNew","btnEdit","sort","a","b","nameA","toLowerCase","nameB","componentWillLoad","Locale","getComponentStrings","connectedCallback","componentDidLoad","focus","componentDidRender","suspendShortcuts","suspend","validate","isValid","render","okButtonEnabled","footerJustifySpaceBetween","Host","onKeyPress","model","cancelCallback","btnCancel","btnConfirm"],"sources":["src/components/data-selector/data-selector.scss?tag=gx-ide-data-selector&encapsulation=shadow","src/components/data-selector/data-selector.tsx"],"sourcesContent":["@import \"../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\"; // for the tabular-grid-cell-layout mixin\n\n:host {\n display: grid;\n grid-template-rows: max-content 1fr max-content;\n overflow: auto;\n block-size: 100%;\n}\n\n.section {\n display: contents;\n}\n\n.header__field-group {\n display: grid;\n grid-template-columns: 1fr 1fr;\n}\n\n.tabular-grid {\n contain: size;\n}\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".data\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-apply-ellipsis: true,\n $tabular-grid-affected-columns-nth-list: (\n 2,\n 3,\n 4\n )\n);\n\nch-tabular-grid.empty-result::part(main) {\n // WA to avoid scrollbar flickering when displaying the empty-state message\n overflow: hidden;\n}\nch-tabular-grid-rowset-empty {\n // to make the loader be positioned relative to 'ch-tabular-grid-rowset-empty'\n position: relative;\n}\n","/* eslint-disable @stencil-community/own-props-must-be-private */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Method,\n getAssetPath,\n JSX\n} from \"@stencil/core\";\n\nimport { Locale } from \"../../common/locale\";\n\nimport { config } from \"../../common/config\";\nimport { EntityData } from \"../../common/types\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport { TabularGridSelectionChangedEvent } from \"@genexus/chameleon-controls-library\";\n\n// Best performance bundle\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/edit\",\n \"components/tabular-grid\",\n \"components/icon\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-elevation\"\n});\n\n@Component({\n tag: \"gx-ide-data-selector\",\n styleUrl: \"data-selector.scss\",\n shadow: { delegatesFocus: true },\n assetsDirs: [\"gx-ide-assets/data-selector\"]\n})\nexport class GxIdeDataSelector {\n #firstGridObjectId: string; // used to select the first item after \"loadItemsCallback\"\n #loadItemsCallbackJustCalled: boolean = false; // used to select the first item after \"loadItemsCallback\"\n\n #componentLocale: any;\n #animateEmptyState: boolean = false;\n #shortcutsSrc = getAssetPath(`./gx-ide-assets/data-selector/shortcuts.json`);\n /* References needed to collect data */\n #filterPatternEl!: HTMLChEditElement;\n #filterObjectEl!: HTMLGxIdeEntitySelectorElement;\n #chShortcutsEl: HTMLChShortcutsElement;\n #chTabularGridObjectsEl: HTMLChTabularGridElement;\n\n @Element() el: HTMLGxIdeDataSelectorElement;\n\n /**\n * True if loadItemsCallback has been called and has not been resolved yet.\n */\n @State() loading: boolean = true;\n\n /**\n * The objects rendered in the table\n */\n @State() objects: ItemData[] = [];\n\n /**\n * The selected objects in the table of objects\n */\n @State() selectedObjectsIds: string[] = [];\n\n /**\n * Callback invoked when the user wishes to cancel the selection of objects.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n * Callback invoked when the user presses the 'OK' button\n */\n @Prop() readonly confirmCallback!: ConfirmCallback;\n\n /**\n * The default value for the module/folder filter\n */\n @Prop() readonly defaultModule: EntityData;\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Callback invoked when user presses the edit button. Receives the first\n * selected element id as a parameter.\n */\n @Prop() readonly editCallback: EditCallback;\n\n /**\n * Callback invoked when the component needs to reload the list of attributes.\n */\n @Prop() readonly loadItemsCallback!: LoadItemsCallback;\n\n /**\n * If true, it will display a loader when needed.\n */\n @Prop() readonly loader = false;\n\n /**\n * Callback invoked when the user presses the 'New' button.\n */\n @Prop() readonly newVariableCallback: NewVariableCallback;\n\n /**\n * Callback invoked when the action is executed in the Object filter. It returns\n * the information of the selected object (id and name) or 'undefined' if it was\n * canceled.\n */\n @Prop() readonly selectObjectCallback: SelectObjectCallback;\n\n /**\n * Single if multiple object selection is not allowed. Default is multiple\n */\n @Prop() readonly selectionType: \"single\" | \"multiple\" = \"multiple\";\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n connectedCallback() {\n this.#refreshUIWithNewConfiguration();\n }\n\n componentDidLoad() {\n this.#filterPatternEl.focus();\n }\n\n componentDidRender() {\n this.#evaluateFirstRowSelection();\n }\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n /**\n * Validate necessary data input\n */\n @Method()\n async validate(): Promise<boolean> {\n const isValid = true;\n return isValid;\n }\n\n /**\n * After items have been loaded and rendered, the first row should be selected.\n */\n #evaluateFirstRowSelection = () => {\n if (this.#loadItemsCallbackJustCalled) {\n this.#chTabularGridObjectsEl.selectRow(this.#firstGridObjectId);\n }\n this.#loadItemsCallbackJustCalled = false;\n };\n\n #chGridKeyDownHandler = (e: KeyboardEvent) => {\n if (e.key === \"Enter\") {\n this.#confirmCallbackHandler(e);\n }\n };\n\n #confirmCallbackHandler = (e: MouseEvent | KeyboardEvent): void => {\n e.stopPropagation();\n this.confirmCallback(this.selectedObjectsIds);\n };\n\n #editCallbackHandler = async (e: MouseEvent): Promise<void> => {\n e.stopPropagation();\n if (this.selectedObjectsIds[0]) {\n const result = await this.editCallback(this.selectedObjectsIds[0]);\n if (result) {\n this.#refreshUIWithNewConfiguration();\n }\n }\n };\n\n #hostKeyPressHandler = (e: KeyboardEvent) => {\n // TODO : revise why this is necessary\n // just prevent keypress propagation\n if (e.key === \"Enter\") {\n e.stopPropagation();\n }\n };\n\n #objectsSelectionChangedHandler = (\n event: CustomEvent<TabularGridSelectionChangedEvent>\n ) => {\n this.selectedObjectsIds = event.detail.rowsId;\n };\n\n #newVariableCallbackHandler = async () => {\n const response = await this.newVariableCallback();\n if (response) {\n this.#refreshUIWithNewConfiguration();\n }\n };\n #refreshUIWithNewConfiguration = (): void => {\n this.objects = [];\n const filters: FiltersData = {\n pattern: this.#filterPatternEl?.value,\n object: this.#filterObjectEl?.value?.id\n };\n this.loading = true;\n this.loadItemsCallback(filters).then((items: ItemData[]) => {\n if (items.length) {\n this.objects = this.#sortObjectsByName(items);\n this.#firstGridObjectId = this.objects[0].id;\n this.#loadItemsCallbackJustCalled = true;\n }\n this.selectedObjectsIds = [];\n this.loading = false;\n });\n };\n\n #renderFilter = (): Element[] => {\n return [\n <div class=\"header__field-group field-group\">\n <div class=\"field field-block pattern-field\">\n <label class=\"label\" htmlFor=\"filter-pattern\">\n {this.#componentLocale.filter.pattern}\n </label>\n <ch-edit\n autoFocus\n id=\"filter-pattern\"\n name=\"filter-pattern\"\n class=\"input pattern-input\"\n part=\"filter-pattern\"\n debounce={config.inputDebounce}\n onInput={this.#refreshUIWithNewConfiguration}\n ref={(el: HTMLChEditElement) =>\n (this.#filterPatternEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n <gx-ide-entity-selector\n id=\"object-selector\"\n value={this.defaultModule}\n defaultValue={this.defaultModule}\n selectEntityCallback={this.selectObjectCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.#filterObjectEl = el as HTMLGxIdeEntitySelectorElement)\n }\n class=\"entity\"\n onValueChanged={this.#refreshUIWithNewConfiguration}\n ></gx-ide-entity-selector>\n </div>\n ];\n };\n\n #renderObjects = (): Element => {\n const gridIsEmpty = !this.objects.length;\n const displayLoader = this.loader && this.loading;\n if (!gridIsEmpty || displayLoader) {\n this.#animateEmptyState = true; // improve performance if is first render\n }\n return (\n <ch-tabular-grid\n class={{\n \"tabular-grid\": true,\n \"empty-result\": this.objects.length === 0,\n \"data\": true\n }}\n rowSelectionMode={this.selectionType}\n onKeyDown={this.#chGridKeyDownHandler}\n part=\"ch-grid-objects\"\n onSelectionChanged={\n this.objects.length ? this.#objectsSelectionChangedHandler : undefined\n }\n ref={(el: HTMLChTabularGridElement) =>\n (this.#chTabularGridObjectsEl = el as HTMLChTabularGridElement)\n }\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.name}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.common}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.dataType}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.common}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n column-name={this.#componentLocale.tableHead.description}\n column-name-position=\"text\"\n settingable={false}\n size={config.tabularGrid.colSize.common}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {!gridIsEmpty ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {this.objects.map((obj: ItemData) => (\n <ch-tabular-grid-row\n rowid={obj.id}\n onDblClick={this.#confirmCallbackHandler}\n class=\"tabular-grid-row\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image\n src={\n obj.type === \"attribute\"\n ? \"objects/attribute\"\n : \"objects-parts/variables\"\n }\n class=\"icon-md\"\n ></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.dataType}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n {displayLoader ? (\n <gx-ide-loader\n loaderTitle={this.#componentLocale.loader.title}\n show\n ></gx-ide-loader>\n ) : (\n <gx-ide-empty-state\n isAnimated={this.#animateEmptyState}\n stateIconSrc={FILTER_ICON}\n stateTitle={this.#componentLocale.emptyState.title}\n ></gx-ide-empty-state>\n )}\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n );\n };\n\n #renderEditButtons = (): JSX.Element | null => {\n if (!this.editCallback && !this.newVariableCallback) {\n return null;\n }\n\n const newVariableButtonEnabled = this.newVariableCallback && !this.loading;\n const editButtonEnabled =\n this.editCallback && !this.loading && this.selectedObjectsIds.length;\n\n return (\n <div class=\"buttons-spacer\">\n {this.newVariableCallback ? (\n <button\n // New Variable Button\n class=\"button-secondary\"\n disabled={!newVariableButtonEnabled}\n part=\"button button-new\"\n type=\"button\"\n onClick={this.#newVariableCallbackHandler}\n >\n {this.#componentLocale.footer.btnNew}\n </button>\n ) : (\n []\n )}\n {this.editCallback ? (\n <button\n // Edit Button\n class=\"button-secondary\"\n disabled={!editButtonEnabled}\n part=\"button button-edit\"\n type=\"button\"\n onClick={editButtonEnabled && this.#editCallbackHandler}\n >\n {this.#componentLocale.footer.btnEdit}\n </button>\n ) : (\n []\n )}\n </div>\n );\n };\n\n #sortObjectsByName = (objects: ItemData[]): ItemData[] =>\n // TODO (make this a common helper function\n // and use it in other dialog grids that\n // require filter by name).\n objects.sort((a, b) => {\n const nameA = a.name.toLowerCase(),\n nameB = b.name.toLowerCase();\n if (nameA < nameB) {\n return -1;\n }\n if (nameA > nameB) {\n return 1;\n }\n return 0;\n });\n\n render() {\n const okButtonEnabled = !this.loading;\n const footerJustifySpaceBetween: boolean =\n !!this.newVariableCallback || !!this.editCallback;\n\n return (\n <Host onKeyPress={this.#hostKeyPressHandler} class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n\n <section class=\"section\">\n <header class=\"header control-header-with-border spacing-body-block-start spacing-body-inline\">\n {this.#renderFilter()}\n </header>\n {this.#renderObjects()}\n <footer\n class={{\n \"footer\": true,\n \"control-footer-with-border\": true,\n \"control-footer-space-between\": footerJustifySpaceBetween,\n \"spacing-body-inline\": true,\n \"spacing-body-block-end\": true\n }}\n >\n {this.#renderEditButtons()}\n <div class=\"buttons-spacer\">\n <button\n // Cancel Button\n class=\"button-secondary\"\n part=\"button button-cancel\"\n type=\"button\"\n onClick={this.cancelCallback}\n >\n {this.#componentLocale.footer.btnCancel}\n </button>\n <button\n // Confirm Button\n class=\"button-primary\"\n part=\"button button-ok\"\n disabled={!okButtonEnabled}\n type=\"button\"\n onClick={okButtonEnabled && this.#confirmCallbackHandler}\n >\n {this.#componentLocale.footer.btnConfirm}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type NewVariableCallback = () => Promise<boolean> | undefined;\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type SelectObjectCallback = () => Promise<EntityData | undefined>;\n\nexport type EditCallback = (id: string) => Promise<boolean> | undefined;\n\nexport type ConfirmCallback = (ids: string[]) => Promise<void>;\n\nexport type LoadItemsCallback = (filters: FiltersData) => Promise<ItemData[]>;\n\nexport type FiltersData = {\n pattern?: string;\n object?: string;\n};\n\nexport type ItemData = {\n type: ItemType;\n id: string;\n name: string;\n dataType: string;\n description: string;\n};\n\nexport type ItemType = \"variable\" | \"attribute\";\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { g as e, r as i, h as n, H as s, a as t } from "./p-25a9f1d7.js";
2
2
 
3
- import { L as a } from "./p-857866f8.js";
3
+ import { L as a } from "./p-311eedf3.js";
4
4
 
5
5
  const mapTeamsToComboBoxItemModel = e => {
6
6
  if (!e) {
@@ -27,7 +27,7 @@ var o = undefined && undefined.__classPrivateFieldSet || function(e, i, n, s, t)
27
27
  return s === "a" ? t.call(e, n) : t ? t.value = n : i.set(e, n), n;
28
28
  };
29
29
 
30
- var h, c, d, f, m, p, g, u, b, v, w, _, x, k;
30
+ var h, c, d, f, m, p, g, u, v, b, w, _, x, k;
31
31
 
32
32
  const y = e(`./gx-ide-assets/welcome-page/images/copyrights-illustration.png`);
33
33
 
@@ -61,7 +61,7 @@ const T = class {
61
61
  u.set(this, (async () => {
62
62
  await this.continueCallback(l(this, d, "f").value);
63
63
  }));
64
- b.set(this, (() => n("header", {
64
+ v.set(this, (() => n("header", {
65
65
  class: "slide__main-header"
66
66
  }, n("img", {
67
67
  src: z,
@@ -70,7 +70,7 @@ const T = class {
70
70
  // Split the title into two spans for better styling
71
71
  class: "slide__main-title"
72
72
  }, n("span", null, l(this, h, "f")[this.authStepInternal].titlePart1), n("span", null, l(this, h, "f")[this.authStepInternal].titlePart2)))));
73
- v.set(this, (() => {
73
+ b.set(this, (() => {
74
74
  const e = this.authStep === "signIn" && this.termsConfirmationRequired && !this.termsAndConditionsAccepted;
75
75
  return n("div", null, n("button", {
76
76
  class: "button-primary main-btn",
@@ -92,8 +92,9 @@ const T = class {
92
92
  this.privacyCallback();
93
93
  }));
94
94
  k.set(this, (() => {
95
+ var e;
95
96
  if (this.authStepInternal === "signIn") {
96
- return [ l(this, b, "f").call(this), n("p", {
97
+ return [ l(this, v, "f").call(this), n("p", {
97
98
  class: "body-regular-l"
98
99
  }, l(this, h, "f").signIn.description), this.termsConfirmationRequired && n("div", {
99
100
  class: "field-group"
@@ -131,7 +132,7 @@ const T = class {
131
132
  hyperlink: !!this.privacyCallback
132
133
  },
133
134
  onClick: this.privacyCallback && l(this, x, "f")
134
- }, l(this, h, "f").agreement.privacyAndPolicyLink)))), l(this, v, "f").call(this) ];
135
+ }, l(this, h, "f").agreement.privacyAndPolicyLink)))), l(this, b, "f").call(this) ];
135
136
  } else if (this.authStepInternal === "fetchUserTeams" || this.authStepInternal === "settingUpSession") {
136
137
  const e = this.authStepInternal === "fetchUserTeams" ? l(this, h, "f").loader.fetchingTeamsTitle : l(this, h, "f").loader.settingUpSessionTitle;
137
138
  const i = this.authStepInternal === "fetchUserTeams" ? l(this, h, "f").loader.fetchingTeamsDescription : l(this, h, "f").loader.settingUpDescription;
@@ -141,7 +142,7 @@ const T = class {
141
142
  description: i
142
143
  });
143
144
  } else if (this.authStepInternal === "selectUserTeam") {
144
- return [ l(this, b, "f").call(this), n("div", {
145
+ return [ l(this, v, "f").call(this), n("div", {
145
146
  class: "slide__select-team-description"
146
147
  }, n("p", {
147
148
  class: "body-semi-bold-l"
@@ -156,9 +157,9 @@ const T = class {
156
157
  accessibleName: "Teams",
157
158
  class: "combo-box teams-list",
158
159
  model: l(this, c, "f"),
159
- value: l(this, c, "f")[0]?.value,
160
+ value: (e = l(this, c, "f")[0]) === null || e === void 0 ? void 0 : e.value,
160
161
  ref: e => o(this, d, e, "f")
161
- }))), l(this, v, "f").call(this) ];
162
+ }))), l(this, b, "f").call(this) ];
162
163
  }
163
164
  }));
164
165
  this.authStepInternal = undefined;
@@ -226,10 +227,10 @@ const T = class {
226
227
  };
227
228
 
228
229
  h = new WeakMap, c = new WeakMap, d = new WeakMap, f = new WeakMap, m = new WeakMap,
229
- p = new WeakMap, g = new WeakMap, u = new WeakMap, b = new WeakMap, v = new WeakMap,
230
+ p = new WeakMap, g = new WeakMap, u = new WeakMap, v = new WeakMap, b = new WeakMap,
230
231
  w = new WeakMap, _ = new WeakMap, x = new WeakMap, k = new WeakMap;
231
232
 
232
233
  T.style = r;
233
234
 
234
235
  export { T as gx_ide_sign_in_team };
235
- //# sourceMappingURL=p-45d2fa91.entry.js.map
236
+ //# sourceMappingURL=p-68969051.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["mapTeamsToComboBoxItemModel","teams","map","team","value","id","caption","name","signInTeamCss","COPYRIGHTS_ILLUSTRATION","getAssetPath","ICON_NEXT","CSS_BUNDLES","CHECKED_VALUE","GxIdeSignInTeam","_GxIdeSignInTeam_componentLocale","set","this","_GxIdeSignInTeam_userTeamsModel","_GxIdeSignInTeam_chSelectTeamEl","_GxIdeSignInTeam_switchStepTransitionTime","_GxIdeSignInTeam_termsAndConditionsCheckboxEl","_GxIdeSignInTeam_privacyPolicyCheckboxEl","_GxIdeSignInTeam_authStepCallback","authStep","signInCallback","__classPrivateFieldGet","_GxIdeSignInTeam_continueHandler","call","async","continueCallback","_GxIdeSignInTeam_renderStepHeader","h","class","src","alt","authStepInternal","titlePart1","titlePart2","_GxIdeSignInTeam_renderStepFooter","signInDisabled","termsConfirmationRequired","termsAndConditionsAccepted","onClick","disabled","buttonCaption","_GxIdeSignInTeam_evaluateTermsConditionsAndPrivacyAccepted","privacyPolicyAccepted","_GxIdeSignInTeam_termsAndConditionsClickedHandler","event","preventDefault","termsCallback","_GxIdeSignInTeam_privacyPolicyClickedHandler","privacyCallback","_GxIdeSignInTeam_evaluateStepRender","signIn","description","checkedValue","ref","el","__classPrivateFieldSet","onInput","htmlFor","agreement","termsAndConditionsLabel","hyperlink","termsAndConditionsLink","privacyAndPolicyLabel","privacyAndPolicyLink","loaderTitle","loader","fetchingTeamsTitle","settingUpSessionTitle","loaderDescription","fetchingTeamsDescription","settingUpDescription","show","selectUserTeam","infoMessage","label","accessibleName","model","_a","authStepChanged","newAuthStep","slideIsVisible","setTimeout","teamsChanged","newTeams","componentWillLoad","Locale","getComponentStrings","style","setProperty","toString","render","Host","slide__main"],"sources":["src/components/sign-in-team/helpers.ts","src/components/sign-in-team/sign-in-team.scss?tag=gx-ide-sign-in-team&encapsulation=shadow","src/components/sign-in-team/sign-in-team.tsx"],"sourcesContent":["import { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { TeamData } from \"./sign-in-team\";\n\nexport const mapTeamsToComboBoxItemModel = (\n teams?: TeamData[]\n): ComboBoxItemModel[] | undefined => {\n if (!teams) {\n return [];\n }\n return teams.map(team => ({\n value: team.id,\n caption: team.name\n }));\n};\n",":host {\n display: grid;\n container-type: inline-size;\n container-name: host-container;\n block-size: 100%;\n inline-size: 100%;\n align-items: center;\n justify-content: center;\n padding: var(--mer-spacing--xl);\n}\n\n.slide {\n display: grid;\n grid-template-columns: 1fr 1fr;\n block-size: 100%;\n max-block-size: 700px;\n max-inline-size: 1100px;\n background-color: var(--mer-surface__elevation--01);\n border-radius: var(--mer-spacing--md);\n overflow: hidden;\n\n &__illustration {\n overflow: hidden;\n object-fit: cover;\n object-position: left;\n block-size: 100%;\n inline-size: 100%;\n }\n\n &__main {\n display: grid;\n block-size: 100%;\n inline-size: 100%;\n padding: var(--mer-spacing--3xl);\n transform: translateY(var(--mer-spacing--2xs));\n transition: var(--switch-step-transtion-time) all;\n opacity: 0;\n\n &--visible {\n transform: translateY(0);\n opacity: 1;\n }\n }\n\n &__main-container {\n display: grid;\n place-self: center;\n gap: var(--mer-spacing--lg);\n max-inline-size: 480px;\n }\n\n &__main-header {\n display: grid;\n gap: var(--mer-spacing--lg);\n }\n\n &__main-title {\n display: flex;\n flex-direction: column;\n font-size: var(--mer-font__size--xl);\n font-weight: var(--mer-font__weight--semi-bold);\n letter-spacing: 0.02em;\n color: var(--mer-text__on-surface);\n }\n\n &__main-description {\n display: grid;\n gap: var(--mer-spacing--2xl);\n font-size: var(--mer-font__size--sm);\n font-weight: var(--mer-font__weight--light);\n line-height: var(--mer-line-height--spaced);\n color: var(--mer-text__complementary);\n max-inline-size: 370px;\n }\n}\n\n.teams-list {\n inline-size: 100%;\n max-inline-size: 400px;\n}\n\n.main-btn {\n inline-size: 100%;\n max-inline-size: 124px;\n}\n\n@container host-container (max-width: 768px) {\n .slide {\n grid-template-columns: 1fr 2fr;\n }\n}\n\n@container host-container (max-width: 640px) {\n .slide {\n grid-template-columns: 1fr 5fr;\n }\n}\n\n// WA (this class should be defined on Mercury\n.hyperlink {\n text-decoration: underline;\n cursor: pointer;\n}\n// WA checkboxes labels should not include margin-block-start when\n// placed inside a field-inline.\n.field-inline > .label-agreement {\n margin-block-start: 0 !important;\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n State,\n Watch,\n Element,\n getAssetPath\n} from \"@stencil/core\";\n// Other Libraries\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\n// Custom Imports\nimport { Locale } from \"../../common/locale\";\nimport { mapTeamsToComboBoxItemModel } from \"./helpers\";\n\nconst COPYRIGHTS_ILLUSTRATION = getAssetPath(\n `./gx-ide-assets/welcome-page/images/copyrights-illustration.png`\n);\nconst ICON_NEXT = getAssetPath(\n `./gx-ide-assets/welcome-page/images/icon-next.svg`\n);\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"components/button\",\n \"components/combo-box\",\n \"components/checkbox\",\n \"utils/form\"\n];\n\nconst CHECKED_VALUE = \"on\";\n\n@Component({\n tag: \"gx-ide-sign-in-team\",\n styleUrl: \"sign-in-team.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/sign-in-team\"]\n})\nexport class GxIdeSignInTeam {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n // Select User Team References :\n #userTeamsModel: ComboBoxItemModel[] = [];\n #chSelectTeamEl: HTMLChComboBoxRenderElement;\n #switchStepTransitionTime: number = 100;\n #termsAndConditionsCheckboxEl!: HTMLChCheckboxElement;\n #privacyPolicyCheckboxEl!: HTMLChCheckboxElement;\n\n @Element() el: HTMLGxIdeSignInTeamElement;\n\n /**\n * This is a handover from \"authStep\" that allows updating descriptions once\n * the slide is hidden. This enables a smooth transition between descriptions.\n */\n\n @State() authStepInternal: AuthStep;\n\n /**\n * Defines if the main slide is visible or not. Used for smooth transitions\n * between slides.\n */\n @State() slideIsVisible: boolean = true;\n\n /**\n * True if terms and conditions are accepted.\n */\n @State() termsAndConditionsAccepted: boolean = false;\n\n /**\n * The authentication step to display\n */\n @Prop() readonly authStep: AuthStep = \"signIn\";\n @Watch(\"authStep\")\n authStepChanged(newAuthStep: AuthStep) {\n this.slideIsVisible = false;\n // switch step\n setTimeout(() => {\n this.authStepInternal = newAuthStep;\n }, this.#switchStepTransitionTime);\n // show slide\n setTimeout(() => {\n this.slideIsVisible = true;\n }, this.#switchStepTransitionTime * 2);\n }\n\n /**\n * Callback executed when the user clicks the 'Continue' button\n */\n @Prop() readonly continueCallback!: (teamId: string) => Promise<void>;\n\n /**\n * Callback executed when the user click the \"Sign In\" button\n */\n @Prop() readonly signInCallback!: () => Promise<void>;\n\n /**\n * When true, it will diplay checkboxes for the user to confirm terms and conditions\n */\n @Prop() readonly termsConfirmationRequired: boolean = false;\n\n /**\n * Array that contains the user's teams\n */\n @Prop() readonly teams!: TeamData[];\n @Watch(\"teams\")\n teamsChanged(newTeams: TeamData[]) {\n this.#userTeamsModel = mapTeamsToComboBoxItemModel(newTeams);\n }\n\n /**\n * Callback executed when the user clicks on the \"term and conditions\" link\n */\n @Prop() readonly termsCallback: () => Promise<void>;\n\n /**\n * Callback executed when the user clicks on the \"privacy policy\" link\n */\n @Prop() readonly privacyCallback: () => Promise<void>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.el.style.setProperty(\n \"--switch-step-transtion-time\",\n this.#switchStepTransitionTime.toString() + \"ms\"\n );\n // Initialize values\n this.authStepInternal = this.authStep;\n this.teamsChanged(this.teams);\n }\n\n #authStepCallback = () => {\n if (this.authStep === \"signIn\") {\n this.signInCallback();\n } else if (this.authStep === \"selectUserTeam\") {\n this.#continueHandler();\n }\n };\n\n #continueHandler = async () => {\n await this.continueCallback(this.#chSelectTeamEl.value);\n };\n\n #renderStepHeader = (): HTMLElement => {\n return (\n <header class=\"slide__main-header\">\n <img\n src={ICON_NEXT}\n alt=\"\" // decorative\n />\n <h2\n // Split the title into two spans for better styling\n class=\"slide__main-title\"\n >\n <span>{this.#componentLocale[this.authStepInternal].titlePart1}</span>\n <span>{this.#componentLocale[this.authStepInternal].titlePart2}</span>\n </h2>\n </header>\n );\n };\n\n #renderStepFooter = (): HTMLElement => {\n const signInDisabled =\n this.authStep === \"signIn\" &&\n this.termsConfirmationRequired &&\n !this.termsAndConditionsAccepted;\n return (\n <div>\n <button\n class=\"button-primary main-btn\"\n onClick={this.#authStepCallback}\n disabled={signInDisabled}\n >\n {this.#componentLocale[this.authStepInternal].buttonCaption}\n </button>\n </div>\n );\n };\n\n #evaluateTermsConditionsAndPrivacyAccepted = () => {\n const termsAndConditionsAccepted =\n this.#termsAndConditionsCheckboxEl.value === CHECKED_VALUE;\n const privacyPolicyAccepted =\n this.#privacyPolicyCheckboxEl.value === CHECKED_VALUE;\n this.termsAndConditionsAccepted =\n termsAndConditionsAccepted && privacyPolicyAccepted;\n };\n\n #termsAndConditionsClickedHandler = (event: MouseEvent) => {\n event.preventDefault();\n this.termsCallback();\n };\n\n #privacyPolicyClickedHandler = (event: MouseEvent) => {\n event.preventDefault();\n this.privacyCallback();\n };\n\n #evaluateStepRender = () => {\n if (this.authStepInternal === \"signIn\") {\n return [\n this.#renderStepHeader(),\n <p class=\"body-regular-l\">\n {this.#componentLocale.signIn.description}\n </p>,\n this.termsConfirmationRequired && (\n <div class=\"field-group\">\n <div\n // terms and conditions\n class=\"field field-inline\"\n >\n <ch-checkbox\n checkedValue={CHECKED_VALUE}\n id=\"terms-and-conditions\"\n class=\"checkbox\"\n ref={(el: HTMLChCheckboxElement) =>\n (this.#termsAndConditionsCheckboxEl =\n el as HTMLChCheckboxElement)\n }\n onInput={this.#evaluateTermsConditionsAndPrivacyAccepted}\n ></ch-checkbox>\n <label\n htmlFor=\"terms-and-conditions\"\n class=\"label label-agreement\"\n >\n {this.#componentLocale.agreement.termsAndConditionsLabel}\n <span\n class={{ hyperlink: !!this.termsCallback }}\n onClick={\n this.termsCallback && this.#termsAndConditionsClickedHandler\n }\n >\n {this.#componentLocale.agreement.termsAndConditionsLink}\n </span>\n </label>\n </div>\n <div\n // privacy policy\n class=\"field field-inline\"\n >\n <ch-checkbox\n checkedValue={CHECKED_VALUE}\n id=\"privacy-policy\"\n class=\"checkbox\"\n ref={(el: HTMLChCheckboxElement) =>\n (this.#privacyPolicyCheckboxEl = el as HTMLChCheckboxElement)\n }\n onInput={this.#evaluateTermsConditionsAndPrivacyAccepted}\n ></ch-checkbox>\n <label htmlFor=\"privacy-policy\" class=\"label label-agreement\">\n {this.#componentLocale.agreement.privacyAndPolicyLabel}\n <span\n class={{ hyperlink: !!this.privacyCallback }}\n onClick={\n this.privacyCallback && this.#privacyPolicyClickedHandler\n }\n >\n {this.#componentLocale.agreement.privacyAndPolicyLink}\n </span>\n </label>\n </div>\n </div>\n ),\n\n this.#renderStepFooter()\n ];\n } else if (\n this.authStepInternal === \"fetchUserTeams\" ||\n this.authStepInternal === \"settingUpSession\"\n ) {\n const loaderTitle =\n this.authStepInternal === \"fetchUserTeams\"\n ? this.#componentLocale.loader.fetchingTeamsTitle\n : this.#componentLocale.loader.settingUpSessionTitle;\n const loaderDescription =\n this.authStepInternal === \"fetchUserTeams\"\n ? this.#componentLocale.loader.fetchingTeamsDescription\n : this.#componentLocale.loader.settingUpDescription;\n return (\n <gx-ide-loader\n show\n loaderTitle={loaderTitle}\n description={loaderDescription}\n ></gx-ide-loader>\n );\n } else if (this.authStepInternal === \"selectUserTeam\") {\n return [\n this.#renderStepHeader(),\n <div class=\"slide__select-team-description\">\n <p class=\"body-semi-bold-l\">\n {this.#componentLocale.selectUserTeam.infoMessage}\n </p>\n </div>,\n <div class=\"field-group\">\n <div class=\"field field-block\">\n <label htmlFor=\"teams\">\n {this.#componentLocale.selectUserTeam.label}\n </label>\n <ch-combo-box-render\n id=\"teams\"\n accessibleName=\"Teams\"\n class=\"combo-box teams-list\"\n model={this.#userTeamsModel}\n value={this.#userTeamsModel[0]?.value}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#chSelectTeamEl = el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n </div>,\n this.#renderStepFooter()\n ];\n }\n };\n\n render() {\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"slide\">\n <img\n src={COPYRIGHTS_ILLUSTRATION}\n class=\"slide__illustration\"\n alt=\"\" // decorative\n />\n\n <div\n class={{\n \"slide__main\": true,\n \"slide__main--visible\": this.slideIsVisible\n }}\n >\n <div class=\"slide__main-container\">\n {this.#evaluateStepRender()}\n </div>\n </div>\n </section>\n </Host>\n );\n }\n}\n\nexport type AuthStep =\n | \"signIn\"\n | \"fetchUserTeams\"\n | \"selectUserTeam\"\n | \"settingUpSession\";\n\nexport type TeamData = {\n id: string;\n name: string;\n};\n"],"mappings":"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"}