@genexus/genexus-ide-ui 1.1.3 → 1.1.5

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 (850) hide show
  1. package/dist/cjs/MERCURY_ASSETS-972bf7f4.js +9 -0
  2. package/dist/cjs/MERCURY_ASSETS-972bf7f4.js.map +1 -0
  3. package/dist/cjs/code-render-0e9837c4.js +86 -0
  4. package/dist/cjs/code-render-0e9837c4.js.map +1 -0
  5. package/dist/cjs/{common-72f91a78.js → common-090e6d3a.js} +28 -12
  6. package/dist/cjs/common-090e6d3a.js.map +1 -0
  7. package/dist/cjs/{form-validation-178cf461.js → form-validation-ffe2b957.js} +7 -3
  8. package/dist/cjs/form-validation-ffe2b957.js.map +1 -0
  9. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  10. package/dist/cjs/gx-ide-about.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +10 -16
  12. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +1 -1
  13. package/dist/cjs/gx-ide-ai-message.cjs.entry.js +4 -5
  14. package/dist/cjs/gx-ide-ai-message.cjs.entry.js.map +1 -1
  15. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +180 -168
  16. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js.map +1 -1
  17. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js +2 -2
  18. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js.map +1 -1
  19. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +4 -6
  20. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js.map +1 -1
  21. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +3 -4
  22. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js.map +1 -1
  23. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +2 -2
  24. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js.map +1 -1
  25. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +2 -2
  26. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js.map +1 -1
  27. package/dist/cjs/gx-ide-bpm-sync-gam-roles.cjs.entry.js +2 -3
  28. package/dist/cjs/gx-ide-bpm-sync-gam-roles.cjs.entry.js.map +1 -1
  29. package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js +13 -16
  30. package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js.map +1 -1
  31. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +3 -4
  32. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
  33. package/dist/cjs/gx-ide-card.cjs.entry.js +2 -2
  34. package/dist/cjs/gx-ide-card.cjs.entry.js.map +1 -1
  35. package/dist/cjs/gx-ide-chat-container_2.cjs.entry.js +239 -0
  36. package/dist/cjs/gx-ide-chat-container_2.cjs.entry.js.map +1 -0
  37. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +18 -23
  38. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
  39. package/dist/cjs/gx-ide-container_2.cjs.entry.js +1 -2
  40. package/dist/cjs/gx-ide-container_2.cjs.entry.js.map +1 -1
  41. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +9 -14
  42. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  43. package/dist/cjs/gx-ide-current-user-info.cjs.entry.js +5 -7
  44. package/dist/cjs/gx-ide-current-user-info.cjs.entry.js.map +1 -1
  45. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +7 -9
  46. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
  47. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +6 -8
  48. package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
  49. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js +6 -8
  50. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js.map +1 -1
  51. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js +17 -21
  52. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js.map +1 -1
  53. package/dist/cjs/gx-ide-design-import.cjs.entry.js +27 -36
  54. package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
  55. package/dist/cjs/gx-ide-directory-selector.cjs.entry.js +1 -2
  56. package/dist/cjs/gx-ide-directory-selector.cjs.entry.js.map +1 -1
  57. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +3 -4
  58. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
  59. package/dist/cjs/gx-ide-empty-state.cjs.entry.js +1 -1
  60. package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -1
  61. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +6 -9
  62. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js.map +1 -1
  63. package/dist/cjs/gx-ide-file-item.cjs.entry.js +5 -6
  64. package/dist/cjs/gx-ide-file-item.cjs.entry.js.map +1 -1
  65. package/dist/cjs/gx-ide-file-uploader.cjs.entry.js +63 -49
  66. package/dist/cjs/gx-ide-file-uploader.cjs.entry.js.map +1 -1
  67. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +3 -4
  68. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
  69. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +7 -8
  70. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
  71. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +10 -14
  72. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  73. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +2 -2
  74. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
  75. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +19 -11
  76. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js.map +1 -1
  77. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +8 -9
  78. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
  79. package/dist/cjs/gx-ide-navigation-report.cjs.entry.js +4 -7
  80. package/dist/cjs/gx-ide-navigation-report.cjs.entry.js.map +1 -1
  81. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +14 -19
  82. package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
  83. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +34 -39
  84. package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
  85. package/dist/cjs/gx-ide-new-object.cjs.entry.js +6 -9
  86. package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
  87. package/dist/cjs/gx-ide-new-version.cjs.entry.js +3 -3
  88. package/dist/cjs/gx-ide-new-version.cjs.entry.js.map +1 -1
  89. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +10 -12
  90. package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
  91. package/dist/cjs/gx-ide-open-api-import.cjs.entry.js +8 -13
  92. package/dist/cjs/gx-ide-open-api-import.cjs.entry.js.map +1 -1
  93. package/dist/cjs/gx-ide-references.cjs.entry.js +22 -28
  94. package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
  95. package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js +202 -98
  96. package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js.map +1 -1
  97. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +10 -17
  98. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
  99. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js +3 -4
  100. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js.map +1 -1
  101. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +6 -10
  102. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  103. package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js +2 -3
  104. package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js.map +1 -1
  105. package/dist/cjs/gx-ide-sign-in.cjs.entry.js +1 -1
  106. package/dist/cjs/gx-ide-splash.cjs.entry.js +6 -8
  107. package/dist/cjs/gx-ide-splash.cjs.entry.js.map +1 -1
  108. package/dist/cjs/gx-ide-start-page.cjs.entry.js +9 -13
  109. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  110. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +1 -1
  111. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +3 -3
  112. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  113. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +2 -2
  114. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js.map +1 -1
  115. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +3 -3
  116. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
  117. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +2 -2
  118. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js.map +1 -1
  119. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +4 -5
  120. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  121. package/dist/cjs/gx-ide-template.cjs.entry.js +2 -2
  122. package/dist/cjs/gx-ide-template.cjs.entry.js.map +1 -1
  123. package/dist/cjs/gx-ide-welcome-page.cjs.entry.js +8 -11
  124. package/dist/cjs/gx-ide-welcome-page.cjs.entry.js.map +1 -1
  125. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +2 -2
  126. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js.map +1 -1
  127. package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js +11 -18
  128. package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js.map +1 -1
  129. package/dist/cjs/gx-ide-ww-files.cjs.entry.js +19 -22
  130. package/dist/cjs/gx-ide-ww-files.cjs.entry.js.map +1 -1
  131. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +20 -9
  132. package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
  133. package/dist/cjs/{helpers-30f109a4.js → helpers-e5a13fa5.js} +6 -6
  134. package/dist/cjs/helpers-e5a13fa5.js.map +1 -0
  135. package/dist/cjs/index.cjs.js +2 -2
  136. package/dist/cjs/index.cjs.js.map +1 -1
  137. package/dist/cjs/loader.cjs.js +1 -1
  138. package/dist/cjs/{locale-ff30a5f3.js → locale-36b93b1b.js} +4 -4
  139. package/dist/cjs/locale-36b93b1b.js.map +1 -0
  140. package/dist/collection/collection-manifest.json +2 -1
  141. package/dist/collection/common/common.js +23 -13
  142. package/dist/collection/common/common.js.map +1 -1
  143. package/dist/collection/common/form-validation.js +7 -4
  144. package/dist/collection/common/form-validation.js.map +1 -1
  145. package/dist/collection/common/helpers.js +9 -10
  146. package/dist/collection/common/helpers.js.map +1 -1
  147. package/dist/collection/common/locale.js +3 -3
  148. package/dist/collection/common/locale.js.map +1 -1
  149. package/dist/collection/common/render-suggest.js +1 -1
  150. package/dist/collection/common/render-suggest.js.map +1 -1
  151. package/dist/collection/components/_helpers/card/card.css +9 -0
  152. package/dist/collection/components/_helpers/container/container.js +1 -2
  153. package/dist/collection/components/_helpers/container/container.js.map +1 -1
  154. package/dist/collection/components/_helpers/directory-selector/directory-selector.js +1 -2
  155. package/dist/collection/components/_helpers/directory-selector/directory-selector.js.map +1 -1
  156. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +9 -0
  157. package/dist/collection/components/_helpers/entity-selector/entity-selector.js +2 -4
  158. package/dist/collection/components/_helpers/entity-selector/entity-selector.js.map +1 -1
  159. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +1 -1
  160. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js.map +1 -1
  161. package/dist/collection/components/_helpers/list-selector/list-selector.css +9 -0
  162. package/dist/collection/components/_starting-template/template.css +9 -0
  163. package/dist/collection/components/ai-assistant/ai-assistant.css +9 -0
  164. package/dist/collection/components/ai-assistant/ai-assistant.js +8 -14
  165. package/dist/collection/components/ai-assistant/ai-assistant.js.map +1 -1
  166. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.css +37 -27
  167. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js +217 -182
  168. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js.map +1 -1
  169. package/dist/collection/components/bpm/application-declaration/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.en.json +14 -2
  170. package/dist/collection/components/bpm/application-declaration/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.ja.json +15 -3
  171. package/dist/collection/components/bpm/application-declaration/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.zh.json +14 -2
  172. package/dist/collection/components/bpm/assign-roles/bpm-assign-roles.css +9 -0
  173. package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.css +9 -0
  174. package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.js +2 -4
  175. package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.js.map +1 -1
  176. package/dist/collection/components/bpm/import-files/bpm-import-files.css +9 -0
  177. package/dist/collection/components/bpm/import-files/bpm-import-files.js +1 -2
  178. package/dist/collection/components/bpm/import-files/bpm-import-files.js.map +1 -1
  179. package/dist/collection/components/bpm/import-gxpm/bpm-import-gxpm.css +9 -0
  180. package/dist/collection/components/bpm/objects-selector/bpm-objects-selector.css +9 -0
  181. package/dist/collection/components/bpm/sync-gam-roles/bpm-sync-gam-roles.js +1 -2
  182. package/dist/collection/components/bpm/sync-gam-roles/bpm-sync-gam-roles.js.map +1 -1
  183. package/dist/collection/components/bpm/task-documents/helpers.js +1 -1
  184. package/dist/collection/components/bpm/task-documents/helpers.js.map +1 -1
  185. package/dist/collection/components/bpm/task-documents/task-documents.js +7 -9
  186. package/dist/collection/components/bpm/task-documents/task-documents.js.map +1 -1
  187. package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.css +9 -0
  188. package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.js +1 -2
  189. package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.js.map +1 -1
  190. package/dist/collection/components/chat/chat-container/chat-container.css +118 -0
  191. package/dist/collection/components/chat/chat-container/chat-container.js +218 -0
  192. package/dist/collection/components/chat/chat-container/chat-container.js.map +1 -0
  193. package/dist/collection/components/chat/chat-container/gx-ide-assets/chat-container/langs/chat-container.lang.en.json +9 -0
  194. package/dist/collection/components/chat/chat-container/gx-ide-assets/chat-container/langs/chat-container.lang.ja.json +9 -0
  195. package/dist/collection/components/chat/chat-container/gx-ide-assets/chat-container/langs/chat-container.lang.zh.json +9 -0
  196. package/dist/collection/components/chat/chat-welcome/chat-welcome.css +109 -0
  197. package/dist/collection/components/chat/chat-welcome/chat-welcome.js +228 -0
  198. package/dist/collection/components/chat/chat-welcome/chat-welcome.js.map +1 -0
  199. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/helpers.js +3 -0
  200. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/helpers.js.map +1 -0
  201. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/helpers.tsx +31 -0
  202. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/images/ai-avatar-welcome.svg +21 -0
  203. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/images/ai-avatar.svg +11 -0
  204. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/images/header-illustration.svg +24 -0
  205. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.en.json +10 -0
  206. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.ja.json +10 -0
  207. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.zh.json +10 -0
  208. package/dist/collection/components/chat/code-render.js +65 -0
  209. package/dist/collection/components/chat/code-render.js.map +1 -0
  210. package/dist/collection/components/current-user-info/current-user-info.js +2 -3
  211. package/dist/collection/components/current-user-info/current-user-info.js.map +1 -1
  212. package/dist/collection/components/dashboard-home/dashboard-home.css +9 -0
  213. package/dist/collection/components/dashboard-home/dashboard-home.js +2 -3
  214. package/dist/collection/components/dashboard-home/dashboard-home.js.map +1 -1
  215. package/dist/collection/components/data-selector/data-selector.css +1 -0
  216. package/dist/collection/components/data-selector/data-selector.js +2 -3
  217. package/dist/collection/components/data-selector/data-selector.js.map +1 -1
  218. package/dist/collection/components/data-type-selector/data-type-selector.js +3 -4
  219. package/dist/collection/components/data-type-selector/data-type-selector.js.map +1 -1
  220. package/dist/collection/components/deployment-tool/deployment-tool.css +9 -0
  221. package/dist/collection/components/deployment-tool/deployment-tool.js +11 -18
  222. package/dist/collection/components/deployment-tool/deployment-tool.js.map +1 -1
  223. package/dist/collection/components/deployment-tool/helpers.js +4 -1
  224. package/dist/collection/components/deployment-tool/helpers.js.map +1 -1
  225. package/dist/collection/components/design-import/design-import.js +18 -26
  226. package/dist/collection/components/design-import/design-import.js.map +1 -1
  227. package/dist/collection/components/design-import/helpers.js +1 -1
  228. package/dist/collection/components/design-import/helpers.js.map +1 -1
  229. package/dist/collection/components/file-uploader/file-uploader.css +9 -0
  230. package/dist/collection/components/file-uploader/file-uploader.js +59 -44
  231. package/dist/collection/components/file-uploader/file-uploader.js.map +1 -1
  232. package/dist/collection/components/gam-installation-settings/gam-installation-settings.css +9 -0
  233. package/dist/collection/components/gam-installation-settings/gam-installation-settings.js +1 -2
  234. package/dist/collection/components/gam-installation-settings/gam-installation-settings.js.map +1 -1
  235. package/dist/collection/components/kb-manager-import/kb-manager-import.js +4 -7
  236. package/dist/collection/components/kb-manager-import/kb-manager-import.js.map +1 -1
  237. package/dist/collection/components/modules/edit-module-server/edit-module-server.css +9 -0
  238. package/dist/collection/components/modules/edit-module-server/edit-module-server.js +1 -2
  239. package/dist/collection/components/modules/edit-module-server/edit-module-server.js.map +1 -1
  240. package/dist/collection/components/modules/manage-module-references/manage-module-references.css +9 -0
  241. package/dist/collection/components/modules/manage-module-references/manage-module-references.js +2 -2
  242. package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map +1 -1
  243. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js +13 -4
  244. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js.map +1 -1
  245. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references.css +9 -0
  246. package/dist/collection/components/navigation-report/navigation-report.js +3 -6
  247. package/dist/collection/components/navigation-report/navigation-report.js.map +1 -1
  248. package/dist/collection/components/new-environment/new-environment.js +10 -15
  249. package/dist/collection/components/new-environment/new-environment.js.map +1 -1
  250. package/dist/collection/components/new-kb/new-kb.js +28 -32
  251. package/dist/collection/components/new-kb/new-kb.js.map +1 -1
  252. package/dist/collection/components/new-object/new-object.js +5 -8
  253. package/dist/collection/components/new-object/new-object.js.map +1 -1
  254. package/dist/collection/components/new-version/new-version.js +2 -2
  255. package/dist/collection/components/new-version/new-version.js.map +1 -1
  256. package/dist/collection/components/object-selector/object-selector.css +1 -0
  257. package/dist/collection/components/object-selector/object-selector.js +4 -5
  258. package/dist/collection/components/object-selector/object-selector.js.map +1 -1
  259. package/dist/collection/components/open-api-import/open-api-import.js +4 -8
  260. package/dist/collection/components/open-api-import/open-api-import.js.map +1 -1
  261. package/dist/collection/components/references/helpers.js +9 -13
  262. package/dist/collection/components/references/helpers.js.map +1 -1
  263. package/dist/collection/components/references/references.css +9 -0
  264. package/dist/collection/components/references/references.js +9 -11
  265. package/dist/collection/components/references/references.js.map +1 -1
  266. package/dist/collection/components/select-kb-items/helpers.js +5 -10
  267. package/dist/collection/components/select-kb-items/helpers.js.map +1 -1
  268. package/dist/collection/components/select-kb-items/select-kb-items.js +1 -2
  269. package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -1
  270. package/dist/collection/components/select-user-team/helpers.js +1 -1
  271. package/dist/collection/components/select-user-team/helpers.js.map +1 -1
  272. package/dist/collection/components/select-user-team/select-user-team.js +1 -2
  273. package/dist/collection/components/select-user-team/select-user-team.js.map +1 -1
  274. package/dist/collection/components/sign-in-team/sign-in-team.js +1 -2
  275. package/dist/collection/components/sign-in-team/sign-in-team.js.map +1 -1
  276. package/dist/collection/components/splash/splash.js +2 -3
  277. package/dist/collection/components/splash/splash.js.map +1 -1
  278. package/dist/collection/components/start-page/start-page.js +3 -6
  279. package/dist/collection/components/start-page/start-page.js.map +1 -1
  280. package/dist/collection/components/team-dev/commit/commit.css +10 -0
  281. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js +16 -21
  282. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js.map +1 -1
  283. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +4 -8
  284. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
  285. package/dist/collection/components/team-dev/select-recent-comment/select-recent-comment.css +9 -0
  286. package/dist/collection/components/team-dev/share-kb/share-kb.js +2 -5
  287. package/dist/collection/components/team-dev/share-kb/share-kb.js.map +1 -1
  288. package/dist/collection/components/team-dev/update/update.css +11 -0
  289. package/dist/collection/components/team-dev/update/update.js +1 -2
  290. package/dist/collection/components/team-dev/update/update.js.map +1 -1
  291. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +9 -0
  292. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js +1 -1
  293. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js.map +1 -1
  294. package/dist/collection/components/team-dev/update-to-revision/update-to-revision.css +9 -0
  295. package/dist/collection/components/welcome-page/welcome-page.js +5 -7
  296. package/dist/collection/components/welcome-page/welcome-page.js.map +1 -1
  297. package/dist/collection/components/wf-settings/wf-settings.css +9 -0
  298. package/dist/collection/components/ww-attributes/helpers.js +1 -2
  299. package/dist/collection/components/ww-attributes/helpers.js.map +1 -1
  300. package/dist/collection/components/ww-attributes/ww-attributes.css +1 -0
  301. package/dist/collection/components/ww-attributes/ww-attributes.js +6 -11
  302. package/dist/collection/components/ww-attributes/ww-attributes.js.map +1 -1
  303. package/dist/collection/components/ww-files/helpers.js +1 -2
  304. package/dist/collection/components/ww-files/helpers.js.map +1 -1
  305. package/dist/collection/components/ww-files/ww-files.css +1 -0
  306. package/dist/collection/components/ww-files/ww-files.js +16 -18
  307. package/dist/collection/components/ww-files/ww-files.js.map +1 -1
  308. package/dist/collection/components/ww-images/ww-images.css +10 -0
  309. package/dist/collection/components/ww-images/ww-images.js +16 -5
  310. package/dist/collection/components/ww-images/ww-images.js.map +1 -1
  311. package/dist/collection/index.js +1 -1
  312. package/dist/collection/index.js.map +1 -1
  313. package/dist/collection/showcase/chat-container/callbacks.js +105 -90
  314. package/dist/collection/showcase/chat-container/callbacks.js.map +1 -1
  315. package/dist/collection/showcase/chat-container/chat.showcase.js +145 -10
  316. package/dist/collection/showcase/chat-container/chat.showcase.js.map +1 -1
  317. package/dist/collection/testing/locale.e2e.js +4 -3
  318. package/dist/collection/testing/locale.e2e.js.map +1 -1
  319. package/dist/components/MERCURY_ASSETS.js +5 -1
  320. package/dist/components/MERCURY_ASSETS.js.map +1 -1
  321. package/dist/components/ai-message.js +1 -2
  322. package/dist/components/ai-message.js.map +1 -1
  323. package/dist/components/bpm-objects-selector.js +1 -1
  324. package/dist/components/bpm-objects-selector.js.map +1 -1
  325. package/dist/components/chat-container.js +70 -7
  326. package/dist/components/chat-container.js.map +1 -1
  327. package/dist/components/chat-welcome.js +146 -0
  328. package/dist/components/chat-welcome.js.map +1 -0
  329. package/dist/components/code-render.js +68 -41
  330. package/dist/components/code-render.js.map +1 -1
  331. package/dist/components/common.js +27 -11
  332. package/dist/components/common.js.map +1 -1
  333. package/dist/components/container.js +1 -2
  334. package/dist/components/container.js.map +1 -1
  335. package/dist/components/entity-selector.js +3 -6
  336. package/dist/components/entity-selector.js.map +1 -1
  337. package/dist/components/file-item.js +1 -2
  338. package/dist/components/file-item.js.map +1 -1
  339. package/dist/components/form-validation.js +6 -2
  340. package/dist/components/form-validation.js.map +1 -1
  341. package/dist/components/gx-ide-ai-assistant.js +9 -15
  342. package/dist/components/gx-ide-ai-assistant.js.map +1 -1
  343. package/dist/components/gx-ide-bpm-app-declaration.js +188 -185
  344. package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
  345. package/dist/components/gx-ide-bpm-assign-roles.js +1 -1
  346. package/dist/components/gx-ide-bpm-assign-roles.js.map +1 -1
  347. package/dist/components/gx-ide-bpm-export-xpdl.js +3 -5
  348. package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
  349. package/dist/components/gx-ide-bpm-import-files.js +2 -3
  350. package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
  351. package/dist/components/gx-ide-bpm-import-gxpm.js +1 -1
  352. package/dist/components/gx-ide-bpm-import-gxpm.js.map +1 -1
  353. package/dist/components/gx-ide-bpm-sync-gam-roles.js +1 -2
  354. package/dist/components/gx-ide-bpm-sync-gam-roles.js.map +1 -1
  355. package/dist/components/gx-ide-bpm-task-documents.js +9 -12
  356. package/dist/components/gx-ide-bpm-task-documents.js.map +1 -1
  357. package/dist/components/gx-ide-bpm-timer-duration.js +2 -3
  358. package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
  359. package/dist/components/gx-ide-card.js +1 -1
  360. package/dist/components/gx-ide-card.js.map +1 -1
  361. package/dist/components/gx-ide-chat-welcome.d.ts +11 -0
  362. package/dist/components/gx-ide-chat-welcome.js +8 -0
  363. package/dist/components/gx-ide-chat-welcome.js.map +1 -0
  364. package/dist/components/gx-ide-connect-gx-server.js +16 -21
  365. package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
  366. package/dist/components/gx-ide-create-kb-from-server.js +5 -10
  367. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  368. package/dist/components/gx-ide-current-user-info.js +3 -5
  369. package/dist/components/gx-ide-current-user-info.js.map +1 -1
  370. package/dist/components/gx-ide-dashboard-home.js +4 -6
  371. package/dist/components/gx-ide-dashboard-home.js.map +1 -1
  372. package/dist/components/gx-ide-data-selector.js +4 -6
  373. package/dist/components/gx-ide-data-selector.js.map +1 -1
  374. package/dist/components/gx-ide-data-type-selector.js +4 -6
  375. package/dist/components/gx-ide-data-type-selector.js.map +1 -1
  376. package/dist/components/gx-ide-deployment-tool.js +16 -20
  377. package/dist/components/gx-ide-deployment-tool.js.map +1 -1
  378. package/dist/components/gx-ide-design-import.js +20 -29
  379. package/dist/components/gx-ide-design-import.js.map +1 -1
  380. package/dist/components/gx-ide-directory-selector.js +1 -2
  381. package/dist/components/gx-ide-directory-selector.js.map +1 -1
  382. package/dist/components/gx-ide-edit-module-server.js +2 -3
  383. package/dist/components/gx-ide-edit-module-server.js.map +1 -1
  384. package/dist/components/gx-ide-empty-state2.js +1 -1
  385. package/dist/components/gx-ide-empty-state2.js.map +1 -1
  386. package/dist/components/gx-ide-file-uploader.js +61 -47
  387. package/dist/components/gx-ide-file-uploader.js.map +1 -1
  388. package/dist/components/gx-ide-gam-installation-settings.js +2 -3
  389. package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
  390. package/dist/components/gx-ide-kb-manager-export.js +1 -2
  391. package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
  392. package/dist/components/gx-ide-kb-manager-import.js +5 -9
  393. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  394. package/dist/components/gx-ide-manage-module-references-v2.js +15 -7
  395. package/dist/components/gx-ide-manage-module-references-v2.js.map +1 -1
  396. package/dist/components/gx-ide-manage-module-references.js +4 -5
  397. package/dist/components/gx-ide-manage-module-references.js.map +1 -1
  398. package/dist/components/gx-ide-navigation-report.js +3 -6
  399. package/dist/components/gx-ide-navigation-report.js.map +1 -1
  400. package/dist/components/gx-ide-new-environment.js +10 -15
  401. package/dist/components/gx-ide-new-environment.js.map +1 -1
  402. package/dist/components/gx-ide-new-kb.js +29 -34
  403. package/dist/components/gx-ide-new-kb.js.map +1 -1
  404. package/dist/components/gx-ide-new-object.js +5 -8
  405. package/dist/components/gx-ide-new-object.js.map +1 -1
  406. package/dist/components/gx-ide-new-version.js +2 -2
  407. package/dist/components/gx-ide-new-version.js.map +1 -1
  408. package/dist/components/gx-ide-object-selector.js +6 -8
  409. package/dist/components/gx-ide-object-selector.js.map +1 -1
  410. package/dist/components/gx-ide-open-api-import.js +5 -10
  411. package/dist/components/gx-ide-open-api-import.js.map +1 -1
  412. package/dist/components/gx-ide-references.js +19 -25
  413. package/dist/components/gx-ide-references.js.map +1 -1
  414. package/dist/components/gx-ide-sc-chat-container.js +215 -100
  415. package/dist/components/gx-ide-sc-chat-container.js.map +1 -1
  416. package/dist/components/gx-ide-select-kb-items.js +7 -14
  417. package/dist/components/gx-ide-select-kb-items.js.map +1 -1
  418. package/dist/components/gx-ide-select-user-team.js +2 -3
  419. package/dist/components/gx-ide-select-user-team.js.map +1 -1
  420. package/dist/components/gx-ide-share-kb.js +3 -7
  421. package/dist/components/gx-ide-share-kb.js.map +1 -1
  422. package/dist/components/gx-ide-sign-in-team.js +1 -2
  423. package/dist/components/gx-ide-sign-in-team.js.map +1 -1
  424. package/dist/components/gx-ide-splash.js +3 -5
  425. package/dist/components/gx-ide-splash.js.map +1 -1
  426. package/dist/components/gx-ide-start-page.js +4 -8
  427. package/dist/components/gx-ide-start-page.js.map +1 -1
  428. package/dist/components/gx-ide-team-dev-commit.js +1 -1
  429. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  430. package/dist/components/gx-ide-team-dev-select-recent-comment.js +1 -1
  431. package/dist/components/gx-ide-team-dev-select-recent-comment.js.map +1 -1
  432. package/dist/components/gx-ide-team-dev-update-partial-selection.js +2 -2
  433. package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
  434. package/dist/components/gx-ide-team-dev-update-to-revision.js +1 -1
  435. package/dist/components/gx-ide-team-dev-update-to-revision.js.map +1 -1
  436. package/dist/components/gx-ide-team-dev-update.js +2 -3
  437. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  438. package/dist/components/gx-ide-template.js +1 -1
  439. package/dist/components/gx-ide-template.js.map +1 -1
  440. package/dist/components/gx-ide-welcome-page.js +6 -9
  441. package/dist/components/gx-ide-welcome-page.js.map +1 -1
  442. package/dist/components/gx-ide-wf-settings.js +1 -1
  443. package/dist/components/gx-ide-wf-settings.js.map +1 -1
  444. package/dist/components/gx-ide-ww-attributes.js +9 -16
  445. package/dist/components/gx-ide-ww-attributes.js.map +1 -1
  446. package/dist/components/gx-ide-ww-files.js +18 -21
  447. package/dist/components/gx-ide-ww-files.js.map +1 -1
  448. package/dist/components/gx-ide-ww-images.js +17 -6
  449. package/dist/components/gx-ide-ww-images.js.map +1 -1
  450. package/dist/components/helpers.js +5 -5
  451. package/dist/components/helpers.js.map +1 -1
  452. package/dist/components/index.js.map +1 -1
  453. package/dist/components/list-selector-item.js +1 -1
  454. package/dist/components/list-selector-item.js.map +1 -1
  455. package/dist/components/list-selector.js +1 -1
  456. package/dist/components/list-selector.js.map +1 -1
  457. package/dist/components/locale.js +3 -3
  458. package/dist/components/locale.js.map +1 -1
  459. package/dist/esm/MERCURY_ASSETS-039222dd.js +7 -0
  460. package/dist/esm/MERCURY_ASSETS-039222dd.js.map +1 -0
  461. package/dist/esm/code-render-f3afd300.js +83 -0
  462. package/dist/esm/code-render-f3afd300.js.map +1 -0
  463. package/dist/esm/{common-ccb4504a.js → common-719c4daf.js} +28 -12
  464. package/dist/esm/common-719c4daf.js.map +1 -0
  465. package/dist/esm/{form-validation-cd0215c6.js → form-validation-71dca8c6.js} +7 -3
  466. package/dist/esm/form-validation-71dca8c6.js.map +1 -0
  467. package/dist/esm/genexus-ide-ui.js +1 -1
  468. package/dist/esm/gx-ide-about.entry.js +1 -1
  469. package/dist/esm/gx-ide-ai-assistant.entry.js +10 -16
  470. package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
  471. package/dist/esm/gx-ide-ai-message.entry.js +3 -4
  472. package/dist/esm/gx-ide-ai-message.entry.js.map +1 -1
  473. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +181 -169
  474. package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
  475. package/dist/esm/gx-ide-bpm-assign-roles.entry.js +2 -2
  476. package/dist/esm/gx-ide-bpm-assign-roles.entry.js.map +1 -1
  477. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +4 -6
  478. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
  479. package/dist/esm/gx-ide-bpm-import-files.entry.js +3 -4
  480. package/dist/esm/gx-ide-bpm-import-files.entry.js.map +1 -1
  481. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +2 -2
  482. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js.map +1 -1
  483. package/dist/esm/gx-ide-bpm-objects-selector.entry.js +2 -2
  484. package/dist/esm/gx-ide-bpm-objects-selector.entry.js.map +1 -1
  485. package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js +2 -3
  486. package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js.map +1 -1
  487. package/dist/esm/gx-ide-bpm-task-documents.entry.js +10 -13
  488. package/dist/esm/gx-ide-bpm-task-documents.entry.js.map +1 -1
  489. package/dist/esm/gx-ide-bpm-timer-duration.entry.js +3 -4
  490. package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
  491. package/dist/esm/gx-ide-card.entry.js +2 -2
  492. package/dist/esm/gx-ide-card.entry.js.map +1 -1
  493. package/dist/esm/gx-ide-chat-container_2.entry.js +234 -0
  494. package/dist/esm/gx-ide-chat-container_2.entry.js.map +1 -0
  495. package/dist/esm/gx-ide-connect-gx-server.entry.js +18 -23
  496. package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
  497. package/dist/esm/gx-ide-container_2.entry.js +1 -2
  498. package/dist/esm/gx-ide-container_2.entry.js.map +1 -1
  499. package/dist/esm/gx-ide-create-kb-from-server.entry.js +7 -12
  500. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  501. package/dist/esm/gx-ide-current-user-info.entry.js +4 -6
  502. package/dist/esm/gx-ide-current-user-info.entry.js.map +1 -1
  503. package/dist/esm/gx-ide-dashboard-home.entry.js +6 -8
  504. package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
  505. package/dist/esm/gx-ide-data-selector.entry.js +5 -7
  506. package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
  507. package/dist/esm/gx-ide-data-type-selector.entry.js +5 -7
  508. package/dist/esm/gx-ide-data-type-selector.entry.js.map +1 -1
  509. package/dist/esm/gx-ide-deployment-tool.entry.js +17 -21
  510. package/dist/esm/gx-ide-deployment-tool.entry.js.map +1 -1
  511. package/dist/esm/gx-ide-design-import.entry.js +21 -30
  512. package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
  513. package/dist/esm/gx-ide-directory-selector.entry.js +1 -2
  514. package/dist/esm/gx-ide-directory-selector.entry.js.map +1 -1
  515. package/dist/esm/gx-ide-edit-module-server.entry.js +3 -4
  516. package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
  517. package/dist/esm/gx-ide-empty-state.entry.js +1 -1
  518. package/dist/esm/gx-ide-empty-state.entry.js.map +1 -1
  519. package/dist/esm/gx-ide-entity-selector.entry.js +4 -7
  520. package/dist/esm/gx-ide-entity-selector.entry.js.map +1 -1
  521. package/dist/esm/gx-ide-file-item.entry.js +1 -2
  522. package/dist/esm/gx-ide-file-item.entry.js.map +1 -1
  523. package/dist/esm/gx-ide-file-uploader.entry.js +62 -48
  524. package/dist/esm/gx-ide-file-uploader.entry.js.map +1 -1
  525. package/dist/esm/gx-ide-gam-installation-settings.entry.js +3 -4
  526. package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
  527. package/dist/esm/gx-ide-kb-manager-export.entry.js +2 -3
  528. package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
  529. package/dist/esm/gx-ide-kb-manager-import.entry.js +6 -10
  530. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  531. package/dist/esm/gx-ide-list-selector_2.entry.js +2 -2
  532. package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
  533. package/dist/esm/gx-ide-manage-module-references-v2.entry.js +17 -9
  534. package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +1 -1
  535. package/dist/esm/gx-ide-manage-module-references.entry.js +6 -7
  536. package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
  537. package/dist/esm/gx-ide-navigation-report.entry.js +4 -7
  538. package/dist/esm/gx-ide-navigation-report.entry.js.map +1 -1
  539. package/dist/esm/gx-ide-new-environment.entry.js +14 -19
  540. package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
  541. package/dist/esm/gx-ide-new-kb.entry.js +33 -38
  542. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  543. package/dist/esm/gx-ide-new-object.entry.js +6 -9
  544. package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
  545. package/dist/esm/gx-ide-new-version.entry.js +3 -3
  546. package/dist/esm/gx-ide-new-version.entry.js.map +1 -1
  547. package/dist/esm/gx-ide-object-selector.entry.js +8 -10
  548. package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
  549. package/dist/esm/gx-ide-open-api-import.entry.js +6 -11
  550. package/dist/esm/gx-ide-open-api-import.entry.js.map +1 -1
  551. package/dist/esm/gx-ide-references.entry.js +20 -26
  552. package/dist/esm/gx-ide-references.entry.js.map +1 -1
  553. package/dist/esm/gx-ide-sc-chat-container.entry.js +203 -99
  554. package/dist/esm/gx-ide-sc-chat-container.entry.js.map +1 -1
  555. package/dist/esm/gx-ide-select-kb-items.entry.js +8 -15
  556. package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
  557. package/dist/esm/gx-ide-select-user-team.entry.js +3 -4
  558. package/dist/esm/gx-ide-select-user-team.entry.js.map +1 -1
  559. package/dist/esm/gx-ide-share-kb.entry.js +5 -9
  560. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  561. package/dist/esm/gx-ide-sign-in-team.entry.js +2 -3
  562. package/dist/esm/gx-ide-sign-in-team.entry.js.map +1 -1
  563. package/dist/esm/gx-ide-sign-in.entry.js +1 -1
  564. package/dist/esm/gx-ide-splash.entry.js +5 -7
  565. package/dist/esm/gx-ide-splash.entry.js.map +1 -1
  566. package/dist/esm/gx-ide-start-page.entry.js +5 -9
  567. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  568. package/dist/esm/gx-ide-status-buttons.entry.js +1 -1
  569. package/dist/esm/gx-ide-team-dev-commit.entry.js +3 -3
  570. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  571. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +2 -2
  572. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js.map +1 -1
  573. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +3 -3
  574. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
  575. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +2 -2
  576. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js.map +1 -1
  577. package/dist/esm/gx-ide-team-dev-update.entry.js +4 -5
  578. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  579. package/dist/esm/gx-ide-template.entry.js +2 -2
  580. package/dist/esm/gx-ide-template.entry.js.map +1 -1
  581. package/dist/esm/gx-ide-welcome-page.entry.js +7 -10
  582. package/dist/esm/gx-ide-welcome-page.entry.js.map +1 -1
  583. package/dist/esm/gx-ide-wf-settings.entry.js +2 -2
  584. package/dist/esm/gx-ide-wf-settings.entry.js.map +1 -1
  585. package/dist/esm/gx-ide-ww-attributes.entry.js +10 -17
  586. package/dist/esm/gx-ide-ww-attributes.entry.js.map +1 -1
  587. package/dist/esm/gx-ide-ww-files.entry.js +19 -22
  588. package/dist/esm/gx-ide-ww-files.entry.js.map +1 -1
  589. package/dist/esm/gx-ide-ww-images.entry.js +20 -9
  590. package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
  591. package/dist/esm/{helpers-10479d69.js → helpers-5f1c9a32.js} +6 -6
  592. package/dist/esm/helpers-5f1c9a32.js.map +1 -0
  593. package/dist/esm/index.js +2 -2
  594. package/dist/esm/index.js.map +1 -1
  595. package/dist/esm/loader.js +1 -1
  596. package/dist/esm/{locale-e5107fad.js → locale-643afe17.js} +4 -4
  597. package/dist/esm/locale-643afe17.js.map +1 -0
  598. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  599. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  600. package/dist/genexus-ide-ui/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.en.json +14 -2
  601. package/dist/genexus-ide-ui/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.ja.json +15 -3
  602. package/dist/genexus-ide-ui/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.zh.json +14 -2
  603. package/dist/genexus-ide-ui/gx-ide-assets/chat-container/langs/chat-container.lang.en.json +9 -0
  604. package/dist/genexus-ide-ui/gx-ide-assets/chat-container/langs/chat-container.lang.ja.json +9 -0
  605. package/dist/genexus-ide-ui/gx-ide-assets/chat-container/langs/chat-container.lang.zh.json +9 -0
  606. package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/helpers.tsx +31 -0
  607. package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/images/ai-avatar-welcome.svg +21 -0
  608. package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/images/ai-avatar.svg +11 -0
  609. package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/images/header-illustration.svg +24 -0
  610. package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.en.json +10 -0
  611. package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.ja.json +10 -0
  612. package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.zh.json +10 -0
  613. package/dist/genexus-ide-ui/index.esm.js +2 -2
  614. package/dist/genexus-ide-ui/index.esm.js.map +1 -1
  615. package/dist/genexus-ide-ui/{p-59ed3f39.entry.js → p-02fc47cd.entry.js} +3 -3
  616. package/dist/genexus-ide-ui/{p-530c32aa.entry.js → p-032b4a81.entry.js} +25 -30
  617. package/dist/genexus-ide-ui/p-032b4a81.entry.js.map +1 -0
  618. package/dist/genexus-ide-ui/{p-eea944d4.entry.js → p-0d83a34d.entry.js} +63 -69
  619. package/dist/genexus-ide-ui/p-0d83a34d.entry.js.map +1 -0
  620. package/dist/genexus-ide-ui/{p-22b8bdb1.entry.js → p-0e53f1ef.entry.js} +161 -163
  621. package/dist/genexus-ide-ui/p-0e53f1ef.entry.js.map +1 -0
  622. package/dist/genexus-ide-ui/p-11dccb8f.entry.js +309 -0
  623. package/dist/genexus-ide-ui/p-11dccb8f.entry.js.map +1 -0
  624. package/dist/genexus-ide-ui/{p-fecc50e4.entry.js → p-29575656.entry.js} +85 -96
  625. package/dist/genexus-ide-ui/p-29575656.entry.js.map +1 -0
  626. package/dist/genexus-ide-ui/{p-683cb15e.entry.js → p-2be58a7a.entry.js} +3 -3
  627. package/dist/genexus-ide-ui/{p-fdf41406.entry.js → p-2dbf722d.entry.js} +77 -85
  628. package/dist/genexus-ide-ui/p-2dbf722d.entry.js.map +1 -0
  629. package/dist/genexus-ide-ui/{p-31beae9e.entry.js → p-2e90a13a.entry.js} +2 -3
  630. package/dist/genexus-ide-ui/p-2e90a13a.entry.js.map +1 -0
  631. package/dist/genexus-ide-ui/{p-ba7d1472.entry.js → p-353810b8.entry.js} +99 -104
  632. package/dist/genexus-ide-ui/p-353810b8.entry.js.map +1 -0
  633. package/dist/genexus-ide-ui/{p-3b8db39e.entry.js → p-39c527ff.entry.js} +3 -3
  634. package/dist/genexus-ide-ui/p-3edbf07d.js +109 -0
  635. package/dist/genexus-ide-ui/p-3edbf07d.js.map +1 -0
  636. package/dist/genexus-ide-ui/{p-ef5dfd35.entry.js → p-41a4364d.entry.js} +2 -4
  637. package/dist/genexus-ide-ui/{p-ef5dfd35.entry.js.map → p-41a4364d.entry.js.map} +1 -1
  638. package/dist/genexus-ide-ui/{p-68969051.entry.js → p-45d2fa91.entry.js} +11 -12
  639. package/dist/genexus-ide-ui/p-45d2fa91.entry.js.map +1 -0
  640. package/dist/genexus-ide-ui/{p-5687fdb7.entry.js → p-460db3ff.entry.js} +11 -13
  641. package/dist/genexus-ide-ui/{p-5687fdb7.entry.js.map → p-460db3ff.entry.js.map} +1 -1
  642. package/dist/genexus-ide-ui/{p-9a609b51.js → p-48f5911b.js} +50 -33
  643. package/dist/genexus-ide-ui/p-48f5911b.js.map +1 -0
  644. package/dist/genexus-ide-ui/{p-50b22f23.entry.js → p-4d929210.entry.js} +3 -3
  645. package/dist/genexus-ide-ui/{p-de7f0c1f.entry.js → p-501c7b1f.entry.js} +19 -22
  646. package/dist/genexus-ide-ui/p-501c7b1f.entry.js.map +1 -0
  647. package/dist/genexus-ide-ui/{p-c747afac.entry.js → p-50eaa96d.entry.js} +99 -111
  648. package/dist/genexus-ide-ui/p-50eaa96d.entry.js.map +1 -0
  649. package/dist/genexus-ide-ui/p-51601b85.js +145 -0
  650. package/dist/genexus-ide-ui/p-51601b85.js.map +1 -0
  651. package/dist/genexus-ide-ui/{p-289c3290.js → p-549b8f0c.js} +16 -15
  652. package/dist/{esm/form-validation-cd0215c6.js.map → genexus-ide-ui/p-549b8f0c.js.map} +1 -1
  653. package/dist/genexus-ide-ui/{p-007173ef.entry.js → p-5a42428d.entry.js} +16 -19
  654. package/dist/genexus-ide-ui/p-5a42428d.entry.js.map +1 -0
  655. package/dist/genexus-ide-ui/{p-ded7444c.entry.js → p-5da3e999.entry.js} +16 -17
  656. package/dist/genexus-ide-ui/p-5da3e999.entry.js.map +1 -0
  657. package/dist/genexus-ide-ui/{p-3ecdb582.entry.js → p-5e05f830.entry.js} +33 -39
  658. package/dist/genexus-ide-ui/p-5e05f830.entry.js.map +1 -0
  659. package/dist/genexus-ide-ui/{p-fe490103.entry.js → p-6168d48c.entry.js} +165 -174
  660. package/dist/genexus-ide-ui/p-6168d48c.entry.js.map +1 -0
  661. package/dist/genexus-ide-ui/{p-76c3fc51.entry.js → p-66d9269a.entry.js} +17 -22
  662. package/dist/genexus-ide-ui/p-66d9269a.entry.js.map +1 -0
  663. package/dist/genexus-ide-ui/{p-038c3f9b.entry.js → p-6dc05a27.entry.js} +4 -5
  664. package/dist/genexus-ide-ui/p-6dc05a27.entry.js.map +1 -0
  665. package/dist/genexus-ide-ui/{p-cd397078.entry.js → p-75e1aa31.entry.js} +5 -6
  666. package/dist/genexus-ide-ui/p-75e1aa31.entry.js.map +1 -0
  667. package/dist/genexus-ide-ui/{p-e502c2fd.entry.js → p-7782e1b8.entry.js} +56 -61
  668. package/dist/genexus-ide-ui/p-7782e1b8.entry.js.map +1 -0
  669. package/dist/genexus-ide-ui/{p-1bc2613e.entry.js → p-7cedb0f0.entry.js} +66 -69
  670. package/dist/genexus-ide-ui/p-7cedb0f0.entry.js.map +1 -0
  671. package/dist/genexus-ide-ui/{p-bac13202.entry.js → p-844b7117.entry.js} +17 -17
  672. package/dist/genexus-ide-ui/{p-311eedf3.js → p-857866f8.js} +8 -9
  673. package/dist/genexus-ide-ui/p-857866f8.js.map +1 -0
  674. package/dist/genexus-ide-ui/{p-74c81ca3.entry.js → p-8636a0bd.entry.js} +3 -3
  675. package/dist/genexus-ide-ui/{p-d095a37c.entry.js → p-8b046b4b.entry.js} +9 -10
  676. package/dist/genexus-ide-ui/p-8b046b4b.entry.js.map +1 -0
  677. package/dist/genexus-ide-ui/{p-4b79c3ab.entry.js → p-8f1f4126.entry.js} +10 -12
  678. package/dist/genexus-ide-ui/p-8f1f4126.entry.js.map +1 -0
  679. package/dist/genexus-ide-ui/{p-c6c955a3.entry.js → p-95f831a8.entry.js} +3 -3
  680. package/dist/genexus-ide-ui/{p-c91af626.entry.js → p-970d16ca.entry.js} +15 -15
  681. package/dist/genexus-ide-ui/{p-c91af626.entry.js.map → p-970d16ca.entry.js.map} +1 -1
  682. package/dist/genexus-ide-ui/{p-e4c2e200.entry.js → p-9a39e49c.entry.js} +6 -6
  683. package/dist/genexus-ide-ui/{p-beea29fa.entry.js → p-9a9ee1ee.entry.js} +3 -3
  684. package/dist/genexus-ide-ui/{p-961cd6c2.entry.js → p-9b238bf7.entry.js} +174 -181
  685. package/dist/genexus-ide-ui/p-9b238bf7.entry.js.map +1 -0
  686. package/dist/genexus-ide-ui/{p-54fbb568.entry.js → p-9c690c36.entry.js} +14 -17
  687. package/dist/genexus-ide-ui/p-9c690c36.entry.js.map +1 -0
  688. package/dist/genexus-ide-ui/{p-4c717aa7.entry.js → p-a6029d9a.entry.js} +117 -131
  689. package/dist/genexus-ide-ui/p-a6029d9a.entry.js.map +1 -0
  690. package/dist/genexus-ide-ui/{p-833c3585.entry.js → p-a86a8692.entry.js} +33 -39
  691. package/dist/genexus-ide-ui/p-a86a8692.entry.js.map +1 -0
  692. package/dist/genexus-ide-ui/{p-2a6683e1.entry.js → p-a8cc41e4.entry.js} +59 -62
  693. package/dist/genexus-ide-ui/p-a8cc41e4.entry.js.map +1 -0
  694. package/dist/genexus-ide-ui/{p-3d4355b4.entry.js → p-ac0438d6.entry.js} +9 -10
  695. package/dist/genexus-ide-ui/p-ac0438d6.entry.js.map +1 -0
  696. package/dist/genexus-ide-ui/{p-56331289.entry.js → p-b1833747.entry.js} +38 -45
  697. package/dist/genexus-ide-ui/p-b1833747.entry.js.map +1 -0
  698. package/dist/genexus-ide-ui/{p-6b957e82.entry.js → p-b211bca8.entry.js} +2 -2
  699. package/dist/genexus-ide-ui/{p-84618917.entry.js → p-be794132.entry.js} +229 -236
  700. package/dist/genexus-ide-ui/p-be794132.entry.js.map +1 -0
  701. package/dist/genexus-ide-ui/{p-a790c4c9.entry.js → p-bfd9066c.entry.js} +9 -9
  702. package/dist/genexus-ide-ui/p-bfd9066c.entry.js.map +1 -0
  703. package/dist/genexus-ide-ui/{p-9b5cb6b9.entry.js → p-c30b2104.entry.js} +7 -9
  704. package/dist/genexus-ide-ui/p-c30b2104.entry.js.map +1 -0
  705. package/dist/genexus-ide-ui/{p-fa18a70c.entry.js → p-c5cca204.entry.js} +17 -20
  706. package/dist/genexus-ide-ui/p-c5cca204.entry.js.map +1 -0
  707. package/dist/genexus-ide-ui/p-cdf8b082.entry.js +338 -0
  708. package/dist/genexus-ide-ui/p-cdf8b082.entry.js.map +1 -0
  709. package/dist/genexus-ide-ui/{p-8f00263d.entry.js → p-d1cc4724.entry.js} +18 -13
  710. package/dist/genexus-ide-ui/p-d1cc4724.entry.js.map +1 -0
  711. package/dist/genexus-ide-ui/{p-1dd7be84.entry.js → p-daa29451.entry.js} +14 -17
  712. package/dist/genexus-ide-ui/p-daa29451.entry.js.map +1 -0
  713. package/dist/genexus-ide-ui/{p-67762237.entry.js → p-db4750ff.entry.js} +139 -148
  714. package/dist/genexus-ide-ui/p-db4750ff.entry.js.map +1 -0
  715. package/dist/genexus-ide-ui/{p-48826a6f.entry.js → p-db4f756a.entry.js} +123 -135
  716. package/dist/genexus-ide-ui/p-db4f756a.entry.js.map +1 -0
  717. package/dist/genexus-ide-ui/{p-3e936f26.entry.js → p-e1d75f00.entry.js} +3 -3
  718. package/dist/genexus-ide-ui/{p-3e936f26.entry.js.map → p-e1d75f00.entry.js.map} +1 -1
  719. package/dist/genexus-ide-ui/{p-a59a07e2.entry.js → p-e26e05c7.entry.js} +13 -19
  720. package/dist/genexus-ide-ui/p-e26e05c7.entry.js.map +1 -0
  721. package/dist/genexus-ide-ui/{p-2027c939.entry.js → p-e37e95e7.entry.js} +4 -4
  722. package/dist/genexus-ide-ui/{p-4cbc8a8b.entry.js → p-e5571f49.entry.js} +26 -28
  723. package/dist/genexus-ide-ui/p-e5571f49.entry.js.map +1 -0
  724. package/dist/genexus-ide-ui/p-eb51429c.entry.js +317 -0
  725. package/dist/genexus-ide-ui/p-eb51429c.entry.js.map +1 -0
  726. package/dist/genexus-ide-ui/{p-29a026bb.entry.js → p-ec01c70c.entry.js} +15 -18
  727. package/dist/genexus-ide-ui/p-ec01c70c.entry.js.map +1 -0
  728. package/dist/genexus-ide-ui/{p-5ac47c69.js → p-ede7bd20.js} +6885 -6346
  729. package/dist/genexus-ide-ui/p-ede7bd20.js.map +1 -0
  730. package/dist/genexus-ide-ui/{p-e7fb3ee3.entry.js → p-f2bd9044.entry.js} +2 -2
  731. package/dist/genexus-ide-ui/{p-50f304fe.entry.js → p-f315c6e0.entry.js} +12 -14
  732. package/dist/genexus-ide-ui/{p-50f304fe.entry.js.map → p-f315c6e0.entry.js.map} +1 -1
  733. package/dist/genexus-ide-ui/{p-0550fd5f.entry.js → p-f52bcdac.entry.js} +2 -2
  734. package/dist/genexus-ide-ui/{p-a05d4963.entry.js → p-f5879a41.entry.js} +10 -10
  735. package/dist/genexus-ide-ui/{p-a05d4963.entry.js.map → p-f5879a41.entry.js.map} +1 -1
  736. package/dist/genexus-ide-ui/{p-f3f35e5c.entry.js → p-f5a48b33.entry.js} +6 -9
  737. package/dist/genexus-ide-ui/p-f5a48b33.entry.js.map +1 -0
  738. package/dist/genexus-ide-ui/{p-1e8f5da5.entry.js → p-f6ceb01a.entry.js} +4 -5
  739. package/dist/genexus-ide-ui/p-f6ceb01a.entry.js.map +1 -0
  740. package/dist/types/common/common.d.ts +1 -1
  741. package/dist/types/components/bpm/application-declaration/bpm-app-declaration.d.ts +22 -44
  742. package/dist/types/components/{_helpers → chat}/chat-container/chat-container.d.ts +13 -2
  743. package/dist/types/components/chat/chat-welcome/chat-welcome.d.ts +39 -0
  744. package/dist/types/components/chat/chat-welcome/gx-ide-assets/chat-welcome/helpers.d.ts +1 -0
  745. package/dist/types/components/{_helpers/chat-container → chat}/code-render.d.ts +1 -1
  746. package/dist/types/components.d.ts +75 -10
  747. package/dist/types/index.d.ts +1 -1
  748. package/dist/types/showcase/chat-container/callbacks.d.ts +1 -1
  749. package/dist/types/showcase/chat-container/chat.showcase.d.ts +15 -0
  750. package/package.json +5 -5
  751. package/dist/cjs/MERCURY_ASSETS-6bbcc011.js +0 -5
  752. package/dist/cjs/MERCURY_ASSETS-6bbcc011.js.map +0 -1
  753. package/dist/cjs/assets-manager-7227a74b.js +0 -7
  754. package/dist/cjs/assets-manager-7227a74b.js.map +0 -1
  755. package/dist/cjs/code-render-db7cb770.js +0 -59
  756. package/dist/cjs/code-render-db7cb770.js.map +0 -1
  757. package/dist/cjs/common-72f91a78.js.map +0 -1
  758. package/dist/cjs/form-validation-178cf461.js.map +0 -1
  759. package/dist/cjs/gx-ide-chat-container.cjs.entry.js +0 -62
  760. package/dist/cjs/gx-ide-chat-container.cjs.entry.js.map +0 -1
  761. package/dist/cjs/helpers-30f109a4.js.map +0 -1
  762. package/dist/cjs/locale-ff30a5f3.js.map +0 -1
  763. package/dist/collection/components/_helpers/chat-container/chat-container.css +0 -204
  764. package/dist/collection/components/_helpers/chat-container/chat-container.js +0 -137
  765. package/dist/collection/components/_helpers/chat-container/chat-container.js.map +0 -1
  766. package/dist/collection/components/_helpers/chat-container/code-render.js +0 -46
  767. package/dist/collection/components/_helpers/chat-container/code-render.js.map +0 -1
  768. package/dist/components/assets-manager.js +0 -5
  769. package/dist/components/assets-manager.js.map +0 -1
  770. package/dist/esm/MERCURY_ASSETS-bbdf7018.js +0 -3
  771. package/dist/esm/MERCURY_ASSETS-bbdf7018.js.map +0 -1
  772. package/dist/esm/assets-manager-0d129105.js +0 -5
  773. package/dist/esm/assets-manager-0d129105.js.map +0 -1
  774. package/dist/esm/code-render-6cbb0e63.js +0 -56
  775. package/dist/esm/code-render-6cbb0e63.js.map +0 -1
  776. package/dist/esm/common-ccb4504a.js.map +0 -1
  777. package/dist/esm/gx-ide-chat-container.entry.js +0 -58
  778. package/dist/esm/gx-ide-chat-container.entry.js.map +0 -1
  779. package/dist/esm/helpers-10479d69.js.map +0 -1
  780. package/dist/esm/locale-e5107fad.js.map +0 -1
  781. package/dist/genexus-ide-ui/p-007173ef.entry.js.map +0 -1
  782. package/dist/genexus-ide-ui/p-038c3f9b.entry.js.map +0 -1
  783. package/dist/genexus-ide-ui/p-1a74d49a.entry.js +0 -231
  784. package/dist/genexus-ide-ui/p-1a74d49a.entry.js.map +0 -1
  785. package/dist/genexus-ide-ui/p-1bc2613e.entry.js.map +0 -1
  786. package/dist/genexus-ide-ui/p-1dd7be84.entry.js.map +0 -1
  787. package/dist/genexus-ide-ui/p-1e8f5da5.entry.js.map +0 -1
  788. package/dist/genexus-ide-ui/p-22b8bdb1.entry.js.map +0 -1
  789. package/dist/genexus-ide-ui/p-289c3290.js.map +0 -1
  790. package/dist/genexus-ide-ui/p-29a026bb.entry.js.map +0 -1
  791. package/dist/genexus-ide-ui/p-2a6683e1.entry.js.map +0 -1
  792. package/dist/genexus-ide-ui/p-311eedf3.js.map +0 -1
  793. package/dist/genexus-ide-ui/p-31beae9e.entry.js.map +0 -1
  794. package/dist/genexus-ide-ui/p-3d4355b4.entry.js.map +0 -1
  795. package/dist/genexus-ide-ui/p-3ecdb582.entry.js.map +0 -1
  796. package/dist/genexus-ide-ui/p-48826a6f.entry.js.map +0 -1
  797. package/dist/genexus-ide-ui/p-4b79c3ab.entry.js.map +0 -1
  798. package/dist/genexus-ide-ui/p-4c717aa7.entry.js.map +0 -1
  799. package/dist/genexus-ide-ui/p-4cbc8a8b.entry.js.map +0 -1
  800. package/dist/genexus-ide-ui/p-530c32aa.entry.js.map +0 -1
  801. package/dist/genexus-ide-ui/p-54fbb568.entry.js.map +0 -1
  802. package/dist/genexus-ide-ui/p-55c87f23.entry.js +0 -287
  803. package/dist/genexus-ide-ui/p-55c87f23.entry.js.map +0 -1
  804. package/dist/genexus-ide-ui/p-56331289.entry.js.map +0 -1
  805. package/dist/genexus-ide-ui/p-5ac47c69.js.map +0 -1
  806. package/dist/genexus-ide-ui/p-67762237.entry.js.map +0 -1
  807. package/dist/genexus-ide-ui/p-68969051.entry.js.map +0 -1
  808. package/dist/genexus-ide-ui/p-6e4208d8.js +0 -9
  809. package/dist/genexus-ide-ui/p-6e4208d8.js.map +0 -1
  810. package/dist/genexus-ide-ui/p-76c3fc51.entry.js.map +0 -1
  811. package/dist/genexus-ide-ui/p-833c3585.entry.js.map +0 -1
  812. package/dist/genexus-ide-ui/p-84618917.entry.js.map +0 -1
  813. package/dist/genexus-ide-ui/p-8f00263d.entry.js.map +0 -1
  814. package/dist/genexus-ide-ui/p-961cd6c2.entry.js.map +0 -1
  815. package/dist/genexus-ide-ui/p-9a609b51.js.map +0 -1
  816. package/dist/genexus-ide-ui/p-9b5cb6b9.entry.js.map +0 -1
  817. package/dist/genexus-ide-ui/p-9ddea83b.js +0 -146
  818. package/dist/genexus-ide-ui/p-9ddea83b.js.map +0 -1
  819. package/dist/genexus-ide-ui/p-a59a07e2.entry.js.map +0 -1
  820. package/dist/genexus-ide-ui/p-a790c4c9.entry.js.map +0 -1
  821. package/dist/genexus-ide-ui/p-ba7d1472.entry.js.map +0 -1
  822. package/dist/genexus-ide-ui/p-be8a59fd.js +0 -107
  823. package/dist/genexus-ide-ui/p-be8a59fd.js.map +0 -1
  824. package/dist/genexus-ide-ui/p-c747afac.entry.js.map +0 -1
  825. package/dist/genexus-ide-ui/p-cd397078.entry.js.map +0 -1
  826. package/dist/genexus-ide-ui/p-d095a37c.entry.js.map +0 -1
  827. package/dist/genexus-ide-ui/p-db9c3b37.entry.js +0 -85
  828. package/dist/genexus-ide-ui/p-db9c3b37.entry.js.map +0 -1
  829. package/dist/genexus-ide-ui/p-de7f0c1f.entry.js.map +0 -1
  830. package/dist/genexus-ide-ui/p-ded7444c.entry.js.map +0 -1
  831. package/dist/genexus-ide-ui/p-e502c2fd.entry.js.map +0 -1
  832. package/dist/genexus-ide-ui/p-eea944d4.entry.js.map +0 -1
  833. package/dist/genexus-ide-ui/p-f3f35e5c.entry.js.map +0 -1
  834. package/dist/genexus-ide-ui/p-fa18a70c.entry.js.map +0 -1
  835. package/dist/genexus-ide-ui/p-fdf41406.entry.js.map +0 -1
  836. package/dist/genexus-ide-ui/p-fe490103.entry.js.map +0 -1
  837. package/dist/genexus-ide-ui/p-fecc50e4.entry.js.map +0 -1
  838. /package/dist/genexus-ide-ui/{p-59ed3f39.entry.js.map → p-02fc47cd.entry.js.map} +0 -0
  839. /package/dist/genexus-ide-ui/{p-683cb15e.entry.js.map → p-2be58a7a.entry.js.map} +0 -0
  840. /package/dist/genexus-ide-ui/{p-3b8db39e.entry.js.map → p-39c527ff.entry.js.map} +0 -0
  841. /package/dist/genexus-ide-ui/{p-50b22f23.entry.js.map → p-4d929210.entry.js.map} +0 -0
  842. /package/dist/genexus-ide-ui/{p-bac13202.entry.js.map → p-844b7117.entry.js.map} +0 -0
  843. /package/dist/genexus-ide-ui/{p-74c81ca3.entry.js.map → p-8636a0bd.entry.js.map} +0 -0
  844. /package/dist/genexus-ide-ui/{p-c6c955a3.entry.js.map → p-95f831a8.entry.js.map} +0 -0
  845. /package/dist/genexus-ide-ui/{p-e4c2e200.entry.js.map → p-9a39e49c.entry.js.map} +0 -0
  846. /package/dist/genexus-ide-ui/{p-beea29fa.entry.js.map → p-9a9ee1ee.entry.js.map} +0 -0
  847. /package/dist/genexus-ide-ui/{p-6b957e82.entry.js.map → p-b211bca8.entry.js.map} +0 -0
  848. /package/dist/genexus-ide-ui/{p-2027c939.entry.js.map → p-e37e95e7.entry.js.map} +0 -0
  849. /package/dist/genexus-ide-ui/{p-e7fb3ee3.entry.js.map → p-f2bd9044.entry.js.map} +0 -0
  850. /package/dist/genexus-ide-ui/{p-0550fd5f.entry.js.map → p-f52bcdac.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"sign-in-team.js","sourceRoot":"","sources":["../../../src/components/sign-in-team/sign-in-team.tsx"],"names":[],"mappings":"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","sourcesContent":["// 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"]}
1
+ {"version":3,"file":"sign-in-team.js","sourceRoot":"","sources":["../../../src/components/sign-in-team/sign-in-team.tsx"],"names":[],"mappings":"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","sourcesContent":["// 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"]}
@@ -53,10 +53,9 @@ export class GxIdeUiSplash {
53
53
  __classPrivateFieldSet(this, _GxIdeUiSplash_componentLocale, await Locale.getComponentStrings(this.el), "f");
54
54
  }
55
55
  render() {
56
- var _a, _b;
57
56
  const renderOpenLogLink = this.showOpenLogLink && this.openLogCallback;
58
57
  const renderInstallationErrorMessage = this.showQuitButton && this.quitCallback && this.messages.length > 0;
59
- const renderInitializingMessage = !(this.showQuitButton && this.quitCallback) && ((_a = this.messages) === null || _a === void 0 ? void 0 : _a.length) > 0;
58
+ const renderInitializingMessage = !(this.showQuitButton && this.quitCallback) && this.messages?.length > 0;
60
59
  const renderErrorMessage = this.showDockerMissingError || !renderInitializingMessage;
61
60
  let installationErrorMessage = __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").warnings.installationFailed;
62
61
  if (renderOpenLogLink) {
@@ -68,7 +67,7 @@ export class GxIdeUiSplash {
68
67
  } }, h("div", { class: "side-inline-start", style: { backgroundImage: `url(${COPYRIGHTS_ILLUSTRATION})` }, role: "img" }), h("section", { class: "side-inline-end scrollable" }, h("header", { class: "header" }, h("img", { src: LOGO_NEXT, alt: __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").illustrationAlternativeText }), h("h2", { class: "title" }, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").title), h("p", { class: "body-italic-m header__description" }, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").allRightsReserved), h("p", { class: "body-italic-m header__description" }, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").copyright)), h("main", { class: "main" }, renderInitializingMessage && (h("p", { class: {
69
68
  "body-regular-m": true,
70
69
  "status--processing": true
71
- } }, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").initializingServices, ANIMATION_DOTS("tiny", "on-surface"))), h("code", { class: "log__container scrollable", role: "status", "aria-live": "polite", "aria-busy": this.ariaBusy }, (_b = this.messages) === null || _b === void 0 ? void 0 : _b.reverse().map((message, i) => {
70
+ } }, __classPrivateFieldGet(this, _GxIdeUiSplash_componentLocale, "f").initializingServices, ANIMATION_DOTS("tiny", "on-surface"))), h("code", { class: "log__container scrollable", role: "status", "aria-live": "polite", "aria-busy": this.ariaBusy }, this.messages?.reverse().map((message, i) => {
72
71
  return (h("p", { class: {
73
72
  "tiny-regular-l": true,
74
73
  "log__message": true,
@@ -1 +1 @@
1
- {"version":3,"file":"splash.js","sourceRoot":"","sources":["../../../src/components/splash/splash.tsx"],"names":[],"mappings":"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","sourcesContent":["// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n getAssetPath\n} from \"@stencil/core\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../common/locale\";\nimport { ANIMATION_DOTS } from \"../../common/common\";\n\nconst COPYRIGHTS_ILLUSTRATION = getAssetPath(\n `./gx-ide-assets/splash/images/copyrights-illustration.svg`\n);\nconst LOGO_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 \"chameleon/scrollbar\"\n];\n\nconst OPEN_LOG_ICON = getIconPath({\n category: \"system\",\n name: \"launch\",\n colorType: \"primary\"\n});\n\n@Component({\n tag: \"gx-ide-splash\",\n styleUrl: \"splash.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/splash\"]\n})\nexport class GxIdeUiSplash {\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 @Element() el: HTMLGxIdeSplashElement;\n\n /**\n * Set this to true if installation is in process\n */\n @State() ariaBusy: boolean = true;\n\n /**\n * Callback invoked when the user clicks the 'Download Docker' button.\n */\n @Prop() readonly downloadDockerCallback: () => void;\n\n /**\n * Callback invoked when the user clicks the quit button.\n */\n @Prop() readonly quitCallback: () => void;\n\n /**\n * Array of messages to display in the text box.\n * This property updates whenever a message is added,\n * and the scroll should position itself at the bottom to keep the last message visible.\n */\n @Prop() readonly messages: MessageType[] = [];\n\n /**\n * Callback invoked when the user clicks the 'Open log' link.\n */\n @Prop() readonly openLogCallback: () => void;\n\n /**\n * Set to `true` to display the quit button.\n */\n @Prop() readonly showQuitButton: boolean = false;\n\n /**\n * Set to `true` to display the 'Open log' link.\n */\n @Prop() readonly showOpenLogLink: boolean = false;\n\n /**\n * Set to `true` to display \"Docker is not installed\" error message and to display \"Download Docker\" button.\n */\n @Prop() readonly showDockerMissingError: boolean = false;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n render() {\n const renderOpenLogLink = this.showOpenLogLink && this.openLogCallback;\n const renderInstallationErrorMessage =\n this.showQuitButton && this.quitCallback && this.messages.length > 0;\n const renderInitializingMessage =\n !(this.showQuitButton && this.quitCallback) && this.messages?.length > 0;\n const renderErrorMessage =\n this.showDockerMissingError || !renderInitializingMessage;\n\n let installationErrorMessage =\n this.#componentLocale.warnings.installationFailed;\n if (renderOpenLogLink) {\n installationErrorMessage = `${installationErrorMessage} ${\n this.#componentLocale.warnings.checkTheLog\n }`;\n }\n\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div\n class={{\n scrollable: true,\n wrapper: true\n }}\n >\n <div\n class=\"side-inline-start\"\n style={{ backgroundImage: `url(${COPYRIGHTS_ILLUSTRATION})` }}\n role=\"img\"\n ></div>\n\n <section class=\"side-inline-end scrollable\">\n <header class=\"header\">\n <img\n src={LOGO_NEXT}\n alt={this.#componentLocale.illustrationAlternativeText}\n />\n <h2 class=\"title\">{this.#componentLocale.title}</h2>\n <p class=\"body-italic-m header__description\">\n {this.#componentLocale.allRightsReserved}\n </p>\n <p class=\"body-italic-m header__description\">\n {this.#componentLocale.copyright}\n </p>\n </header>\n\n <main class=\"main\">\n {renderInitializingMessage && (\n <p\n class={{\n \"body-regular-m\": true,\n \"status--processing\": true\n }}\n >\n {this.#componentLocale.initializingServices}\n {ANIMATION_DOTS(\"tiny\", \"on-surface\")}\n </p>\n )}\n\n <code\n class=\"log__container scrollable\"\n role=\"status\"\n aria-live=\"polite\"\n aria-busy={this.ariaBusy}\n >\n {this.messages?.reverse().map((message, i) => {\n return (\n <p\n class={{\n \"tiny-regular-l\": true,\n \"log__message\": true,\n \"log__message--error\": message.type === \"error\"\n }}\n key={this.messages.length - i}\n >\n {message.text}\n </p>\n );\n })}\n </code>\n\n {renderErrorMessage && (\n <p class=\"error-message status--error\">\n {renderInstallationErrorMessage && (\n <span>{installationErrorMessage}</span>\n )}\n\n {renderInstallationErrorMessage &&\n this.showDockerMissingError && <span> - </span>}\n\n {this.showDockerMissingError && (\n <span>{this.#componentLocale.warnings.dockerMissing}</span>\n )}\n </p>\n )}\n </main>\n\n <footer class=\"footer\">\n <div class=\"buttons-spacer\">\n {this.showDockerMissingError && (\n <button\n key=\"download-docker\"\n class=\"button-secondary button-icon-and-text download-docker-button\"\n onClick={this.downloadDockerCallback}\n >\n {this.#componentLocale.downloadDocker}\n </button>\n )}\n\n {renderOpenLogLink && (\n <button\n key=\"open-log\"\n class=\"button-tertiary button-icon-and-text\"\n onClick={this.openLogCallback}\n >\n <ch-image class=\"icon-md\" src={OPEN_LOG_ICON}></ch-image>\n {this.#componentLocale.openLog}\n </button>\n )}\n\n {this.quitCallback && this.showQuitButton && (\n <button class=\"button-secondary\" onClick={this.quitCallback}>\n {this.#componentLocale.quitGenexus}\n </button>\n )}\n </div>\n </footer>\n </section>\n </div>\n </Host>\n );\n }\n}\n\nexport type MessageType = {\n type: \"info\" | \"error\";\n text: string;\n};\n"]}
1
+ {"version":3,"file":"splash.js","sourceRoot":"","sources":["../../../src/components/splash/splash.tsx"],"names":[],"mappings":"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","sourcesContent":["// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n getAssetPath\n} from \"@stencil/core\";\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../common/locale\";\nimport { ANIMATION_DOTS } from \"../../common/common\";\n\nconst COPYRIGHTS_ILLUSTRATION = getAssetPath(\n `./gx-ide-assets/splash/images/copyrights-illustration.svg`\n);\nconst LOGO_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 \"chameleon/scrollbar\"\n];\n\nconst OPEN_LOG_ICON = getIconPath({\n category: \"system\",\n name: \"launch\",\n colorType: \"primary\"\n});\n\n@Component({\n tag: \"gx-ide-splash\",\n styleUrl: \"splash.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/splash\"]\n})\nexport class GxIdeUiSplash {\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 @Element() el: HTMLGxIdeSplashElement;\n\n /**\n * Set this to true if installation is in process\n */\n @State() ariaBusy: boolean = true;\n\n /**\n * Callback invoked when the user clicks the 'Download Docker' button.\n */\n @Prop() readonly downloadDockerCallback: () => void;\n\n /**\n * Callback invoked when the user clicks the quit button.\n */\n @Prop() readonly quitCallback: () => void;\n\n /**\n * Array of messages to display in the text box.\n * This property updates whenever a message is added,\n * and the scroll should position itself at the bottom to keep the last message visible.\n */\n @Prop() readonly messages: MessageType[] = [];\n\n /**\n * Callback invoked when the user clicks the 'Open log' link.\n */\n @Prop() readonly openLogCallback: () => void;\n\n /**\n * Set to `true` to display the quit button.\n */\n @Prop() readonly showQuitButton: boolean = false;\n\n /**\n * Set to `true` to display the 'Open log' link.\n */\n @Prop() readonly showOpenLogLink: boolean = false;\n\n /**\n * Set to `true` to display \"Docker is not installed\" error message and to display \"Download Docker\" button.\n */\n @Prop() readonly showDockerMissingError: boolean = false;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n render() {\n const renderOpenLogLink = this.showOpenLogLink && this.openLogCallback;\n const renderInstallationErrorMessage =\n this.showQuitButton && this.quitCallback && this.messages.length > 0;\n const renderInitializingMessage =\n !(this.showQuitButton && this.quitCallback) && this.messages?.length > 0;\n const renderErrorMessage =\n this.showDockerMissingError || !renderInitializingMessage;\n\n let installationErrorMessage =\n this.#componentLocale.warnings.installationFailed;\n if (renderOpenLogLink) {\n installationErrorMessage = `${installationErrorMessage} ${\n this.#componentLocale.warnings.checkTheLog\n }`;\n }\n\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div\n class={{\n scrollable: true,\n wrapper: true\n }}\n >\n <div\n class=\"side-inline-start\"\n style={{ backgroundImage: `url(${COPYRIGHTS_ILLUSTRATION})` }}\n role=\"img\"\n ></div>\n\n <section class=\"side-inline-end scrollable\">\n <header class=\"header\">\n <img\n src={LOGO_NEXT}\n alt={this.#componentLocale.illustrationAlternativeText}\n />\n <h2 class=\"title\">{this.#componentLocale.title}</h2>\n <p class=\"body-italic-m header__description\">\n {this.#componentLocale.allRightsReserved}\n </p>\n <p class=\"body-italic-m header__description\">\n {this.#componentLocale.copyright}\n </p>\n </header>\n\n <main class=\"main\">\n {renderInitializingMessage && (\n <p\n class={{\n \"body-regular-m\": true,\n \"status--processing\": true\n }}\n >\n {this.#componentLocale.initializingServices}\n {ANIMATION_DOTS(\"tiny\", \"on-surface\")}\n </p>\n )}\n\n <code\n class=\"log__container scrollable\"\n role=\"status\"\n aria-live=\"polite\"\n aria-busy={this.ariaBusy}\n >\n {this.messages?.reverse().map((message, i) => {\n return (\n <p\n class={{\n \"tiny-regular-l\": true,\n \"log__message\": true,\n \"log__message--error\": message.type === \"error\"\n }}\n key={this.messages.length - i}\n >\n {message.text}\n </p>\n );\n })}\n </code>\n\n {renderErrorMessage && (\n <p class=\"error-message status--error\">\n {renderInstallationErrorMessage && (\n <span>{installationErrorMessage}</span>\n )}\n\n {renderInstallationErrorMessage &&\n this.showDockerMissingError && <span> - </span>}\n\n {this.showDockerMissingError && (\n <span>{this.#componentLocale.warnings.dockerMissing}</span>\n )}\n </p>\n )}\n </main>\n\n <footer class=\"footer\">\n <div class=\"buttons-spacer\">\n {this.showDockerMissingError && (\n <button\n key=\"download-docker\"\n class=\"button-secondary button-icon-and-text download-docker-button\"\n onClick={this.downloadDockerCallback}\n >\n {this.#componentLocale.downloadDocker}\n </button>\n )}\n\n {renderOpenLogLink && (\n <button\n key=\"open-log\"\n class=\"button-tertiary button-icon-and-text\"\n onClick={this.openLogCallback}\n >\n <ch-image class=\"icon-md\" src={OPEN_LOG_ICON}></ch-image>\n {this.#componentLocale.openLog}\n </button>\n )}\n\n {this.quitCallback && this.showQuitButton && (\n <button class=\"button-secondary\" onClick={this.quitCallback}>\n {this.#componentLocale.quitGenexus}\n </button>\n )}\n </div>\n </footer>\n </section>\n </div>\n </Host>\n );\n }\n}\n\nexport type MessageType = {\n type: \"info\" | \"error\";\n text: string;\n};\n"]}
@@ -108,10 +108,8 @@ export class GxIdeStartPage {
108
108
  } }, this.filteredKbs.length > 0 ? __classPrivateFieldGet(this, _GxIdeStartPage_renderKbs, "f").call(this) : contentToRender)));
109
109
  });
110
110
  _GxIdeStartPage_renderKbs.set(this, () => {
111
- var _a;
112
- return (_a = this.filteredKbs) === null || _a === void 0 ? void 0 : _a.map((kb, index) => {
111
+ return this.filteredKbs?.map((kb, index) => {
113
112
  // relative time ago
114
- var _a;
115
113
  const relativeDate = kb.lastOpenedDate
116
114
  ? formatDistanceToNow(new Date(kb.lastOpenedDate), {
117
115
  addSuffix: true,
@@ -119,7 +117,7 @@ export class GxIdeStartPage {
119
117
  })
120
118
  : undefined;
121
119
  // icon
122
- const kbIcon = (_a = kb.icon) !== null && _a !== void 0 ? _a : KB_DEFAULT_ICON;
120
+ const kbIcon = kb.icon ?? KB_DEFAULT_ICON;
123
121
  return (h("article", { class: "kb__item", key: index }, h("div", { class: "kb__details" }, h("ch-image", { class: "icon-md", src: kbIcon }), h("p", { class: "body-regular-m kb__name", onClick: __classPrivateFieldGet(this, _GxIdeStartPage_openKbClickHandler, "f").call(this, kb.id) }, kb.name)), relativeDate && (h("div", { class: "body-regular-m kb__modified" }, `${__classPrivateFieldGet(this, _GxIdeStartPage_componentLocale, "f").recentKBs.opened} ${relativeDate}`))));
124
122
  });
125
123
  });
@@ -166,9 +164,8 @@ export class GxIdeStartPage {
166
164
  __classPrivateFieldSet(this, _GxIdeStartPage_userLanguage, LANGS_DATE_FNS_MAP[userLanguage], "f");
167
165
  }
168
166
  render() {
169
- var _a;
170
167
  this.loading =
171
- (!this.kbs || ((_a = this.kbs) === null || _a === void 0 ? void 0 : _a.length) === 0) && !this.secondarySection;
168
+ (!this.kbs || this.kbs?.length === 0) && !this.secondarySection;
172
169
  return (h(Host, { class: "widget scrollable spacing-body" }, h("ch-theme", { model: CSS_BUNDLES }), h("main", { class: "main scrollable" }, h("section", {
173
170
  // Create a new Knowledge Base
174
171
  class: "section-create-new-kb"
@@ -1 +1 @@
1
- {"version":3,"file":"start-page.js","sourceRoot":"","sources":["../../../src/components/start-page/start-page.tsx"],"names":[],"mappings":"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","sourcesContent":["// Stencil\nimport { Component, Host, h, Prop, State, Element, Watch } from \"@stencil/core\";\n// Other Libraries\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport { formatDistanceToNow, Locale as LocaleDateFns } from \"date-fns\";\nimport { ja, zhCN, enUS } from \"date-fns/locale\";\n// import { enUS } from \"date-fns/locale\";\nimport { ChEditCustomEvent } from \"@genexus/chameleon-controls-library\";\n// Custom\nimport { Locale } from \"../../common/locale\";\n\n// const locale = enUS; // use `zhCN` for Chinese, `ja` for Japanese, `enUS` for English\n\nconst LANGS_DATE_FNS_MAP: LanguageMap = {\n \"en\": enUS,\n \"ja\": ja,\n \"zh-CN\": zhCN,\n \"zh-TW\": zhCN,\n \"zh-HK\": zhCN\n};\n\nconst DETAIL_ICON = getIconPath({\n category: \"system\",\n name: \"detail\",\n colorType: \"primary\"\n});\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-elevation\"\n});\nconst KB_DEFAULT_ICON = getIconPath({\n category: \"objects\",\n name: \"knowledge-base\"\n});\nconst SEARCH_ICON = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-elevation\"\n});\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"utils/layout\",\n \"components/edit\",\n \"components/icon\",\n \"components/button\",\n \"chameleon/scrollbar\",\n \"utils/typography\"\n];\n\n@Component({\n tag: \"gx-ide-start-page\",\n styleUrl: \"start-page.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/start-page\"]\n})\nexport class GxIdeStartPage {\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 #userLanguage: LocaleDateFns;\n\n @Element() el: HTMLGxIdeStartPageElement;\n\n @State() kbFilterValue: string = \"\";\n @Watch(\"kbFilterValue\")\n kbFilterValueChanged(newKbFilterValue: string) {\n this.filteredKbs = this.kbs.filter(kb =>\n kb.name.toLowerCase().includes(newKbFilterValue.toLocaleLowerCase())\n );\n }\n\n /**\n * The kbs after the filter value.\n */\n @State() filteredKbs: RecentKBData[];\n\n /**\n * True if the start page is waiting, either for the kb's list or the secondary section.\n */\n @State() loading: boolean = true;\n\n /**\n * Callback invoked to create a new KB. It must be specified whether this create is create from server or not, through the parameter 'fromServer'.\n */\n @Prop() readonly createKBCallback!: (fromServer: boolean) => Promise<void>;\n\n /**\n * Callback invoked to open a KB when the user clicks on a KB card.\n */\n @Prop() readonly openKbCallback!: (id: string) => Promise<void>;\n\n /**\n * The secondary section that will appear below the \"Create a new Knowledge Base\" main section. This section will be displayed if there are no recent kbs.\n */\n @Prop() readonly secondarySection?: SecondarySection;\n\n /**\n * User's kbs array\n */\n @Prop() readonly kbs: RecentKBData[];\n @Watch(\"kbs\")\n kbsChanged(newKbs: RecentKBData[]) {\n this.filteredKbs = newKbs;\n this.kbFilterValue = \"\"; // clear filter\n }\n\n /**\n * The minimum required of kbs to display a filter.\n */\n @Prop() readonly kbsFilterThreshold: number;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n\n // initialize filteredKbs\n this.kbsChanged(this.kbs);\n\n // get user language to display the kb \"last opened\" value in the appropriate language.\n const userLanguage: keyof LanguageMap = document.documentElement\n .lang as keyof LanguageMap;\n this.#userLanguage = LANGS_DATE_FNS_MAP[userLanguage];\n }\n\n #createKBClickHandler = (fromServer: boolean) => (event: MouseEvent) => {\n event.stopPropagation();\n this.createKBCallback(fromServer);\n };\n\n #openKbClickHandler = (kbId: string) => (event: MouseEvent) => {\n event.stopPropagation();\n this.openKbCallback(kbId);\n };\n\n #filterKbs = (event: ChEditCustomEvent<string> | InputEvent) => {\n this.kbFilterValue = event.detail as string;\n };\n\n #renderKbsSection = () => {\n const hideKbsFilter = this.kbs.length < this.kbsFilterThreshold;\n const kbsListEmpty = this.filteredKbs.length === 0;\n let contentToRender: HTMLGxgIdeLoaderElement | HTMLElement[];\n\n // Evaluate what is the content to display.\n if (this.filteredKbs.length > 0) {\n contentToRender = this.#renderKbs();\n } else {\n // No kb has pass the filter. Display an empty-state.\n contentToRender = (\n <gx-ide-empty-state\n isAnimated\n stateIconSrc={FILTER_ICON}\n stateTitle={this.#componentLocale.recentKBs.noMatches}\n ></gx-ide-empty-state>\n );\n }\n\n return (\n <section class=\"section-kbs\">\n <header\n class={{\n \"section-kbs__header\": true\n }}\n >\n <h2 class=\"subtitle-regular-s section-kbs__title\">\n {this.#componentLocale.recentKBs.title}\n </h2>\n <ch-edit\n // Render always, and display or hide, ro prevent FOUC, and also prevent\n // the header block-size from growing a little bit when the input renders.\n value={this.kbFilterValue}\n class={{\n \"input\": true,\n \"section-kbs__filter--hidden\": hideKbsFilter\n }}\n startImgSrc={SEARCH_ICON}\n placeholder={this.#componentLocale.recentKBs.filterKbsPlaceholder}\n onInput={!hideKbsFilter && this.#filterKbs}\n disabled={hideKbsFilter}\n ></ch-edit>\n </header>\n\n <div\n class={{\n \"section-kbs__list\": true,\n \"section-kbs__list--empty\": kbsListEmpty,\n \"scrollable\": true\n }}\n >\n {this.filteredKbs.length > 0 ? this.#renderKbs() : contentToRender}\n </div>\n </section>\n );\n };\n\n #renderKbs = (): HTMLElement[] => {\n return this.filteredKbs?.map((kb, index) => {\n // relative time ago\n\n const relativeDate = kb.lastOpenedDate\n ? formatDistanceToNow(new Date(kb.lastOpenedDate), {\n addSuffix: true,\n locale: this.#userLanguage\n })\n : undefined;\n\n // icon\n const kbIcon = kb.icon ?? KB_DEFAULT_ICON;\n\n return (\n <article class=\"kb__item\" key={index}>\n <div class=\"kb__details\">\n <ch-image class=\"icon-md\" src={kbIcon}></ch-image>\n <p\n class=\"body-regular-m kb__name\"\n onClick={this.#openKbClickHandler(kb.id)}\n >\n {kb.name}\n </p>\n </div>\n {relativeDate && (\n <div class=\"body-regular-m kb__modified\">\n {`${this.#componentLocale.recentKBs.opened} ${relativeDate}`}\n </div>\n )}\n </article>\n );\n });\n };\n\n #evaluateContentToRender() {\n return this.kbs && this.kbs.length > 0\n ? this.#renderKbsSection()\n : this.#renderSecondarySection();\n }\n\n #renderSecondarySection = (): HTMLElement | null => {\n if (!this.secondarySection) {\n return null;\n }\n\n const multipleCards = this.secondarySection.cards.length > 2;\n\n return (\n <section\n // Recent Knowledge Bases\n class=\"section-secondary\"\n >\n <header>\n <h2 class=\"subtitle-regular-s\">{this.secondarySection.title}</h2>\n </header>\n\n <section\n class={{\n \"section-secondary__actions\": true,\n \"section-secondary__actions--two-cards\": !multipleCards,\n \"section-secondary__actions--multiple-cards\": multipleCards,\n \"scrollable\": true\n }}\n >\n {this.secondarySection.cards.map((card, index) => {\n return (\n <article class=\"card card-outlined\" key={index}>\n <header class=\"card__header\">\n <span class=\"icon-capsule\">\n <ch-image\n class=\"icon-md icon-circular\"\n src={card.icon.src}\n aria-label={card.icon.ariaLabel}\n ></ch-image>\n </span>\n <div class=\"card__header-description\">\n <h2 class=\"subtitle-regular-s\">{card.title}</h2>\n {card.description.map(paragraph => (\n <p class=\"body-regular-m\">{paragraph}</p>\n ))}\n </div>\n </header>\n <footer class=\"card__footer\">\n {card.action && (\n <button\n class=\"button-tertiary button-icon-and-text\"\n onClick={card.action.callback && card.action.callback}\n >\n <ch-image class=\"icon-md\" src={DETAIL_ICON}></ch-image>\n {card.action.caption}\n </button>\n )}\n </footer>\n </article>\n );\n })}\n </section>\n </section>\n );\n };\n\n render() {\n this.loading =\n (!this.kbs || this.kbs?.length === 0) && !this.secondarySection;\n return (\n <Host class=\"widget scrollable spacing-body\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <main class=\"main scrollable\">\n <section\n // Create a new Knowledge Base\n class=\"section-create-new-kb\"\n >\n <header\n // main header\n class=\"section-create-new__header\"\n >\n <h1 class=\"heading-4\">{this.#componentLocale.createKB.title}</h1>\n <p class=\"body-regular-m\">\n {this.#componentLocale.createKB.description}\n </p>\n </header>\n\n <section class=\"section-create-new-kb__actions scrollable\">\n <article\n // create project\n class=\"card card-filled\"\n >\n <header class=\"card__header\">\n <div class=\"card__header-description\">\n <h2 class=\"subtitle-regular-s\">\n {this.#componentLocale.createProject.title}\n </h2>\n <p class=\"body-regular-m\">\n {this.#componentLocale.createProject.description}\n </p>\n </div>\n </header>\n <footer class=\"card__footer\">\n <button\n class=\"button-primary\"\n onClick={this.#createKBClickHandler(false)}\n >\n {this.#componentLocale.createProject.buttonCaption}\n </button>\n </footer>\n </article>\n\n <article\n // open existing project\n class=\"card-filled\"\n >\n <header class=\"card__header\">\n <div class=\"card__header-description\">\n <h2 class=\"subtitle-regular-s\">\n {this.#componentLocale.openExistingProject.title}\n </h2>\n <p class=\"body-regular-m\">\n {this.#componentLocale.openExistingProject.description}\n </p>\n </div>\n </header>\n <footer class=\"card__footer\">\n <button\n class=\"button-secondary cancel-btn\"\n onClick={this.#createKBClickHandler(true)}\n >\n {this.#componentLocale.openExistingProject.buttonCaption}\n </button>\n </footer>\n </article>\n </section>\n </section>\n <section class=\"section-secondary scrollable\">\n {this.loading ? (\n <gx-ide-loader\n class=\"loader\"\n loaderTitle={this.#componentLocale.recentKBs.loaderTitle}\n description={this.#componentLocale.recentKBs.loaderDescription}\n show\n ></gx-ide-loader>\n ) : (\n this.#evaluateContentToRender()\n )}\n </section>\n </main>\n </Host>\n );\n }\n}\n\nexport type RecentKBData = {\n id?: string;\n name: string;\n lastOpenedDate?: Date;\n icon: string;\n};\n\nexport type SecondarySection = {\n title: string;\n cards: CardInfo[];\n};\n\nexport type CardInfo = {\n icon?: {\n src: string;\n ariaLabel: string;\n };\n title: string;\n description: string[];\n action?: {\n iconSrc: string;\n caption: string;\n callback?: () => void;\n };\n};\n\ntype LanguageMap = {\n \"en\": LocaleDateFns;\n \"ja\": LocaleDateFns;\n \"zh-CN\": LocaleDateFns;\n \"zh-TW\": LocaleDateFns;\n \"zh-HK\": LocaleDateFns;\n};\n"]}
1
+ {"version":3,"file":"start-page.js","sourceRoot":"","sources":["../../../src/components/start-page/start-page.tsx"],"names":[],"mappings":"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","sourcesContent":["// Stencil\nimport { Component, Host, h, Prop, State, Element, Watch } from \"@stencil/core\";\n// Other Libraries\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport { formatDistanceToNow, Locale as LocaleDateFns } from \"date-fns\";\nimport { ja, zhCN, enUS } from \"date-fns/locale\";\n// import { enUS } from \"date-fns/locale\";\nimport { ChEditCustomEvent } from \"@genexus/chameleon-controls-library\";\n// Custom\nimport { Locale } from \"../../common/locale\";\n\n// const locale = enUS; // use `zhCN` for Chinese, `ja` for Japanese, `enUS` for English\n\nconst LANGS_DATE_FNS_MAP: LanguageMap = {\n \"en\": enUS,\n \"ja\": ja,\n \"zh-CN\": zhCN,\n \"zh-TW\": zhCN,\n \"zh-HK\": zhCN\n};\n\nconst DETAIL_ICON = getIconPath({\n category: \"system\",\n name: \"detail\",\n colorType: \"primary\"\n});\nconst FILTER_ICON = getIconPath({\n category: \"window-tools\",\n name: \"filter\",\n colorType: \"on-elevation\"\n});\nconst KB_DEFAULT_ICON = getIconPath({\n category: \"objects\",\n name: \"knowledge-base\"\n});\nconst SEARCH_ICON = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-elevation\"\n});\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"utils/layout\",\n \"components/edit\",\n \"components/icon\",\n \"components/button\",\n \"chameleon/scrollbar\",\n \"utils/typography\"\n];\n\n@Component({\n tag: \"gx-ide-start-page\",\n styleUrl: \"start-page.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/start-page\"]\n})\nexport class GxIdeStartPage {\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 #userLanguage: LocaleDateFns;\n\n @Element() el: HTMLGxIdeStartPageElement;\n\n @State() kbFilterValue: string = \"\";\n @Watch(\"kbFilterValue\")\n kbFilterValueChanged(newKbFilterValue: string) {\n this.filteredKbs = this.kbs.filter(kb =>\n kb.name.toLowerCase().includes(newKbFilterValue.toLocaleLowerCase())\n );\n }\n\n /**\n * The kbs after the filter value.\n */\n @State() filteredKbs: RecentKBData[];\n\n /**\n * True if the start page is waiting, either for the kb's list or the secondary section.\n */\n @State() loading: boolean = true;\n\n /**\n * Callback invoked to create a new KB. It must be specified whether this create is create from server or not, through the parameter 'fromServer'.\n */\n @Prop() readonly createKBCallback!: (fromServer: boolean) => Promise<void>;\n\n /**\n * Callback invoked to open a KB when the user clicks on a KB card.\n */\n @Prop() readonly openKbCallback!: (id: string) => Promise<void>;\n\n /**\n * The secondary section that will appear below the \"Create a new Knowledge Base\" main section. This section will be displayed if there are no recent kbs.\n */\n @Prop() readonly secondarySection?: SecondarySection;\n\n /**\n * User's kbs array\n */\n @Prop() readonly kbs: RecentKBData[];\n @Watch(\"kbs\")\n kbsChanged(newKbs: RecentKBData[]) {\n this.filteredKbs = newKbs;\n this.kbFilterValue = \"\"; // clear filter\n }\n\n /**\n * The minimum required of kbs to display a filter.\n */\n @Prop() readonly kbsFilterThreshold: number;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n\n // initialize filteredKbs\n this.kbsChanged(this.kbs);\n\n // get user language to display the kb \"last opened\" value in the appropriate language.\n const userLanguage: keyof LanguageMap = document.documentElement\n .lang as keyof LanguageMap;\n this.#userLanguage = LANGS_DATE_FNS_MAP[userLanguage];\n }\n\n #createKBClickHandler = (fromServer: boolean) => (event: MouseEvent) => {\n event.stopPropagation();\n this.createKBCallback(fromServer);\n };\n\n #openKbClickHandler = (kbId: string) => (event: MouseEvent) => {\n event.stopPropagation();\n this.openKbCallback(kbId);\n };\n\n #filterKbs = (event: ChEditCustomEvent<string> | InputEvent) => {\n this.kbFilterValue = event.detail as string;\n };\n\n #renderKbsSection = () => {\n const hideKbsFilter = this.kbs.length < this.kbsFilterThreshold;\n const kbsListEmpty = this.filteredKbs.length === 0;\n let contentToRender: HTMLGxgIdeLoaderElement | HTMLElement[];\n\n // Evaluate what is the content to display.\n if (this.filteredKbs.length > 0) {\n contentToRender = this.#renderKbs();\n } else {\n // No kb has pass the filter. Display an empty-state.\n contentToRender = (\n <gx-ide-empty-state\n isAnimated\n stateIconSrc={FILTER_ICON}\n stateTitle={this.#componentLocale.recentKBs.noMatches}\n ></gx-ide-empty-state>\n );\n }\n\n return (\n <section class=\"section-kbs\">\n <header\n class={{\n \"section-kbs__header\": true\n }}\n >\n <h2 class=\"subtitle-regular-s section-kbs__title\">\n {this.#componentLocale.recentKBs.title}\n </h2>\n <ch-edit\n // Render always, and display or hide, ro prevent FOUC, and also prevent\n // the header block-size from growing a little bit when the input renders.\n value={this.kbFilterValue}\n class={{\n \"input\": true,\n \"section-kbs__filter--hidden\": hideKbsFilter\n }}\n startImgSrc={SEARCH_ICON}\n placeholder={this.#componentLocale.recentKBs.filterKbsPlaceholder}\n onInput={!hideKbsFilter && this.#filterKbs}\n disabled={hideKbsFilter}\n ></ch-edit>\n </header>\n\n <div\n class={{\n \"section-kbs__list\": true,\n \"section-kbs__list--empty\": kbsListEmpty,\n \"scrollable\": true\n }}\n >\n {this.filteredKbs.length > 0 ? this.#renderKbs() : contentToRender}\n </div>\n </section>\n );\n };\n\n #renderKbs = (): HTMLElement[] => {\n return this.filteredKbs?.map((kb, index) => {\n // relative time ago\n\n const relativeDate = kb.lastOpenedDate\n ? formatDistanceToNow(new Date(kb.lastOpenedDate), {\n addSuffix: true,\n locale: this.#userLanguage\n })\n : undefined;\n\n // icon\n const kbIcon = kb.icon ?? KB_DEFAULT_ICON;\n\n return (\n <article class=\"kb__item\" key={index}>\n <div class=\"kb__details\">\n <ch-image class=\"icon-md\" src={kbIcon}></ch-image>\n <p\n class=\"body-regular-m kb__name\"\n onClick={this.#openKbClickHandler(kb.id)}\n >\n {kb.name}\n </p>\n </div>\n {relativeDate && (\n <div class=\"body-regular-m kb__modified\">\n {`${this.#componentLocale.recentKBs.opened} ${relativeDate}`}\n </div>\n )}\n </article>\n );\n });\n };\n\n #evaluateContentToRender() {\n return this.kbs && this.kbs.length > 0\n ? this.#renderKbsSection()\n : this.#renderSecondarySection();\n }\n\n #renderSecondarySection = (): HTMLElement | null => {\n if (!this.secondarySection) {\n return null;\n }\n\n const multipleCards = this.secondarySection.cards.length > 2;\n\n return (\n <section\n // Recent Knowledge Bases\n class=\"section-secondary\"\n >\n <header>\n <h2 class=\"subtitle-regular-s\">{this.secondarySection.title}</h2>\n </header>\n\n <section\n class={{\n \"section-secondary__actions\": true,\n \"section-secondary__actions--two-cards\": !multipleCards,\n \"section-secondary__actions--multiple-cards\": multipleCards,\n \"scrollable\": true\n }}\n >\n {this.secondarySection.cards.map((card, index) => {\n return (\n <article class=\"card card-outlined\" key={index}>\n <header class=\"card__header\">\n <span class=\"icon-capsule\">\n <ch-image\n class=\"icon-md icon-circular\"\n src={card.icon.src}\n aria-label={card.icon.ariaLabel}\n ></ch-image>\n </span>\n <div class=\"card__header-description\">\n <h2 class=\"subtitle-regular-s\">{card.title}</h2>\n {card.description.map(paragraph => (\n <p class=\"body-regular-m\">{paragraph}</p>\n ))}\n </div>\n </header>\n <footer class=\"card__footer\">\n {card.action && (\n <button\n class=\"button-tertiary button-icon-and-text\"\n onClick={card.action.callback && card.action.callback}\n >\n <ch-image class=\"icon-md\" src={DETAIL_ICON}></ch-image>\n {card.action.caption}\n </button>\n )}\n </footer>\n </article>\n );\n })}\n </section>\n </section>\n );\n };\n\n render() {\n this.loading =\n (!this.kbs || this.kbs?.length === 0) && !this.secondarySection;\n return (\n <Host class=\"widget scrollable spacing-body\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <main class=\"main scrollable\">\n <section\n // Create a new Knowledge Base\n class=\"section-create-new-kb\"\n >\n <header\n // main header\n class=\"section-create-new__header\"\n >\n <h1 class=\"heading-4\">{this.#componentLocale.createKB.title}</h1>\n <p class=\"body-regular-m\">\n {this.#componentLocale.createKB.description}\n </p>\n </header>\n\n <section class=\"section-create-new-kb__actions scrollable\">\n <article\n // create project\n class=\"card card-filled\"\n >\n <header class=\"card__header\">\n <div class=\"card__header-description\">\n <h2 class=\"subtitle-regular-s\">\n {this.#componentLocale.createProject.title}\n </h2>\n <p class=\"body-regular-m\">\n {this.#componentLocale.createProject.description}\n </p>\n </div>\n </header>\n <footer class=\"card__footer\">\n <button\n class=\"button-primary\"\n onClick={this.#createKBClickHandler(false)}\n >\n {this.#componentLocale.createProject.buttonCaption}\n </button>\n </footer>\n </article>\n\n <article\n // open existing project\n class=\"card-filled\"\n >\n <header class=\"card__header\">\n <div class=\"card__header-description\">\n <h2 class=\"subtitle-regular-s\">\n {this.#componentLocale.openExistingProject.title}\n </h2>\n <p class=\"body-regular-m\">\n {this.#componentLocale.openExistingProject.description}\n </p>\n </div>\n </header>\n <footer class=\"card__footer\">\n <button\n class=\"button-secondary cancel-btn\"\n onClick={this.#createKBClickHandler(true)}\n >\n {this.#componentLocale.openExistingProject.buttonCaption}\n </button>\n </footer>\n </article>\n </section>\n </section>\n <section class=\"section-secondary scrollable\">\n {this.loading ? (\n <gx-ide-loader\n class=\"loader\"\n loaderTitle={this.#componentLocale.recentKBs.loaderTitle}\n description={this.#componentLocale.recentKBs.loaderDescription}\n show\n ></gx-ide-loader>\n ) : (\n this.#evaluateContentToRender()\n )}\n </section>\n </main>\n </Host>\n );\n }\n}\n\nexport type RecentKBData = {\n id?: string;\n name: string;\n lastOpenedDate?: Date;\n icon: string;\n};\n\nexport type SecondarySection = {\n title: string;\n cards: CardInfo[];\n};\n\nexport type CardInfo = {\n icon?: {\n src: string;\n ariaLabel: string;\n };\n title: string;\n description: string[];\n action?: {\n iconSrc: string;\n caption: string;\n callback?: () => void;\n };\n};\n\ntype LanguageMap = {\n \"en\": LocaleDateFns;\n \"ja\": LocaleDateFns;\n \"zh-CN\": LocaleDateFns;\n \"zh-TW\": LocaleDateFns;\n \"zh-HK\": LocaleDateFns;\n};\n"]}
@@ -370,6 +370,15 @@ New classes for Chameleon + Mercury
370
370
  display: contents;
371
371
  }
372
372
 
373
+ .pill-tag {
374
+ padding: 1px 4px;
375
+ border-radius: 2px;
376
+ min-inline-size: 40px;
377
+ text-align: center;
378
+ margin-inline-end: 10px;
379
+ font-size: 11px;
380
+ }
381
+
373
382
  /* - - - - - - - - - - - - - - - - - - -
374
383
  Old classes (Gemini) to be removed soon
375
384
  - - - - - - - - - - - - - - - - - - - */
@@ -696,6 +705,7 @@ gxg-tab::part(container) {
696
705
  white-space: nowrap;
697
706
  overflow: hidden;
698
707
  text-overflow: ellipsis;
708
+ min-inline-size: 0;
699
709
  }
700
710
  /*--- WA to be removed after gx-ide-container is removed ---*/
701
711
  gx-ide-container::part(content) {
@@ -52,31 +52,27 @@ export class HTMLGxIdeConnectGxServer {
52
52
  });
53
53
  // TODO: evaluate if this should be a global helper function.
54
54
  // It is used on other dialogs as well.
55
- _HTMLGxIdeConnectGxServer_evaluateTooltipRender.set(this, (controlReference) => {
56
- var _a, _b, _c;
57
- return ((_b = (_a = this.validatableControls) === null || _a === void 0 ? void 0 : _a.get(controlReference === null || controlReference === void 0 ? void 0 : controlReference.id)) === null || _b === void 0 ? void 0 : _b.hasError) &&
58
- ((_c = this.validatableControls.get(controlReference.id)) === null || _c === void 0 ? void 0 : _c.message) && (h("ch-tooltip", { class: "tooltip", actionElement: controlReference, blockAlign: config.tooltipSettings.blockAlign, inlineAlign: config.tooltipSettings.inlineAlign, delay: config.tooltipSettings.delay }, this.validatableControls.get(controlReference.id).message));
59
- });
55
+ _HTMLGxIdeConnectGxServer_evaluateTooltipRender.set(this, (controlReference) => this.validatableControls?.get(controlReference?.id)?.hasError &&
56
+ this.validatableControls.get(controlReference.id)?.message && (h("ch-tooltip", { class: "tooltip", actionElement: controlReference, blockAlign: config.tooltipSettings.blockAlign, inlineAlign: config.tooltipSettings.inlineAlign, delay: config.tooltipSettings.delay }, this.validatableControls.get(controlReference.id).message)));
60
57
  _HTMLGxIdeConnectGxServer_init.set(this, () => {
61
- var _a, _b, _c, _d, _e, _f, _g, _h;
62
58
  this.authenticationTypesChanged(this.authenticationTypes);
63
59
  this.serverUrlsChanged(this.serverUrls);
64
60
  // set initial values:
65
61
  // server url
66
62
  this.gxServerConnectionData.serverUrl =
67
- ((_a = this.defaultConnectionData) === null || _a === void 0 ? void 0 : _a.serverUrl) ||
68
- ((_b = this.serverUrlsComboBoxModel[0]) === null || _b === void 0 ? void 0 : _b.value);
63
+ this.defaultConnectionData?.serverUrl ||
64
+ this.serverUrlsComboBoxModel[0]?.value;
69
65
  // authentication type
70
66
  this.gxServerConnectionData.authenticationType = {
71
- id: ((_c = this.defaultConnectionData) === null || _c === void 0 ? void 0 : _c.authenticationType.id) ||
72
- ((_d = this.authenticationTypesComboBoxModel[0]) === null || _d === void 0 ? void 0 : _d.value),
73
- name: ((_e = this.defaultConnectionData) === null || _e === void 0 ? void 0 : _e.authenticationType.name) ||
74
- ((_f = this.authenticationTypesComboBoxModel[0]) === null || _f === void 0 ? void 0 : _f.caption)
67
+ id: this.defaultConnectionData?.authenticationType.id ||
68
+ this.authenticationTypesComboBoxModel[0]?.value,
69
+ name: this.defaultConnectionData?.authenticationType.name ||
70
+ this.authenticationTypesComboBoxModel[0]?.caption
75
71
  };
76
72
  // user name
77
- this.gxServerConnectionData.userName = (_g = this.defaultConnectionData) === null || _g === void 0 ? void 0 : _g.userName;
73
+ this.gxServerConnectionData.userName = this.defaultConnectionData?.userName;
78
74
  this.gxServerConnectionData.userPassword =
79
- (_h = this.defaultConnectionData) === null || _h === void 0 ? void 0 : _h.userPassword;
75
+ this.defaultConnectionData?.userPassword;
80
76
  });
81
77
  _HTMLGxIdeConnectGxServer_initializeValidatableControls.set(this, () => {
82
78
  // populate #controlsValidation with the controls that could have errors.
@@ -136,13 +132,13 @@ export class HTMLGxIdeConnectGxServer {
136
132
  this.serverUrls = undefined;
137
133
  }
138
134
  authenticationTypesChanged(newAuthenticationTypes) {
139
- if (newAuthenticationTypes === null || newAuthenticationTypes === void 0 ? void 0 : newAuthenticationTypes.length) {
135
+ if (newAuthenticationTypes?.length) {
140
136
  this.authenticationTypesComboBoxModel =
141
137
  mapAuthenticationTypeToComboBoxModel(newAuthenticationTypes);
142
138
  }
143
139
  }
144
140
  serverUrlsChanged(newServerUrls) {
145
- if (newServerUrls === null || newServerUrls === void 0 ? void 0 : newServerUrls.length) {
141
+ if (newServerUrls?.length) {
146
142
  this.serverUrlsComboBoxModel =
147
143
  mapServerUrlsToComboBoxModel(newServerUrls);
148
144
  }
@@ -155,11 +151,10 @@ export class HTMLGxIdeConnectGxServer {
155
151
  __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_initializeValidatableControls, "f").call(this);
156
152
  }
157
153
  render() {
158
- var _a, _b, _c, _d;
159
154
  return (h(Host, { class: "widget" }, h("ch-theme", { model: CSS_BUNDLES }), h("section", { class: "section" }, h("div", { class: "main field-group spacing-body" }, h("div", {
160
155
  // server urls
161
156
  class: "field field-block server-url"
162
- }, h("label", { class: "label", htmlFor: "server-url" }, __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_componentLocale, "f").main.serverURLLabel), h("ch-combo-box-render", { id: "server-url", class: "combo-box", accessibleName: "Server Url", model: this.serverUrlsComboBoxModel, placeholder: "Select a server URL", value: (_a = this.gxServerConnectionData) === null || _a === void 0 ? void 0 : _a.serverUrl, onChange: __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_serverUrlInputEventHandler, "f"), suggest: this.enableCustomServer, suggestOptions: {
157
+ }, h("label", { class: "label", htmlFor: "server-url" }, __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_componentLocale, "f").main.serverURLLabel), h("ch-combo-box-render", { id: "server-url", class: "combo-box", accessibleName: "Server Url", model: this.serverUrlsComboBoxModel, placeholder: "Select a server URL", value: this.gxServerConnectionData?.serverUrl, onChange: __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_serverUrlInputEventHandler, "f"), suggest: this.enableCustomServer, suggestOptions: {
163
158
  alreadyProcessed: false,
164
159
  autoExpand: false,
165
160
  hideMatchesAndShowNonMatches: false,
@@ -171,13 +166,13 @@ export class HTMLGxIdeConnectGxServer {
171
166
  }, ref: (el) => (__classPrivateFieldSet(this, _HTMLGxIdeConnectGxServer_serverUrlRef, el, "f")) }), __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_evaluateTooltipRender, "f").call(this, __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_serverUrlRef, "f"))), h("div", {
172
167
  // authentication types
173
168
  class: "field field-block authentication-type"
174
- }, h("label", { class: "label", htmlFor: "authentication-type" }, __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_componentLocale, "f").main.authenticationTypeLabel), h("ch-combo-box-render", { id: "authentication-type", class: "combo-box", accessibleName: "Authentication Types", model: this.authenticationTypesComboBoxModel, placeholder: "Select an authentication type", value: (_b = this.gxServerConnectionData) === null || _b === void 0 ? void 0 : _b.authenticationType.id, onInput: __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_authenticationInputEventHandler, "f") })), h("div", {
169
+ }, h("label", { class: "label", htmlFor: "authentication-type" }, __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_componentLocale, "f").main.authenticationTypeLabel), h("ch-combo-box-render", { id: "authentication-type", class: "combo-box", accessibleName: "Authentication Types", model: this.authenticationTypesComboBoxModel, placeholder: "Select an authentication type", value: this.gxServerConnectionData?.authenticationType.id, onInput: __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_authenticationInputEventHandler, "f") })), h("div", {
175
170
  // username
176
171
  class: "field field-block user-name"
177
- }, h("label", { class: "label", htmlFor: "username" }, __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_componentLocale, "f").main.usernameLabel), h("ch-edit", { type: "text", id: "username", class: "input", value: (_c = this.gxServerConnectionData) === null || _c === void 0 ? void 0 : _c.userName, onInput: __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_usernameInputEventHandler, "f"), ref: (el) => (__classPrivateFieldSet(this, _HTMLGxIdeConnectGxServer_usernameRef, el, "f")) }), __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_evaluateTooltipRender, "f").call(this, __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_usernameRef, "f"))), h("div", {
172
+ }, h("label", { class: "label", htmlFor: "username" }, __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_componentLocale, "f").main.usernameLabel), h("ch-edit", { type: "text", id: "username", class: "input", value: this.gxServerConnectionData?.userName, onInput: __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_usernameInputEventHandler, "f"), ref: (el) => (__classPrivateFieldSet(this, _HTMLGxIdeConnectGxServer_usernameRef, el, "f")) }), __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_evaluateTooltipRender, "f").call(this, __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_usernameRef, "f"))), h("div", {
178
173
  // user password
179
174
  class: "field field-block user-password"
180
- }, h("label", { class: "label", htmlFor: "password" }, __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_componentLocale, "f").main.passwordLabel), h("ch-edit", { type: "password", id: "password", class: "input", value: (_d = this.gxServerConnectionData) === null || _d === void 0 ? void 0 : _d.userPassword, onInput: __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_passwordInputEventHandler, "f"), ref: (el) => (__classPrivateFieldSet(this, _HTMLGxIdeConnectGxServer_passwordRef, el, "f")) }), __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_evaluateTooltipRender, "f").call(this, __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_passwordRef, "f")))), h("footer", { class: "control-footer-with-border spacing-body" }, h("div", { class: "buttons-spacer" }, h("button", {
175
+ }, h("label", { class: "label", htmlFor: "password" }, __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_componentLocale, "f").main.passwordLabel), h("ch-edit", { type: "password", id: "password", class: "input", value: this.gxServerConnectionData?.userPassword, onInput: __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_passwordInputEventHandler, "f"), ref: (el) => (__classPrivateFieldSet(this, _HTMLGxIdeConnectGxServer_passwordRef, el, "f")) }), __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_evaluateTooltipRender, "f").call(this, __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_passwordRef, "f")))), h("footer", { class: "control-footer-with-border spacing-body" }, h("div", { class: "buttons-spacer" }, h("button", {
181
176
  // cancel button
182
177
  class: "button-secondary", onClick: __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_cancelClickHandler, "f")
183
178
  }, __classPrivateFieldGet(this, _HTMLGxIdeConnectGxServer_componentLocale, "f").footer.cancelButtonCaption), h("button", {
@@ -1 +1 @@
1
- {"version":3,"file":"connect-gx-server.js","sourceRoot":"","sources":["../../../../src/components/team-dev/connect-gx-server/connect-gx-server.tsx"],"names":[],"mappings":"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","sourcesContent":["// Stencil\nimport { Component, Host, h, Prop, Element, State, Watch } from \"@stencil/core\";\n\n// Other Libraries\nimport { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n\n// Custom Imports\nimport { config } from \"../../../common/config\";\nimport {\n mapAuthenticationTypeToComboBoxModel,\n mapServerUrlsToComboBoxModel\n} from \"./helpers\";\nimport { Locale } from \"../../../common/locale\";\nimport { FormSubmitResult } from \"../../../common/types\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../../common/form-validation\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/tab\",\n \"components/tooltip\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-connect-gx-server\",\n styleUrl: \"connect-gx-server.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/connect-gx-server\"]\n})\nexport class HTMLGxIdeConnectGxServer {\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 @Element() el: HTMLGxIdeConnectGxServerElement;\n #usernameRef!: HTMLChEditElement;\n #passwordRef!: HTMLChEditElement;\n #serverUrlRef!: HTMLChComboBoxRenderElement;\n\n @State() authenticationTypesComboBoxModel: ComboBoxModel;\n @State() gxServerConnectionData: GXServerConnectionData = {\n authenticationType: {\n id: null,\n name: null\n },\n serverUrl: null,\n userName: null,\n userPassword: null\n };\n @State() serverUrlsComboBoxModel: ComboBoxModel;\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * List of authentication types.\n */\n @Prop() readonly authenticationTypes!: AuthenticationType[];\n @Watch(\"authenticationTypes\")\n authenticationTypesChanged(newAuthenticationTypes: AuthenticationType[]) {\n if (newAuthenticationTypes?.length) {\n this.authenticationTypesComboBoxModel =\n mapAuthenticationTypeToComboBoxModel(newAuthenticationTypes);\n }\n }\n\n /**\n * Callback that must be invoked when the 'Cancel' button is pressed.\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Connect' button is pressed.\n */\n @Prop() readonly connectCallback!: (\n data: GXServerConnectionData\n ) => Promise<FormSubmitResult>;\n\n /**\n * Initial user values ​​for the case in which the user returns to the login modal after successful authentication.\n */\n @Prop() readonly defaultConnectionData?: GXServerConnectionData;\n\n /**\n * true if the user should be allowed to manually enter a server URL.\n */\n @Prop() readonly enableCustomServer: boolean = false;\n\n /**\n * Array of cataloged server URLs to be displayed in the combo.\n */\n @Prop() readonly serverUrls: string[];\n @Watch(\"serverUrls\")\n serverUrlsChanged(newServerUrls: string[]) {\n if (newServerUrls?.length) {\n this.serverUrlsComboBoxModel =\n mapServerUrlsToComboBoxModel(newServerUrls);\n }\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n\n this.#init();\n }\n\n async componentDidLoad() {\n this.#initializeValidatableControls();\n }\n\n #cancelClickHandler = () => {\n this.cancelCallback();\n };\n\n #connectClickHandler = async () => {\n this.connectCallback(this.gxServerConnectionData).then(\n (formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n }\n );\n };\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on other dialogs as well.\n #evaluateTooltipRender = (\n controlReference: HTMLElement\n ): HTMLChTooltipElement =>\n this.validatableControls?.get(controlReference?.id)?.hasError &&\n this.validatableControls.get(controlReference.id)?.message && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={controlReference as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.validatableControls.get(controlReference.id).message}\n </ch-tooltip>\n );\n\n #init = () => {\n this.authenticationTypesChanged(this.authenticationTypes);\n this.serverUrlsChanged(this.serverUrls);\n // set initial values:\n // server url\n this.gxServerConnectionData.serverUrl =\n this.defaultConnectionData?.serverUrl ||\n this.serverUrlsComboBoxModel[0]?.value;\n // authentication type\n this.gxServerConnectionData.authenticationType = {\n id:\n (this.defaultConnectionData?.authenticationType.id as string) ||\n this.authenticationTypesComboBoxModel[0]?.value,\n name:\n (this.defaultConnectionData?.authenticationType.name as string) ||\n this.authenticationTypesComboBoxModel[0]?.caption\n };\n\n // user name\n this.gxServerConnectionData.userName = this.defaultConnectionData?.userName;\n this.gxServerConnectionData.userPassword =\n this.defaultConnectionData?.userPassword;\n };\n\n #initializeValidatableControls = () => {\n // populate #controlsValidation with the controls that could have errors.\n const validatableControls: HTMLElement[] = [\n this.#usernameRef,\n this.#passwordRef,\n this.#serverUrlRef\n ];\n validatableControls.forEach(validatableControl => {\n if (validatableControl.id) {\n this.validatableControls.set(validatableControl.id, {\n reference: validatableControl,\n hasError: false,\n message: undefined\n });\n }\n });\n };\n\n // handlers that update this.gxServerConnectionData:\n #serverUrlInputEventHandler = (event: CustomEvent<string> | InputEvent) => {\n this.gxServerConnectionData.serverUrl = event.detail as string;\n };\n #authenticationInputEventHandler = (\n event: CustomEvent<string> | InputEvent\n ) => {\n const authenticationTypeId = event.detail as string;\n const authenticationTypeIndex = this.authenticationTypes.findIndex(\n authType => {\n return authType.id === authenticationTypeId;\n }\n );\n const authenticationTypeName =\n this.authenticationTypes[authenticationTypeIndex].name;\n\n this.gxServerConnectionData.authenticationType = {\n id: authenticationTypeId,\n name: authenticationTypeName\n };\n };\n #usernameInputEventHandler = (event: CustomEvent<string> | InputEvent) => {\n this.gxServerConnectionData.userName = event.detail as string;\n };\n #passwordInputEventHandler = (event: CustomEvent<string> | InputEvent) => {\n this.gxServerConnectionData.userPassword = event.detail as string;\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <section class=\"section\">\n <div class=\"main field-group spacing-body\">\n <div\n // server urls\n class=\"field field-block server-url\"\n >\n <label class=\"label\" htmlFor=\"server-url\">\n {this.#componentLocale.main.serverURLLabel}\n </label>\n <ch-combo-box-render\n id=\"server-url\"\n class=\"combo-box\"\n accessibleName=\"Server Url\"\n model={this.serverUrlsComboBoxModel}\n placeholder=\"Select a server URL\"\n value={this.gxServerConnectionData?.serverUrl}\n onChange={this.#serverUrlInputEventHandler}\n suggest={this.enableCustomServer}\n suggestOptions={{\n alreadyProcessed: false,\n autoExpand: false,\n hideMatchesAndShowNonMatches: false,\n highlightMatchedItems: false,\n matchCase: false,\n regularExpression: false,\n renderActiveItemIconOnExpand: true,\n strict: false\n }}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#serverUrlRef = el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#serverUrlRef)}\n </div>\n\n <div\n // authentication types\n class=\"field field-block authentication-type\"\n >\n <label class=\"label\" htmlFor=\"authentication-type\">\n {this.#componentLocale.main.authenticationTypeLabel}\n </label>\n <ch-combo-box-render\n id=\"authentication-type\"\n class=\"combo-box\"\n accessibleName=\"Authentication Types\"\n model={this.authenticationTypesComboBoxModel}\n placeholder=\"Select an authentication type\"\n value={this.gxServerConnectionData?.authenticationType.id}\n onInput={this.#authenticationInputEventHandler}\n ></ch-combo-box-render>\n </div>\n\n <div\n // username\n class=\"field field-block user-name\"\n >\n <label class=\"label\" htmlFor=\"username\">\n {this.#componentLocale.main.usernameLabel}\n </label>\n <ch-edit\n type=\"text\"\n id=\"username\"\n class=\"input\"\n value={this.gxServerConnectionData?.userName}\n onInput={this.#usernameInputEventHandler}\n ref={(el: HTMLChEditElement) =>\n (this.#usernameRef = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#usernameRef)}\n </div>\n\n <div\n // user password\n class=\"field field-block user-password\"\n >\n <label class=\"label\" htmlFor=\"password\">\n {this.#componentLocale.main.passwordLabel}\n </label>\n <ch-edit\n type=\"password\"\n id=\"password\"\n class=\"input\"\n value={this.gxServerConnectionData?.userPassword}\n onInput={this.#passwordInputEventHandler}\n ref={(el: HTMLChEditElement) =>\n (this.#passwordRef = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#passwordRef)}\n </div>\n </div>\n\n <footer class=\"control-footer-with-border spacing-body\">\n <div class=\"buttons-spacer\">\n <button\n // cancel button\n class=\"button-secondary\"\n onClick={this.#cancelClickHandler}\n >\n {this.#componentLocale.footer.cancelButtonCaption}\n </button>\n\n <button\n // connect button\n class=\"button-primary\"\n onClick={this.#connectClickHandler}\n >\n {this.#componentLocale.footer.connectButtonCaption}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type GXServerConnectionData = {\n authenticationType: AuthenticationType;\n serverUrl: string;\n userName: string;\n userPassword: string;\n};\n\nexport type AuthenticationType = {\n id: string;\n name: string;\n};\n"]}
1
+ {"version":3,"file":"connect-gx-server.js","sourceRoot":"","sources":["../../../../src/components/team-dev/connect-gx-server/connect-gx-server.tsx"],"names":[],"mappings":"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","sourcesContent":["// Stencil\nimport { Component, Host, h, Prop, Element, State, Watch } from \"@stencil/core\";\n\n// Other Libraries\nimport { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n\n// Custom Imports\nimport { config } from \"../../../common/config\";\nimport {\n mapAuthenticationTypeToComboBoxModel,\n mapServerUrlsToComboBoxModel\n} from \"./helpers\";\nimport { Locale } from \"../../../common/locale\";\nimport { FormSubmitResult } from \"../../../common/types\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../../common/form-validation\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/tab\",\n \"components/tooltip\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-connect-gx-server\",\n styleUrl: \"connect-gx-server.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/connect-gx-server\"]\n})\nexport class HTMLGxIdeConnectGxServer {\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 @Element() el: HTMLGxIdeConnectGxServerElement;\n #usernameRef!: HTMLChEditElement;\n #passwordRef!: HTMLChEditElement;\n #serverUrlRef!: HTMLChComboBoxRenderElement;\n\n @State() authenticationTypesComboBoxModel: ComboBoxModel;\n @State() gxServerConnectionData: GXServerConnectionData = {\n authenticationType: {\n id: null,\n name: null\n },\n serverUrl: null,\n userName: null,\n userPassword: null\n };\n @State() serverUrlsComboBoxModel: ComboBoxModel;\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * List of authentication types.\n */\n @Prop() readonly authenticationTypes!: AuthenticationType[];\n @Watch(\"authenticationTypes\")\n authenticationTypesChanged(newAuthenticationTypes: AuthenticationType[]) {\n if (newAuthenticationTypes?.length) {\n this.authenticationTypesComboBoxModel =\n mapAuthenticationTypeToComboBoxModel(newAuthenticationTypes);\n }\n }\n\n /**\n * Callback that must be invoked when the 'Cancel' button is pressed.\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Connect' button is pressed.\n */\n @Prop() readonly connectCallback!: (\n data: GXServerConnectionData\n ) => Promise<FormSubmitResult>;\n\n /**\n * Initial user values ​​for the case in which the user returns to the login modal after successful authentication.\n */\n @Prop() readonly defaultConnectionData?: GXServerConnectionData;\n\n /**\n * true if the user should be allowed to manually enter a server URL.\n */\n @Prop() readonly enableCustomServer: boolean = false;\n\n /**\n * Array of cataloged server URLs to be displayed in the combo.\n */\n @Prop() readonly serverUrls: string[];\n @Watch(\"serverUrls\")\n serverUrlsChanged(newServerUrls: string[]) {\n if (newServerUrls?.length) {\n this.serverUrlsComboBoxModel =\n mapServerUrlsToComboBoxModel(newServerUrls);\n }\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n\n this.#init();\n }\n\n async componentDidLoad() {\n this.#initializeValidatableControls();\n }\n\n #cancelClickHandler = () => {\n this.cancelCallback();\n };\n\n #connectClickHandler = async () => {\n this.connectCallback(this.gxServerConnectionData).then(\n (formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n }\n );\n };\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on other dialogs as well.\n #evaluateTooltipRender = (\n controlReference: HTMLElement\n ): HTMLChTooltipElement =>\n this.validatableControls?.get(controlReference?.id)?.hasError &&\n this.validatableControls.get(controlReference.id)?.message && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={controlReference as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.validatableControls.get(controlReference.id).message}\n </ch-tooltip>\n );\n\n #init = () => {\n this.authenticationTypesChanged(this.authenticationTypes);\n this.serverUrlsChanged(this.serverUrls);\n // set initial values:\n // server url\n this.gxServerConnectionData.serverUrl =\n this.defaultConnectionData?.serverUrl ||\n this.serverUrlsComboBoxModel[0]?.value;\n // authentication type\n this.gxServerConnectionData.authenticationType = {\n id:\n (this.defaultConnectionData?.authenticationType.id as string) ||\n this.authenticationTypesComboBoxModel[0]?.value,\n name:\n (this.defaultConnectionData?.authenticationType.name as string) ||\n this.authenticationTypesComboBoxModel[0]?.caption\n };\n\n // user name\n this.gxServerConnectionData.userName = this.defaultConnectionData?.userName;\n this.gxServerConnectionData.userPassword =\n this.defaultConnectionData?.userPassword;\n };\n\n #initializeValidatableControls = () => {\n // populate #controlsValidation with the controls that could have errors.\n const validatableControls: HTMLElement[] = [\n this.#usernameRef,\n this.#passwordRef,\n this.#serverUrlRef\n ];\n validatableControls.forEach(validatableControl => {\n if (validatableControl.id) {\n this.validatableControls.set(validatableControl.id, {\n reference: validatableControl,\n hasError: false,\n message: undefined\n });\n }\n });\n };\n\n // handlers that update this.gxServerConnectionData:\n #serverUrlInputEventHandler = (event: CustomEvent<string> | InputEvent) => {\n this.gxServerConnectionData.serverUrl = event.detail as string;\n };\n #authenticationInputEventHandler = (\n event: CustomEvent<string> | InputEvent\n ) => {\n const authenticationTypeId = event.detail as string;\n const authenticationTypeIndex = this.authenticationTypes.findIndex(\n authType => {\n return authType.id === authenticationTypeId;\n }\n );\n const authenticationTypeName =\n this.authenticationTypes[authenticationTypeIndex].name;\n\n this.gxServerConnectionData.authenticationType = {\n id: authenticationTypeId,\n name: authenticationTypeName\n };\n };\n #usernameInputEventHandler = (event: CustomEvent<string> | InputEvent) => {\n this.gxServerConnectionData.userName = event.detail as string;\n };\n #passwordInputEventHandler = (event: CustomEvent<string> | InputEvent) => {\n this.gxServerConnectionData.userPassword = event.detail as string;\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <section class=\"section\">\n <div class=\"main field-group spacing-body\">\n <div\n // server urls\n class=\"field field-block server-url\"\n >\n <label class=\"label\" htmlFor=\"server-url\">\n {this.#componentLocale.main.serverURLLabel}\n </label>\n <ch-combo-box-render\n id=\"server-url\"\n class=\"combo-box\"\n accessibleName=\"Server Url\"\n model={this.serverUrlsComboBoxModel}\n placeholder=\"Select a server URL\"\n value={this.gxServerConnectionData?.serverUrl}\n onChange={this.#serverUrlInputEventHandler}\n suggest={this.enableCustomServer}\n suggestOptions={{\n alreadyProcessed: false,\n autoExpand: false,\n hideMatchesAndShowNonMatches: false,\n highlightMatchedItems: false,\n matchCase: false,\n regularExpression: false,\n renderActiveItemIconOnExpand: true,\n strict: false\n }}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#serverUrlRef = el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#serverUrlRef)}\n </div>\n\n <div\n // authentication types\n class=\"field field-block authentication-type\"\n >\n <label class=\"label\" htmlFor=\"authentication-type\">\n {this.#componentLocale.main.authenticationTypeLabel}\n </label>\n <ch-combo-box-render\n id=\"authentication-type\"\n class=\"combo-box\"\n accessibleName=\"Authentication Types\"\n model={this.authenticationTypesComboBoxModel}\n placeholder=\"Select an authentication type\"\n value={this.gxServerConnectionData?.authenticationType.id}\n onInput={this.#authenticationInputEventHandler}\n ></ch-combo-box-render>\n </div>\n\n <div\n // username\n class=\"field field-block user-name\"\n >\n <label class=\"label\" htmlFor=\"username\">\n {this.#componentLocale.main.usernameLabel}\n </label>\n <ch-edit\n type=\"text\"\n id=\"username\"\n class=\"input\"\n value={this.gxServerConnectionData?.userName}\n onInput={this.#usernameInputEventHandler}\n ref={(el: HTMLChEditElement) =>\n (this.#usernameRef = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#usernameRef)}\n </div>\n\n <div\n // user password\n class=\"field field-block user-password\"\n >\n <label class=\"label\" htmlFor=\"password\">\n {this.#componentLocale.main.passwordLabel}\n </label>\n <ch-edit\n type=\"password\"\n id=\"password\"\n class=\"input\"\n value={this.gxServerConnectionData?.userPassword}\n onInput={this.#passwordInputEventHandler}\n ref={(el: HTMLChEditElement) =>\n (this.#passwordRef = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#passwordRef)}\n </div>\n </div>\n\n <footer class=\"control-footer-with-border spacing-body\">\n <div class=\"buttons-spacer\">\n <button\n // cancel button\n class=\"button-secondary\"\n onClick={this.#cancelClickHandler}\n >\n {this.#componentLocale.footer.cancelButtonCaption}\n </button>\n\n <button\n // connect button\n class=\"button-primary\"\n onClick={this.#connectClickHandler}\n >\n {this.#componentLocale.footer.connectButtonCaption}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type GXServerConnectionData = {\n authenticationType: AuthenticationType;\n serverUrl: string;\n userName: string;\n userPassword: string;\n};\n\nexport type AuthenticationType = {\n id: string;\n name: string;\n};\n"]}
@@ -86,11 +86,8 @@ export class GxIdeCreateKbFromServer {
86
86
  });
87
87
  // TODO: evaluate if this should be a global helper function.
88
88
  // It is used on other dialogs as well.
89
- _GxIdeCreateKbFromServer_evaluateTooltipRender.set(this, (controlReference) => {
90
- var _a, _b, _c;
91
- return ((_b = (_a = this.validatableControls) === null || _a === void 0 ? void 0 : _a.get(controlReference === null || controlReference === void 0 ? void 0 : controlReference.id)) === null || _b === void 0 ? void 0 : _b.hasError) &&
92
- ((_c = this.validatableControls.get(controlReference.id)) === null || _c === void 0 ? void 0 : _c.message) && (h("ch-tooltip", { class: "tooltip", actionElement: controlReference, blockAlign: config.tooltipSettings.blockAlign, inlineAlign: config.tooltipSettings.inlineAlign, delay: config.tooltipSettings.delay }, this.validatableControls.get(controlReference.id).message));
93
- });
89
+ _GxIdeCreateKbFromServer_evaluateTooltipRender.set(this, (controlReference) => this.validatableControls?.get(controlReference?.id)?.hasError &&
90
+ this.validatableControls.get(controlReference.id)?.message && (h("ch-tooltip", { class: "tooltip", actionElement: controlReference, blockAlign: config.tooltipSettings.blockAlign, inlineAlign: config.tooltipSettings.inlineAlign, delay: config.tooltipSettings.delay }, this.validatableControls.get(controlReference.id).message)));
94
91
  _GxIdeCreateKbFromServer_filterValueChangedHandler.set(this, (event) => {
95
92
  this.filterValue = event.detail.toLowerCase();
96
93
  this.kbsFilteredActionListModel = __classPrivateFieldGet(this, _GxIdeCreateKbFromServer_kbsActionListModel, "f").filter((item) => item.caption.toLowerCase().includes(this.filterValue));
@@ -127,7 +124,7 @@ export class GxIdeCreateKbFromServer {
127
124
  _GxIdeCreateKbFromServer_selectedVersionHandler.set(this, async () => {
128
125
  if (this.selectKBVersionsCallback) {
129
126
  await this.selectKBVersionsCallback(__classPrivateFieldGet(this, _GxIdeCreateKbFromServer_selectedKbId, "f")).then(result => {
130
- if (result === null || result === void 0 ? void 0 : result.length) {
127
+ if (result?.length) {
131
128
  __classPrivateFieldSet(this, _GxIdeCreateKbFromServer_kbVersions, result.map(kbVersion => ({
132
129
  id: kbVersion.id,
133
130
  name: kbVersion.name
@@ -150,8 +147,7 @@ export class GxIdeCreateKbFromServer {
150
147
  }
151
148
  });
152
149
  _GxIdeCreateKbFromServer_selectKbChangeHandler.set(this, (event) => {
153
- var _a;
154
- const item = (_a = event.detail[0]) === null || _a === void 0 ? void 0 : _a.item;
150
+ const item = event.detail[0]?.item;
155
151
  if (item === undefined) {
156
152
  this.enableSelectVersionsButton = false;
157
153
  __classPrivateFieldSet(this, _GxIdeCreateKbFromServer_selectedKbId, undefined, "f");