@genexus/genexus-ide-ui 1.1.4 → 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 (777) 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 +9 -15
  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 +8 -10
  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 +1 -1
  18. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +3 -5
  19. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +2 -3
  21. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js.map +1 -1
  22. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +1 -1
  23. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +1 -1
  24. package/dist/cjs/gx-ide-bpm-sync-gam-roles.cjs.entry.js +2 -3
  25. package/dist/cjs/gx-ide-bpm-sync-gam-roles.cjs.entry.js.map +1 -1
  26. package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js +13 -16
  27. package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js.map +1 -1
  28. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +2 -3
  29. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
  30. package/dist/cjs/gx-ide-card.cjs.entry.js +1 -1
  31. package/dist/cjs/gx-ide-chat-container_2.cjs.entry.js +239 -0
  32. package/dist/cjs/gx-ide-chat-container_2.cjs.entry.js.map +1 -0
  33. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +18 -23
  34. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
  35. package/dist/cjs/gx-ide-container_2.cjs.entry.js +1 -2
  36. package/dist/cjs/gx-ide-container_2.cjs.entry.js.map +1 -1
  37. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +9 -14
  38. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  39. package/dist/cjs/gx-ide-current-user-info.cjs.entry.js +5 -7
  40. package/dist/cjs/gx-ide-current-user-info.cjs.entry.js.map +1 -1
  41. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +6 -8
  42. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
  43. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +6 -8
  44. package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
  45. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js +6 -8
  46. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js.map +1 -1
  47. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js +16 -20
  48. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js.map +1 -1
  49. package/dist/cjs/gx-ide-design-import.cjs.entry.js +27 -36
  50. package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
  51. package/dist/cjs/gx-ide-directory-selector.cjs.entry.js +1 -2
  52. package/dist/cjs/gx-ide-directory-selector.cjs.entry.js.map +1 -1
  53. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +2 -3
  54. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
  55. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +6 -9
  56. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js.map +1 -1
  57. package/dist/cjs/gx-ide-file-item.cjs.entry.js +5 -6
  58. package/dist/cjs/gx-ide-file-item.cjs.entry.js.map +1 -1
  59. package/dist/cjs/gx-ide-file-uploader.cjs.entry.js +62 -48
  60. package/dist/cjs/gx-ide-file-uploader.cjs.entry.js.map +1 -1
  61. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +2 -3
  62. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
  63. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +7 -8
  64. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
  65. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +10 -14
  66. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  67. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +1 -1
  68. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
  69. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +18 -10
  70. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js.map +1 -1
  71. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +7 -8
  72. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
  73. package/dist/cjs/gx-ide-navigation-report.cjs.entry.js +4 -7
  74. package/dist/cjs/gx-ide-navigation-report.cjs.entry.js.map +1 -1
  75. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +14 -19
  76. package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
  77. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +34 -39
  78. package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
  79. package/dist/cjs/gx-ide-new-object.cjs.entry.js +6 -9
  80. package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
  81. package/dist/cjs/gx-ide-new-version.cjs.entry.js +3 -3
  82. package/dist/cjs/gx-ide-new-version.cjs.entry.js.map +1 -1
  83. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +10 -12
  84. package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
  85. package/dist/cjs/gx-ide-open-api-import.cjs.entry.js +8 -13
  86. package/dist/cjs/gx-ide-open-api-import.cjs.entry.js.map +1 -1
  87. package/dist/cjs/gx-ide-references.cjs.entry.js +21 -27
  88. package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
  89. package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js +202 -98
  90. package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js.map +1 -1
  91. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +10 -17
  92. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
  93. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js +3 -4
  94. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js.map +1 -1
  95. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +6 -10
  96. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  97. package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js +2 -3
  98. package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js.map +1 -1
  99. package/dist/cjs/gx-ide-sign-in.cjs.entry.js +1 -1
  100. package/dist/cjs/gx-ide-splash.cjs.entry.js +6 -8
  101. package/dist/cjs/gx-ide-splash.cjs.entry.js.map +1 -1
  102. package/dist/cjs/gx-ide-start-page.cjs.entry.js +9 -13
  103. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  104. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +1 -1
  105. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +3 -3
  106. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  107. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
  108. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +2 -2
  109. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
  110. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
  111. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +4 -5
  112. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  113. package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
  114. package/dist/cjs/gx-ide-welcome-page.cjs.entry.js +8 -11
  115. package/dist/cjs/gx-ide-welcome-page.cjs.entry.js.map +1 -1
  116. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +1 -1
  117. package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js +11 -18
  118. package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js.map +1 -1
  119. package/dist/cjs/gx-ide-ww-files.cjs.entry.js +19 -22
  120. package/dist/cjs/gx-ide-ww-files.cjs.entry.js.map +1 -1
  121. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +20 -9
  122. package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
  123. package/dist/cjs/{helpers-30f109a4.js → helpers-e5a13fa5.js} +6 -6
  124. package/dist/cjs/helpers-e5a13fa5.js.map +1 -0
  125. package/dist/cjs/index.cjs.js +2 -2
  126. package/dist/cjs/index.cjs.js.map +1 -1
  127. package/dist/cjs/loader.cjs.js +1 -1
  128. package/dist/cjs/{locale-ff30a5f3.js → locale-36b93b1b.js} +4 -4
  129. package/dist/cjs/locale-36b93b1b.js.map +1 -0
  130. package/dist/collection/collection-manifest.json +2 -1
  131. package/dist/collection/common/common.js +23 -13
  132. package/dist/collection/common/common.js.map +1 -1
  133. package/dist/collection/common/form-validation.js +7 -4
  134. package/dist/collection/common/form-validation.js.map +1 -1
  135. package/dist/collection/common/helpers.js +9 -10
  136. package/dist/collection/common/helpers.js.map +1 -1
  137. package/dist/collection/common/locale.js +3 -3
  138. package/dist/collection/common/locale.js.map +1 -1
  139. package/dist/collection/common/render-suggest.js +1 -1
  140. package/dist/collection/common/render-suggest.js.map +1 -1
  141. package/dist/collection/components/_helpers/container/container.js +1 -2
  142. package/dist/collection/components/_helpers/container/container.js.map +1 -1
  143. package/dist/collection/components/_helpers/directory-selector/directory-selector.js +1 -2
  144. package/dist/collection/components/_helpers/directory-selector/directory-selector.js.map +1 -1
  145. package/dist/collection/components/_helpers/entity-selector/entity-selector.js +2 -4
  146. package/dist/collection/components/_helpers/entity-selector/entity-selector.js.map +1 -1
  147. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +1 -1
  148. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js.map +1 -1
  149. package/dist/collection/components/ai-assistant/ai-assistant.js +8 -14
  150. package/dist/collection/components/ai-assistant/ai-assistant.js.map +1 -1
  151. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.css +1 -0
  152. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js +2 -3
  153. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js.map +1 -1
  154. package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.js +2 -4
  155. package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.js.map +1 -1
  156. package/dist/collection/components/bpm/import-files/bpm-import-files.js +1 -2
  157. package/dist/collection/components/bpm/import-files/bpm-import-files.js.map +1 -1
  158. package/dist/collection/components/bpm/sync-gam-roles/bpm-sync-gam-roles.js +1 -2
  159. package/dist/collection/components/bpm/sync-gam-roles/bpm-sync-gam-roles.js.map +1 -1
  160. package/dist/collection/components/bpm/task-documents/helpers.js +1 -1
  161. package/dist/collection/components/bpm/task-documents/helpers.js.map +1 -1
  162. package/dist/collection/components/bpm/task-documents/task-documents.js +7 -9
  163. package/dist/collection/components/bpm/task-documents/task-documents.js.map +1 -1
  164. package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.js +1 -2
  165. package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.js.map +1 -1
  166. package/dist/collection/components/chat/chat-container/chat-container.css +118 -0
  167. package/dist/collection/components/chat/chat-container/chat-container.js +218 -0
  168. package/dist/collection/components/chat/chat-container/chat-container.js.map +1 -0
  169. package/dist/collection/components/chat/chat-container/gx-ide-assets/chat-container/langs/chat-container.lang.en.json +9 -0
  170. package/dist/collection/components/chat/chat-container/gx-ide-assets/chat-container/langs/chat-container.lang.ja.json +9 -0
  171. package/dist/collection/components/chat/chat-container/gx-ide-assets/chat-container/langs/chat-container.lang.zh.json +9 -0
  172. package/dist/collection/components/chat/chat-welcome/chat-welcome.css +109 -0
  173. package/dist/collection/components/chat/chat-welcome/chat-welcome.js +228 -0
  174. package/dist/collection/components/chat/chat-welcome/chat-welcome.js.map +1 -0
  175. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/helpers.js +3 -0
  176. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/helpers.js.map +1 -0
  177. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/helpers.tsx +31 -0
  178. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/images/ai-avatar-welcome.svg +21 -0
  179. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/images/ai-avatar.svg +11 -0
  180. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/images/header-illustration.svg +24 -0
  181. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.en.json +10 -0
  182. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.ja.json +10 -0
  183. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.zh.json +10 -0
  184. package/dist/collection/components/chat/code-render.js +65 -0
  185. package/dist/collection/components/chat/code-render.js.map +1 -0
  186. package/dist/collection/components/current-user-info/current-user-info.js +2 -3
  187. package/dist/collection/components/current-user-info/current-user-info.js.map +1 -1
  188. package/dist/collection/components/dashboard-home/dashboard-home.js +2 -3
  189. package/dist/collection/components/dashboard-home/dashboard-home.js.map +1 -1
  190. package/dist/collection/components/data-selector/data-selector.css +1 -0
  191. package/dist/collection/components/data-selector/data-selector.js +2 -3
  192. package/dist/collection/components/data-selector/data-selector.js.map +1 -1
  193. package/dist/collection/components/data-type-selector/data-type-selector.js +3 -4
  194. package/dist/collection/components/data-type-selector/data-type-selector.js.map +1 -1
  195. package/dist/collection/components/deployment-tool/deployment-tool.js +11 -18
  196. package/dist/collection/components/deployment-tool/deployment-tool.js.map +1 -1
  197. package/dist/collection/components/deployment-tool/helpers.js +4 -1
  198. package/dist/collection/components/deployment-tool/helpers.js.map +1 -1
  199. package/dist/collection/components/design-import/design-import.js +18 -26
  200. package/dist/collection/components/design-import/design-import.js.map +1 -1
  201. package/dist/collection/components/design-import/helpers.js +1 -1
  202. package/dist/collection/components/design-import/helpers.js.map +1 -1
  203. package/dist/collection/components/file-uploader/file-uploader.js +59 -44
  204. package/dist/collection/components/file-uploader/file-uploader.js.map +1 -1
  205. package/dist/collection/components/gam-installation-settings/gam-installation-settings.js +1 -2
  206. package/dist/collection/components/gam-installation-settings/gam-installation-settings.js.map +1 -1
  207. package/dist/collection/components/kb-manager-import/kb-manager-import.js +4 -7
  208. package/dist/collection/components/kb-manager-import/kb-manager-import.js.map +1 -1
  209. package/dist/collection/components/modules/edit-module-server/edit-module-server.js +1 -2
  210. package/dist/collection/components/modules/edit-module-server/edit-module-server.js.map +1 -1
  211. package/dist/collection/components/modules/manage-module-references/manage-module-references.js +2 -2
  212. package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map +1 -1
  213. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js +13 -4
  214. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js.map +1 -1
  215. package/dist/collection/components/navigation-report/navigation-report.js +3 -6
  216. package/dist/collection/components/navigation-report/navigation-report.js.map +1 -1
  217. package/dist/collection/components/new-environment/new-environment.js +10 -15
  218. package/dist/collection/components/new-environment/new-environment.js.map +1 -1
  219. package/dist/collection/components/new-kb/new-kb.js +28 -32
  220. package/dist/collection/components/new-kb/new-kb.js.map +1 -1
  221. package/dist/collection/components/new-object/new-object.js +5 -8
  222. package/dist/collection/components/new-object/new-object.js.map +1 -1
  223. package/dist/collection/components/new-version/new-version.js +2 -2
  224. package/dist/collection/components/new-version/new-version.js.map +1 -1
  225. package/dist/collection/components/object-selector/object-selector.css +1 -0
  226. package/dist/collection/components/object-selector/object-selector.js +4 -5
  227. package/dist/collection/components/object-selector/object-selector.js.map +1 -1
  228. package/dist/collection/components/open-api-import/open-api-import.js +4 -8
  229. package/dist/collection/components/open-api-import/open-api-import.js.map +1 -1
  230. package/dist/collection/components/references/helpers.js +9 -13
  231. package/dist/collection/components/references/helpers.js.map +1 -1
  232. package/dist/collection/components/references/references.js +9 -11
  233. package/dist/collection/components/references/references.js.map +1 -1
  234. package/dist/collection/components/select-kb-items/helpers.js +5 -10
  235. package/dist/collection/components/select-kb-items/helpers.js.map +1 -1
  236. package/dist/collection/components/select-kb-items/select-kb-items.js +1 -2
  237. package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -1
  238. package/dist/collection/components/select-user-team/helpers.js +1 -1
  239. package/dist/collection/components/select-user-team/helpers.js.map +1 -1
  240. package/dist/collection/components/select-user-team/select-user-team.js +1 -2
  241. package/dist/collection/components/select-user-team/select-user-team.js.map +1 -1
  242. package/dist/collection/components/sign-in-team/sign-in-team.js +1 -2
  243. package/dist/collection/components/sign-in-team/sign-in-team.js.map +1 -1
  244. package/dist/collection/components/splash/splash.js +2 -3
  245. package/dist/collection/components/splash/splash.js.map +1 -1
  246. package/dist/collection/components/start-page/start-page.js +3 -6
  247. package/dist/collection/components/start-page/start-page.js.map +1 -1
  248. package/dist/collection/components/team-dev/commit/commit.css +1 -0
  249. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js +16 -21
  250. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js.map +1 -1
  251. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +4 -8
  252. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
  253. package/dist/collection/components/team-dev/share-kb/share-kb.js +2 -5
  254. package/dist/collection/components/team-dev/share-kb/share-kb.js.map +1 -1
  255. package/dist/collection/components/team-dev/update/update.css +2 -0
  256. package/dist/collection/components/team-dev/update/update.js +1 -2
  257. package/dist/collection/components/team-dev/update/update.js.map +1 -1
  258. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js +1 -1
  259. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js.map +1 -1
  260. package/dist/collection/components/welcome-page/welcome-page.js +5 -7
  261. package/dist/collection/components/welcome-page/welcome-page.js.map +1 -1
  262. package/dist/collection/components/ww-attributes/helpers.js +1 -2
  263. package/dist/collection/components/ww-attributes/helpers.js.map +1 -1
  264. package/dist/collection/components/ww-attributes/ww-attributes.css +1 -0
  265. package/dist/collection/components/ww-attributes/ww-attributes.js +6 -11
  266. package/dist/collection/components/ww-attributes/ww-attributes.js.map +1 -1
  267. package/dist/collection/components/ww-files/helpers.js +1 -2
  268. package/dist/collection/components/ww-files/helpers.js.map +1 -1
  269. package/dist/collection/components/ww-files/ww-files.css +1 -0
  270. package/dist/collection/components/ww-files/ww-files.js +16 -18
  271. package/dist/collection/components/ww-files/ww-files.js.map +1 -1
  272. package/dist/collection/components/ww-images/ww-images.css +1 -0
  273. package/dist/collection/components/ww-images/ww-images.js +16 -5
  274. package/dist/collection/components/ww-images/ww-images.js.map +1 -1
  275. package/dist/collection/index.js +1 -1
  276. package/dist/collection/index.js.map +1 -1
  277. package/dist/collection/showcase/chat-container/callbacks.js +105 -90
  278. package/dist/collection/showcase/chat-container/callbacks.js.map +1 -1
  279. package/dist/collection/showcase/chat-container/chat.showcase.js +145 -10
  280. package/dist/collection/showcase/chat-container/chat.showcase.js.map +1 -1
  281. package/dist/collection/testing/locale.e2e.js +4 -3
  282. package/dist/collection/testing/locale.e2e.js.map +1 -1
  283. package/dist/components/MERCURY_ASSETS.js +5 -1
  284. package/dist/components/MERCURY_ASSETS.js.map +1 -1
  285. package/dist/components/ai-message.js +1 -2
  286. package/dist/components/ai-message.js.map +1 -1
  287. package/dist/components/chat-container.js +70 -7
  288. package/dist/components/chat-container.js.map +1 -1
  289. package/dist/components/chat-welcome.js +146 -0
  290. package/dist/components/chat-welcome.js.map +1 -0
  291. package/dist/components/code-render.js +68 -41
  292. package/dist/components/code-render.js.map +1 -1
  293. package/dist/components/common.js +27 -11
  294. package/dist/components/common.js.map +1 -1
  295. package/dist/components/container.js +1 -2
  296. package/dist/components/container.js.map +1 -1
  297. package/dist/components/entity-selector.js +3 -6
  298. package/dist/components/entity-selector.js.map +1 -1
  299. package/dist/components/file-item.js +1 -2
  300. package/dist/components/file-item.js.map +1 -1
  301. package/dist/components/form-validation.js +6 -2
  302. package/dist/components/form-validation.js.map +1 -1
  303. package/dist/components/gx-ide-ai-assistant.js +8 -14
  304. package/dist/components/gx-ide-ai-assistant.js.map +1 -1
  305. package/dist/components/gx-ide-bpm-app-declaration.js +4 -6
  306. package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
  307. package/dist/components/gx-ide-bpm-export-xpdl.js +2 -4
  308. package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
  309. package/dist/components/gx-ide-bpm-import-files.js +1 -2
  310. package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
  311. package/dist/components/gx-ide-bpm-sync-gam-roles.js +1 -2
  312. package/dist/components/gx-ide-bpm-sync-gam-roles.js.map +1 -1
  313. package/dist/components/gx-ide-bpm-task-documents.js +9 -12
  314. package/dist/components/gx-ide-bpm-task-documents.js.map +1 -1
  315. package/dist/components/gx-ide-bpm-timer-duration.js +1 -2
  316. package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
  317. package/dist/components/gx-ide-chat-welcome.d.ts +11 -0
  318. package/dist/components/gx-ide-chat-welcome.js +8 -0
  319. package/dist/components/gx-ide-chat-welcome.js.map +1 -0
  320. package/dist/components/gx-ide-connect-gx-server.js +16 -21
  321. package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
  322. package/dist/components/gx-ide-create-kb-from-server.js +5 -10
  323. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  324. package/dist/components/gx-ide-current-user-info.js +3 -5
  325. package/dist/components/gx-ide-current-user-info.js.map +1 -1
  326. package/dist/components/gx-ide-dashboard-home.js +3 -5
  327. package/dist/components/gx-ide-dashboard-home.js.map +1 -1
  328. package/dist/components/gx-ide-data-selector.js +4 -6
  329. package/dist/components/gx-ide-data-selector.js.map +1 -1
  330. package/dist/components/gx-ide-data-type-selector.js +4 -6
  331. package/dist/components/gx-ide-data-type-selector.js.map +1 -1
  332. package/dist/components/gx-ide-deployment-tool.js +15 -19
  333. package/dist/components/gx-ide-deployment-tool.js.map +1 -1
  334. package/dist/components/gx-ide-design-import.js +20 -29
  335. package/dist/components/gx-ide-design-import.js.map +1 -1
  336. package/dist/components/gx-ide-directory-selector.js +1 -2
  337. package/dist/components/gx-ide-directory-selector.js.map +1 -1
  338. package/dist/components/gx-ide-edit-module-server.js +1 -2
  339. package/dist/components/gx-ide-edit-module-server.js.map +1 -1
  340. package/dist/components/gx-ide-file-uploader.js +60 -46
  341. package/dist/components/gx-ide-file-uploader.js.map +1 -1
  342. package/dist/components/gx-ide-gam-installation-settings.js +1 -2
  343. package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
  344. package/dist/components/gx-ide-kb-manager-export.js +1 -2
  345. package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
  346. package/dist/components/gx-ide-kb-manager-import.js +5 -9
  347. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  348. package/dist/components/gx-ide-manage-module-references-v2.js +14 -6
  349. package/dist/components/gx-ide-manage-module-references-v2.js.map +1 -1
  350. package/dist/components/gx-ide-manage-module-references.js +3 -4
  351. package/dist/components/gx-ide-manage-module-references.js.map +1 -1
  352. package/dist/components/gx-ide-navigation-report.js +3 -6
  353. package/dist/components/gx-ide-navigation-report.js.map +1 -1
  354. package/dist/components/gx-ide-new-environment.js +10 -15
  355. package/dist/components/gx-ide-new-environment.js.map +1 -1
  356. package/dist/components/gx-ide-new-kb.js +29 -34
  357. package/dist/components/gx-ide-new-kb.js.map +1 -1
  358. package/dist/components/gx-ide-new-object.js +5 -8
  359. package/dist/components/gx-ide-new-object.js.map +1 -1
  360. package/dist/components/gx-ide-new-version.js +2 -2
  361. package/dist/components/gx-ide-new-version.js.map +1 -1
  362. package/dist/components/gx-ide-object-selector.js +6 -8
  363. package/dist/components/gx-ide-object-selector.js.map +1 -1
  364. package/dist/components/gx-ide-open-api-import.js +5 -10
  365. package/dist/components/gx-ide-open-api-import.js.map +1 -1
  366. package/dist/components/gx-ide-references.js +18 -24
  367. package/dist/components/gx-ide-references.js.map +1 -1
  368. package/dist/components/gx-ide-sc-chat-container.js +215 -100
  369. package/dist/components/gx-ide-sc-chat-container.js.map +1 -1
  370. package/dist/components/gx-ide-select-kb-items.js +7 -14
  371. package/dist/components/gx-ide-select-kb-items.js.map +1 -1
  372. package/dist/components/gx-ide-select-user-team.js +2 -3
  373. package/dist/components/gx-ide-select-user-team.js.map +1 -1
  374. package/dist/components/gx-ide-share-kb.js +3 -7
  375. package/dist/components/gx-ide-share-kb.js.map +1 -1
  376. package/dist/components/gx-ide-sign-in-team.js +1 -2
  377. package/dist/components/gx-ide-sign-in-team.js.map +1 -1
  378. package/dist/components/gx-ide-splash.js +3 -5
  379. package/dist/components/gx-ide-splash.js.map +1 -1
  380. package/dist/components/gx-ide-start-page.js +4 -8
  381. package/dist/components/gx-ide-start-page.js.map +1 -1
  382. package/dist/components/gx-ide-team-dev-commit.js +1 -1
  383. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  384. package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
  385. package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
  386. package/dist/components/gx-ide-team-dev-update.js +2 -3
  387. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  388. package/dist/components/gx-ide-welcome-page.js +6 -9
  389. package/dist/components/gx-ide-welcome-page.js.map +1 -1
  390. package/dist/components/gx-ide-ww-attributes.js +9 -16
  391. package/dist/components/gx-ide-ww-attributes.js.map +1 -1
  392. package/dist/components/gx-ide-ww-files.js +18 -21
  393. package/dist/components/gx-ide-ww-files.js.map +1 -1
  394. package/dist/components/gx-ide-ww-images.js +17 -6
  395. package/dist/components/gx-ide-ww-images.js.map +1 -1
  396. package/dist/components/helpers.js +5 -5
  397. package/dist/components/helpers.js.map +1 -1
  398. package/dist/components/index.js.map +1 -1
  399. package/dist/components/list-selector-item.js +1 -1
  400. package/dist/components/list-selector-item.js.map +1 -1
  401. package/dist/components/locale.js +3 -3
  402. package/dist/components/locale.js.map +1 -1
  403. package/dist/esm/MERCURY_ASSETS-039222dd.js +7 -0
  404. package/dist/esm/MERCURY_ASSETS-039222dd.js.map +1 -0
  405. package/dist/esm/code-render-f3afd300.js +83 -0
  406. package/dist/esm/code-render-f3afd300.js.map +1 -0
  407. package/dist/esm/{common-ccb4504a.js → common-719c4daf.js} +28 -12
  408. package/dist/esm/common-719c4daf.js.map +1 -0
  409. package/dist/esm/{form-validation-cd0215c6.js → form-validation-71dca8c6.js} +7 -3
  410. package/dist/esm/form-validation-71dca8c6.js.map +1 -0
  411. package/dist/esm/genexus-ide-ui.js +1 -1
  412. package/dist/esm/gx-ide-about.entry.js +1 -1
  413. package/dist/esm/gx-ide-ai-assistant.entry.js +9 -15
  414. package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
  415. package/dist/esm/gx-ide-ai-message.entry.js +3 -4
  416. package/dist/esm/gx-ide-ai-message.entry.js.map +1 -1
  417. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +5 -7
  418. package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
  419. package/dist/esm/gx-ide-bpm-assign-roles.entry.js +1 -1
  420. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +3 -5
  421. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
  422. package/dist/esm/gx-ide-bpm-import-files.entry.js +2 -3
  423. package/dist/esm/gx-ide-bpm-import-files.entry.js.map +1 -1
  424. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +1 -1
  425. package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
  426. package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js +2 -3
  427. package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js.map +1 -1
  428. package/dist/esm/gx-ide-bpm-task-documents.entry.js +10 -13
  429. package/dist/esm/gx-ide-bpm-task-documents.entry.js.map +1 -1
  430. package/dist/esm/gx-ide-bpm-timer-duration.entry.js +2 -3
  431. package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
  432. package/dist/esm/gx-ide-card.entry.js +1 -1
  433. package/dist/esm/gx-ide-chat-container_2.entry.js +234 -0
  434. package/dist/esm/gx-ide-chat-container_2.entry.js.map +1 -0
  435. package/dist/esm/gx-ide-connect-gx-server.entry.js +18 -23
  436. package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
  437. package/dist/esm/gx-ide-container_2.entry.js +1 -2
  438. package/dist/esm/gx-ide-container_2.entry.js.map +1 -1
  439. package/dist/esm/gx-ide-create-kb-from-server.entry.js +7 -12
  440. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  441. package/dist/esm/gx-ide-current-user-info.entry.js +4 -6
  442. package/dist/esm/gx-ide-current-user-info.entry.js.map +1 -1
  443. package/dist/esm/gx-ide-dashboard-home.entry.js +5 -7
  444. package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
  445. package/dist/esm/gx-ide-data-selector.entry.js +5 -7
  446. package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
  447. package/dist/esm/gx-ide-data-type-selector.entry.js +5 -7
  448. package/dist/esm/gx-ide-data-type-selector.entry.js.map +1 -1
  449. package/dist/esm/gx-ide-deployment-tool.entry.js +16 -20
  450. package/dist/esm/gx-ide-deployment-tool.entry.js.map +1 -1
  451. package/dist/esm/gx-ide-design-import.entry.js +21 -30
  452. package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
  453. package/dist/esm/gx-ide-directory-selector.entry.js +1 -2
  454. package/dist/esm/gx-ide-directory-selector.entry.js.map +1 -1
  455. package/dist/esm/gx-ide-edit-module-server.entry.js +2 -3
  456. package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
  457. package/dist/esm/gx-ide-entity-selector.entry.js +4 -7
  458. package/dist/esm/gx-ide-entity-selector.entry.js.map +1 -1
  459. package/dist/esm/gx-ide-file-item.entry.js +1 -2
  460. package/dist/esm/gx-ide-file-item.entry.js.map +1 -1
  461. package/dist/esm/gx-ide-file-uploader.entry.js +61 -47
  462. package/dist/esm/gx-ide-file-uploader.entry.js.map +1 -1
  463. package/dist/esm/gx-ide-gam-installation-settings.entry.js +2 -3
  464. package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
  465. package/dist/esm/gx-ide-kb-manager-export.entry.js +2 -3
  466. package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
  467. package/dist/esm/gx-ide-kb-manager-import.entry.js +6 -10
  468. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  469. package/dist/esm/gx-ide-list-selector_2.entry.js +1 -1
  470. package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
  471. package/dist/esm/gx-ide-manage-module-references-v2.entry.js +16 -8
  472. package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +1 -1
  473. package/dist/esm/gx-ide-manage-module-references.entry.js +5 -6
  474. package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
  475. package/dist/esm/gx-ide-navigation-report.entry.js +4 -7
  476. package/dist/esm/gx-ide-navigation-report.entry.js.map +1 -1
  477. package/dist/esm/gx-ide-new-environment.entry.js +14 -19
  478. package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
  479. package/dist/esm/gx-ide-new-kb.entry.js +33 -38
  480. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  481. package/dist/esm/gx-ide-new-object.entry.js +6 -9
  482. package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
  483. package/dist/esm/gx-ide-new-version.entry.js +3 -3
  484. package/dist/esm/gx-ide-new-version.entry.js.map +1 -1
  485. package/dist/esm/gx-ide-object-selector.entry.js +8 -10
  486. package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
  487. package/dist/esm/gx-ide-open-api-import.entry.js +6 -11
  488. package/dist/esm/gx-ide-open-api-import.entry.js.map +1 -1
  489. package/dist/esm/gx-ide-references.entry.js +19 -25
  490. package/dist/esm/gx-ide-references.entry.js.map +1 -1
  491. package/dist/esm/gx-ide-sc-chat-container.entry.js +203 -99
  492. package/dist/esm/gx-ide-sc-chat-container.entry.js.map +1 -1
  493. package/dist/esm/gx-ide-select-kb-items.entry.js +8 -15
  494. package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
  495. package/dist/esm/gx-ide-select-user-team.entry.js +3 -4
  496. package/dist/esm/gx-ide-select-user-team.entry.js.map +1 -1
  497. package/dist/esm/gx-ide-share-kb.entry.js +5 -9
  498. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  499. package/dist/esm/gx-ide-sign-in-team.entry.js +2 -3
  500. package/dist/esm/gx-ide-sign-in-team.entry.js.map +1 -1
  501. package/dist/esm/gx-ide-sign-in.entry.js +1 -1
  502. package/dist/esm/gx-ide-splash.entry.js +5 -7
  503. package/dist/esm/gx-ide-splash.entry.js.map +1 -1
  504. package/dist/esm/gx-ide-start-page.entry.js +5 -9
  505. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  506. package/dist/esm/gx-ide-status-buttons.entry.js +1 -1
  507. package/dist/esm/gx-ide-team-dev-commit.entry.js +3 -3
  508. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  509. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
  510. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +2 -2
  511. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
  512. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
  513. package/dist/esm/gx-ide-team-dev-update.entry.js +4 -5
  514. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  515. package/dist/esm/gx-ide-template.entry.js +1 -1
  516. package/dist/esm/gx-ide-welcome-page.entry.js +7 -10
  517. package/dist/esm/gx-ide-welcome-page.entry.js.map +1 -1
  518. package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
  519. package/dist/esm/gx-ide-ww-attributes.entry.js +10 -17
  520. package/dist/esm/gx-ide-ww-attributes.entry.js.map +1 -1
  521. package/dist/esm/gx-ide-ww-files.entry.js +19 -22
  522. package/dist/esm/gx-ide-ww-files.entry.js.map +1 -1
  523. package/dist/esm/gx-ide-ww-images.entry.js +20 -9
  524. package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
  525. package/dist/esm/{helpers-10479d69.js → helpers-5f1c9a32.js} +6 -6
  526. package/dist/esm/helpers-5f1c9a32.js.map +1 -0
  527. package/dist/esm/index.js +2 -2
  528. package/dist/esm/index.js.map +1 -1
  529. package/dist/esm/loader.js +1 -1
  530. package/dist/esm/{locale-e5107fad.js → locale-643afe17.js} +4 -4
  531. package/dist/esm/locale-643afe17.js.map +1 -0
  532. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  533. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  534. package/dist/genexus-ide-ui/gx-ide-assets/chat-container/langs/chat-container.lang.en.json +9 -0
  535. package/dist/genexus-ide-ui/gx-ide-assets/chat-container/langs/chat-container.lang.ja.json +9 -0
  536. package/dist/genexus-ide-ui/gx-ide-assets/chat-container/langs/chat-container.lang.zh.json +9 -0
  537. package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/helpers.tsx +31 -0
  538. package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/images/ai-avatar-welcome.svg +21 -0
  539. package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/images/ai-avatar.svg +11 -0
  540. package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/images/header-illustration.svg +24 -0
  541. package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.en.json +10 -0
  542. package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.ja.json +10 -0
  543. package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.zh.json +10 -0
  544. package/dist/genexus-ide-ui/index.esm.js +2 -2
  545. package/dist/genexus-ide-ui/index.esm.js.map +1 -1
  546. package/dist/genexus-ide-ui/{p-d8379699.entry.js → p-02fc47cd.entry.js} +2 -2
  547. package/dist/genexus-ide-ui/{p-530c32aa.entry.js → p-032b4a81.entry.js} +25 -30
  548. package/dist/genexus-ide-ui/p-032b4a81.entry.js.map +1 -0
  549. package/dist/genexus-ide-ui/{p-eea944d4.entry.js → p-0d83a34d.entry.js} +63 -69
  550. package/dist/genexus-ide-ui/p-0d83a34d.entry.js.map +1 -0
  551. package/dist/genexus-ide-ui/{p-fcecdafa.entry.js → p-0e53f1ef.entry.js} +161 -163
  552. package/dist/genexus-ide-ui/p-0e53f1ef.entry.js.map +1 -0
  553. package/dist/genexus-ide-ui/{p-a1d73ca3.entry.js → p-11dccb8f.entry.js} +19 -20
  554. package/dist/genexus-ide-ui/p-11dccb8f.entry.js.map +1 -0
  555. package/dist/genexus-ide-ui/{p-fecc50e4.entry.js → p-29575656.entry.js} +85 -96
  556. package/dist/genexus-ide-ui/p-29575656.entry.js.map +1 -0
  557. package/dist/genexus-ide-ui/{p-14165308.entry.js → p-2be58a7a.entry.js} +2 -2
  558. package/dist/genexus-ide-ui/{p-fdf41406.entry.js → p-2dbf722d.entry.js} +77 -85
  559. package/dist/genexus-ide-ui/p-2dbf722d.entry.js.map +1 -0
  560. package/dist/genexus-ide-ui/{p-31beae9e.entry.js → p-2e90a13a.entry.js} +2 -3
  561. package/dist/genexus-ide-ui/p-2e90a13a.entry.js.map +1 -0
  562. package/dist/genexus-ide-ui/{p-ba7d1472.entry.js → p-353810b8.entry.js} +99 -104
  563. package/dist/genexus-ide-ui/p-353810b8.entry.js.map +1 -0
  564. package/dist/genexus-ide-ui/{p-b58fb87b.entry.js → p-39c527ff.entry.js} +2 -2
  565. package/dist/genexus-ide-ui/p-3edbf07d.js +109 -0
  566. package/dist/genexus-ide-ui/p-3edbf07d.js.map +1 -0
  567. package/dist/genexus-ide-ui/{p-ef5dfd35.entry.js → p-41a4364d.entry.js} +2 -4
  568. package/dist/genexus-ide-ui/{p-ef5dfd35.entry.js.map → p-41a4364d.entry.js.map} +1 -1
  569. package/dist/genexus-ide-ui/{p-68969051.entry.js → p-45d2fa91.entry.js} +11 -12
  570. package/dist/genexus-ide-ui/p-45d2fa91.entry.js.map +1 -0
  571. package/dist/genexus-ide-ui/{p-5687fdb7.entry.js → p-460db3ff.entry.js} +11 -13
  572. package/dist/genexus-ide-ui/{p-5687fdb7.entry.js.map → p-460db3ff.entry.js.map} +1 -1
  573. package/dist/genexus-ide-ui/{p-9a609b51.js → p-48f5911b.js} +50 -33
  574. package/dist/genexus-ide-ui/p-48f5911b.js.map +1 -0
  575. package/dist/genexus-ide-ui/{p-4b38fffc.entry.js → p-4d929210.entry.js} +2 -2
  576. package/dist/genexus-ide-ui/{p-de7f0c1f.entry.js → p-501c7b1f.entry.js} +19 -22
  577. package/dist/genexus-ide-ui/p-501c7b1f.entry.js.map +1 -0
  578. package/dist/genexus-ide-ui/{p-c747afac.entry.js → p-50eaa96d.entry.js} +99 -111
  579. package/dist/genexus-ide-ui/p-50eaa96d.entry.js.map +1 -0
  580. package/dist/genexus-ide-ui/p-51601b85.js +145 -0
  581. package/dist/genexus-ide-ui/p-51601b85.js.map +1 -0
  582. package/dist/genexus-ide-ui/{p-289c3290.js → p-549b8f0c.js} +16 -15
  583. package/dist/{esm/form-validation-cd0215c6.js.map → genexus-ide-ui/p-549b8f0c.js.map} +1 -1
  584. package/dist/genexus-ide-ui/{p-007173ef.entry.js → p-5a42428d.entry.js} +16 -19
  585. package/dist/genexus-ide-ui/p-5a42428d.entry.js.map +1 -0
  586. package/dist/genexus-ide-ui/{p-ded7444c.entry.js → p-5da3e999.entry.js} +16 -17
  587. package/dist/genexus-ide-ui/p-5da3e999.entry.js.map +1 -0
  588. package/dist/genexus-ide-ui/{p-1072bf33.entry.js → p-5e05f830.entry.js} +32 -38
  589. package/dist/genexus-ide-ui/p-5e05f830.entry.js.map +1 -0
  590. package/dist/genexus-ide-ui/{p-fe490103.entry.js → p-6168d48c.entry.js} +165 -174
  591. package/dist/genexus-ide-ui/p-6168d48c.entry.js.map +1 -0
  592. package/dist/genexus-ide-ui/{p-76c3fc51.entry.js → p-66d9269a.entry.js} +17 -22
  593. package/dist/genexus-ide-ui/p-66d9269a.entry.js.map +1 -0
  594. package/dist/genexus-ide-ui/{p-45996535.entry.js → p-6dc05a27.entry.js} +3 -4
  595. package/dist/genexus-ide-ui/p-6dc05a27.entry.js.map +1 -0
  596. package/dist/genexus-ide-ui/{p-f51adb3d.entry.js → p-75e1aa31.entry.js} +5 -6
  597. package/dist/genexus-ide-ui/p-75e1aa31.entry.js.map +1 -0
  598. package/dist/genexus-ide-ui/{p-e502c2fd.entry.js → p-7782e1b8.entry.js} +56 -61
  599. package/dist/genexus-ide-ui/p-7782e1b8.entry.js.map +1 -0
  600. package/dist/genexus-ide-ui/{p-1bc2613e.entry.js → p-7cedb0f0.entry.js} +66 -69
  601. package/dist/genexus-ide-ui/p-7cedb0f0.entry.js.map +1 -0
  602. package/dist/genexus-ide-ui/{p-311eedf3.js → p-857866f8.js} +8 -9
  603. package/dist/genexus-ide-ui/p-857866f8.js.map +1 -0
  604. package/dist/genexus-ide-ui/{p-f722955f.entry.js → p-8636a0bd.entry.js} +2 -2
  605. package/dist/genexus-ide-ui/{p-d095a37c.entry.js → p-8b046b4b.entry.js} +9 -10
  606. package/dist/genexus-ide-ui/p-8b046b4b.entry.js.map +1 -0
  607. package/dist/genexus-ide-ui/{p-4b79c3ab.entry.js → p-8f1f4126.entry.js} +10 -12
  608. package/dist/genexus-ide-ui/p-8f1f4126.entry.js.map +1 -0
  609. package/dist/genexus-ide-ui/{p-b2928645.entry.js → p-95f831a8.entry.js} +2 -2
  610. package/dist/genexus-ide-ui/{p-c91af626.entry.js → p-970d16ca.entry.js} +15 -15
  611. package/dist/genexus-ide-ui/{p-c91af626.entry.js.map → p-970d16ca.entry.js.map} +1 -1
  612. package/dist/genexus-ide-ui/{p-35f9ebbc.entry.js → p-9a39e49c.entry.js} +2 -2
  613. package/dist/genexus-ide-ui/{p-e24902a0.entry.js → p-9a9ee1ee.entry.js} +2 -2
  614. package/dist/genexus-ide-ui/{p-bbf88f43.entry.js → p-9b238bf7.entry.js} +173 -180
  615. package/dist/genexus-ide-ui/p-9b238bf7.entry.js.map +1 -0
  616. package/dist/genexus-ide-ui/{p-edf889d2.entry.js → p-9c690c36.entry.js} +13 -16
  617. package/dist/genexus-ide-ui/p-9c690c36.entry.js.map +1 -0
  618. package/dist/genexus-ide-ui/{p-4c717aa7.entry.js → p-a6029d9a.entry.js} +117 -131
  619. package/dist/genexus-ide-ui/p-a6029d9a.entry.js.map +1 -0
  620. package/dist/genexus-ide-ui/{p-833c3585.entry.js → p-a86a8692.entry.js} +33 -39
  621. package/dist/genexus-ide-ui/p-a86a8692.entry.js.map +1 -0
  622. package/dist/genexus-ide-ui/{p-f7421997.entry.js → p-a8cc41e4.entry.js} +58 -61
  623. package/dist/genexus-ide-ui/p-a8cc41e4.entry.js.map +1 -0
  624. package/dist/genexus-ide-ui/{p-767e0f6d.entry.js → p-ac0438d6.entry.js} +11 -12
  625. package/dist/genexus-ide-ui/p-ac0438d6.entry.js.map +1 -0
  626. package/dist/genexus-ide-ui/{p-56331289.entry.js → p-b1833747.entry.js} +38 -45
  627. package/dist/genexus-ide-ui/p-b1833747.entry.js.map +1 -0
  628. package/dist/genexus-ide-ui/{p-6b957e82.entry.js → p-b211bca8.entry.js} +2 -2
  629. package/dist/genexus-ide-ui/{p-84618917.entry.js → p-be794132.entry.js} +229 -236
  630. package/dist/genexus-ide-ui/p-be794132.entry.js.map +1 -0
  631. package/dist/genexus-ide-ui/{p-961bb2cc.entry.js → p-bfd9066c.entry.js} +8 -8
  632. package/dist/genexus-ide-ui/p-bfd9066c.entry.js.map +1 -0
  633. package/dist/genexus-ide-ui/{p-a47d71eb.entry.js → p-c30b2104.entry.js} +9 -11
  634. package/dist/genexus-ide-ui/p-c30b2104.entry.js.map +1 -0
  635. package/dist/genexus-ide-ui/{p-fa18a70c.entry.js → p-c5cca204.entry.js} +17 -20
  636. package/dist/genexus-ide-ui/p-c5cca204.entry.js.map +1 -0
  637. package/dist/genexus-ide-ui/p-cdf8b082.entry.js +338 -0
  638. package/dist/genexus-ide-ui/p-cdf8b082.entry.js.map +1 -0
  639. package/dist/genexus-ide-ui/{p-6d2174ed.entry.js → p-d1cc4724.entry.js} +17 -12
  640. package/dist/genexus-ide-ui/p-d1cc4724.entry.js.map +1 -0
  641. package/dist/genexus-ide-ui/{p-1dd7be84.entry.js → p-daa29451.entry.js} +14 -17
  642. package/dist/genexus-ide-ui/p-daa29451.entry.js.map +1 -0
  643. package/dist/genexus-ide-ui/{p-67762237.entry.js → p-db4750ff.entry.js} +139 -148
  644. package/dist/genexus-ide-ui/p-db4750ff.entry.js.map +1 -0
  645. package/dist/genexus-ide-ui/{p-3085add2.entry.js → p-db4f756a.entry.js} +176 -188
  646. package/dist/genexus-ide-ui/p-db4f756a.entry.js.map +1 -0
  647. package/dist/genexus-ide-ui/{p-05b04291.entry.js → p-e1d75f00.entry.js} +2 -2
  648. package/dist/genexus-ide-ui/{p-05b04291.entry.js.map → p-e1d75f00.entry.js.map} +1 -1
  649. package/dist/genexus-ide-ui/{p-f49bb305.entry.js → p-e26e05c7.entry.js} +12 -18
  650. package/dist/genexus-ide-ui/p-e26e05c7.entry.js.map +1 -0
  651. package/dist/genexus-ide-ui/{p-2b3938b4.entry.js → p-e37e95e7.entry.js} +4 -4
  652. package/dist/genexus-ide-ui/{p-4cbc8a8b.entry.js → p-e5571f49.entry.js} +26 -28
  653. package/dist/genexus-ide-ui/p-e5571f49.entry.js.map +1 -0
  654. package/dist/genexus-ide-ui/p-eb51429c.entry.js +317 -0
  655. package/dist/genexus-ide-ui/p-eb51429c.entry.js.map +1 -0
  656. package/dist/genexus-ide-ui/{p-29a026bb.entry.js → p-ec01c70c.entry.js} +15 -18
  657. package/dist/genexus-ide-ui/p-ec01c70c.entry.js.map +1 -0
  658. package/dist/genexus-ide-ui/{p-5ac47c69.js → p-ede7bd20.js} +6885 -6346
  659. package/dist/genexus-ide-ui/p-ede7bd20.js.map +1 -0
  660. package/dist/genexus-ide-ui/{p-e7fb3ee3.entry.js → p-f2bd9044.entry.js} +2 -2
  661. package/dist/genexus-ide-ui/{p-50f304fe.entry.js → p-f315c6e0.entry.js} +12 -14
  662. package/dist/genexus-ide-ui/{p-50f304fe.entry.js.map → p-f315c6e0.entry.js.map} +1 -1
  663. package/dist/genexus-ide-ui/{p-0550fd5f.entry.js → p-f52bcdac.entry.js} +2 -2
  664. package/dist/genexus-ide-ui/{p-b1851e6b.entry.js → p-f5879a41.entry.js} +3 -3
  665. package/dist/genexus-ide-ui/{p-b1851e6b.entry.js.map → p-f5879a41.entry.js.map} +1 -1
  666. package/dist/genexus-ide-ui/{p-f3f35e5c.entry.js → p-f5a48b33.entry.js} +6 -9
  667. package/dist/genexus-ide-ui/p-f5a48b33.entry.js.map +1 -0
  668. package/dist/genexus-ide-ui/{p-04c6bd23.entry.js → p-f6ceb01a.entry.js} +28 -29
  669. package/dist/genexus-ide-ui/p-f6ceb01a.entry.js.map +1 -0
  670. package/dist/types/common/common.d.ts +1 -1
  671. package/dist/types/components/{_helpers → chat}/chat-container/chat-container.d.ts +13 -2
  672. package/dist/types/components/chat/chat-welcome/chat-welcome.d.ts +39 -0
  673. package/dist/types/components/chat/chat-welcome/gx-ide-assets/chat-welcome/helpers.d.ts +1 -0
  674. package/dist/types/components/{_helpers/chat-container → chat}/code-render.d.ts +1 -1
  675. package/dist/types/components.d.ts +73 -0
  676. package/dist/types/index.d.ts +1 -1
  677. package/dist/types/showcase/chat-container/callbacks.d.ts +1 -1
  678. package/dist/types/showcase/chat-container/chat.showcase.d.ts +15 -0
  679. package/package.json +5 -5
  680. package/dist/cjs/MERCURY_ASSETS-6bbcc011.js +0 -5
  681. package/dist/cjs/MERCURY_ASSETS-6bbcc011.js.map +0 -1
  682. package/dist/cjs/assets-manager-7227a74b.js +0 -7
  683. package/dist/cjs/assets-manager-7227a74b.js.map +0 -1
  684. package/dist/cjs/code-render-db7cb770.js +0 -59
  685. package/dist/cjs/code-render-db7cb770.js.map +0 -1
  686. package/dist/cjs/common-72f91a78.js.map +0 -1
  687. package/dist/cjs/form-validation-178cf461.js.map +0 -1
  688. package/dist/cjs/gx-ide-chat-container.cjs.entry.js +0 -62
  689. package/dist/cjs/gx-ide-chat-container.cjs.entry.js.map +0 -1
  690. package/dist/cjs/helpers-30f109a4.js.map +0 -1
  691. package/dist/cjs/locale-ff30a5f3.js.map +0 -1
  692. package/dist/collection/components/_helpers/chat-container/chat-container.css +0 -204
  693. package/dist/collection/components/_helpers/chat-container/chat-container.js +0 -137
  694. package/dist/collection/components/_helpers/chat-container/chat-container.js.map +0 -1
  695. package/dist/collection/components/_helpers/chat-container/code-render.js +0 -46
  696. package/dist/collection/components/_helpers/chat-container/code-render.js.map +0 -1
  697. package/dist/components/assets-manager.js +0 -5
  698. package/dist/components/assets-manager.js.map +0 -1
  699. package/dist/esm/MERCURY_ASSETS-bbdf7018.js +0 -3
  700. package/dist/esm/MERCURY_ASSETS-bbdf7018.js.map +0 -1
  701. package/dist/esm/assets-manager-0d129105.js +0 -5
  702. package/dist/esm/assets-manager-0d129105.js.map +0 -1
  703. package/dist/esm/code-render-6cbb0e63.js +0 -56
  704. package/dist/esm/code-render-6cbb0e63.js.map +0 -1
  705. package/dist/esm/common-ccb4504a.js.map +0 -1
  706. package/dist/esm/gx-ide-chat-container.entry.js +0 -58
  707. package/dist/esm/gx-ide-chat-container.entry.js.map +0 -1
  708. package/dist/esm/helpers-10479d69.js.map +0 -1
  709. package/dist/esm/locale-e5107fad.js.map +0 -1
  710. package/dist/genexus-ide-ui/p-007173ef.entry.js.map +0 -1
  711. package/dist/genexus-ide-ui/p-04c6bd23.entry.js.map +0 -1
  712. package/dist/genexus-ide-ui/p-1072bf33.entry.js.map +0 -1
  713. package/dist/genexus-ide-ui/p-1a74d49a.entry.js +0 -231
  714. package/dist/genexus-ide-ui/p-1a74d49a.entry.js.map +0 -1
  715. package/dist/genexus-ide-ui/p-1bc2613e.entry.js.map +0 -1
  716. package/dist/genexus-ide-ui/p-1dd7be84.entry.js.map +0 -1
  717. package/dist/genexus-ide-ui/p-289c3290.js.map +0 -1
  718. package/dist/genexus-ide-ui/p-29a026bb.entry.js.map +0 -1
  719. package/dist/genexus-ide-ui/p-3085add2.entry.js.map +0 -1
  720. package/dist/genexus-ide-ui/p-311eedf3.js.map +0 -1
  721. package/dist/genexus-ide-ui/p-31beae9e.entry.js.map +0 -1
  722. package/dist/genexus-ide-ui/p-45996535.entry.js.map +0 -1
  723. package/dist/genexus-ide-ui/p-4b79c3ab.entry.js.map +0 -1
  724. package/dist/genexus-ide-ui/p-4c717aa7.entry.js.map +0 -1
  725. package/dist/genexus-ide-ui/p-4cbc8a8b.entry.js.map +0 -1
  726. package/dist/genexus-ide-ui/p-530c32aa.entry.js.map +0 -1
  727. package/dist/genexus-ide-ui/p-56331289.entry.js.map +0 -1
  728. package/dist/genexus-ide-ui/p-5ac47c69.js.map +0 -1
  729. package/dist/genexus-ide-ui/p-67762237.entry.js.map +0 -1
  730. package/dist/genexus-ide-ui/p-68969051.entry.js.map +0 -1
  731. package/dist/genexus-ide-ui/p-6d2174ed.entry.js.map +0 -1
  732. package/dist/genexus-ide-ui/p-6e4208d8.js +0 -9
  733. package/dist/genexus-ide-ui/p-6e4208d8.js.map +0 -1
  734. package/dist/genexus-ide-ui/p-767e0f6d.entry.js.map +0 -1
  735. package/dist/genexus-ide-ui/p-76c3fc51.entry.js.map +0 -1
  736. package/dist/genexus-ide-ui/p-833c3585.entry.js.map +0 -1
  737. package/dist/genexus-ide-ui/p-84618917.entry.js.map +0 -1
  738. package/dist/genexus-ide-ui/p-961bb2cc.entry.js.map +0 -1
  739. package/dist/genexus-ide-ui/p-9a609b51.js.map +0 -1
  740. package/dist/genexus-ide-ui/p-9ddea83b.js +0 -146
  741. package/dist/genexus-ide-ui/p-9ddea83b.js.map +0 -1
  742. package/dist/genexus-ide-ui/p-a1d73ca3.entry.js.map +0 -1
  743. package/dist/genexus-ide-ui/p-a47d71eb.entry.js.map +0 -1
  744. package/dist/genexus-ide-ui/p-ba7d1472.entry.js.map +0 -1
  745. package/dist/genexus-ide-ui/p-bbf88f43.entry.js.map +0 -1
  746. package/dist/genexus-ide-ui/p-be8a59fd.js +0 -107
  747. package/dist/genexus-ide-ui/p-be8a59fd.js.map +0 -1
  748. package/dist/genexus-ide-ui/p-c747afac.entry.js.map +0 -1
  749. package/dist/genexus-ide-ui/p-d095a37c.entry.js.map +0 -1
  750. package/dist/genexus-ide-ui/p-db9c3b37.entry.js +0 -85
  751. package/dist/genexus-ide-ui/p-db9c3b37.entry.js.map +0 -1
  752. package/dist/genexus-ide-ui/p-de7f0c1f.entry.js.map +0 -1
  753. package/dist/genexus-ide-ui/p-ded7444c.entry.js.map +0 -1
  754. package/dist/genexus-ide-ui/p-e502c2fd.entry.js.map +0 -1
  755. package/dist/genexus-ide-ui/p-edf889d2.entry.js.map +0 -1
  756. package/dist/genexus-ide-ui/p-eea944d4.entry.js.map +0 -1
  757. package/dist/genexus-ide-ui/p-f3f35e5c.entry.js.map +0 -1
  758. package/dist/genexus-ide-ui/p-f49bb305.entry.js.map +0 -1
  759. package/dist/genexus-ide-ui/p-f51adb3d.entry.js.map +0 -1
  760. package/dist/genexus-ide-ui/p-f7421997.entry.js.map +0 -1
  761. package/dist/genexus-ide-ui/p-fa18a70c.entry.js.map +0 -1
  762. package/dist/genexus-ide-ui/p-fcecdafa.entry.js.map +0 -1
  763. package/dist/genexus-ide-ui/p-fdf41406.entry.js.map +0 -1
  764. package/dist/genexus-ide-ui/p-fe490103.entry.js.map +0 -1
  765. package/dist/genexus-ide-ui/p-fecc50e4.entry.js.map +0 -1
  766. /package/dist/genexus-ide-ui/{p-d8379699.entry.js.map → p-02fc47cd.entry.js.map} +0 -0
  767. /package/dist/genexus-ide-ui/{p-14165308.entry.js.map → p-2be58a7a.entry.js.map} +0 -0
  768. /package/dist/genexus-ide-ui/{p-b58fb87b.entry.js.map → p-39c527ff.entry.js.map} +0 -0
  769. /package/dist/genexus-ide-ui/{p-4b38fffc.entry.js.map → p-4d929210.entry.js.map} +0 -0
  770. /package/dist/genexus-ide-ui/{p-f722955f.entry.js.map → p-8636a0bd.entry.js.map} +0 -0
  771. /package/dist/genexus-ide-ui/{p-b2928645.entry.js.map → p-95f831a8.entry.js.map} +0 -0
  772. /package/dist/genexus-ide-ui/{p-35f9ebbc.entry.js.map → p-9a39e49c.entry.js.map} +0 -0
  773. /package/dist/genexus-ide-ui/{p-e24902a0.entry.js.map → p-9a9ee1ee.entry.js.map} +0 -0
  774. /package/dist/genexus-ide-ui/{p-6b957e82.entry.js.map → p-b211bca8.entry.js.map} +0 -0
  775. /package/dist/genexus-ide-ui/{p-2b3938b4.entry.js.map → p-e37e95e7.entry.js.map} +0 -0
  776. /package/dist/genexus-ide-ui/{p-e7fb3ee3.entry.js.map → p-f2bd9044.entry.js.map} +0 -0
  777. /package/dist/genexus-ide-ui/{p-0550fd5f.entry.js.map → p-f52bcdac.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["convertActionToTreeViewItem","operations","treeData","forEach","operation","importCategoryTreeItem","id","caption","name","expanded","leaf","checkbox","push","openApiImportCss","CSS_BUNDLES","FILE_ICON","getIconPath","category","colorType","MENU_DELETE","CHECKBOX_ALL_CHECKED_VALUE","CHECKBOX_ALL_UNCHECKED_VALUE","GxIdeOpenAPIImport","_GxIdeOpenAPIImport__componentLocale","set","this","_GxIdeOpenAPIImport_renderedFirstTime","_GxIdeOpenAPIImport_shortcutsSrc","getAssetPath","_GxIdeOpenAPIImport_chShortcutsEl","_GxIdeOpenAPIImport_fileInputHiddenEl","_GxIdeOpenAPIImport_parentEl","_GxIdeOpenAPIImport_objectsTreeEl","_GxIdeOpenAPIImport_cancelImportHandler","cancelCallback","_GxIdeOpenAPIImport_handleImport","async","importCallback","selectedOperations","_GxIdeOpenAPIImport_objectsTreeCheckedItemsChangedHandler","event","detail","size","allItems","checkedItems","values","filter","node","item","checked","map","length","selectAllCheckboxValue","selectAllCheckboxIndeterminate","_GxIdeOpenAPIImport_handleSelectAll","__classPrivateFieldGet","updateAllItemsProperties","op","_GxIdeOpenAPIImport_objectTreeClickedHandler","selectedOperationForDescription","description","_GxIdeOpenAPIImport_removeFileSelection","selectedFile","value","actionListItems","_GxIdeOpenAPIImport_selectFileInputChangedHandler","target","files","loadCallback","_GxIdeOpenAPIImport_selectFileInputHandler","click","_GxIdeOpenAPIImport_renderFooter","h","class","checkedValue","unCheckedValue","main","selectAll","indeterminate","onInput","disabled","importingIsInProcess","part","slot","onClick","footer","cancel","import","componentDidRender","componentDidRenderFirstTime","emit","componentName","__classPrivateFieldSet","componentWillLoad","Locale","getComponentStrings","el","suspendShortcuts","suspend","render","Host","model","src","ref","role","htmlFor","header","fileNameLabel","autoFocus","type","readonly","placeholder","fileNamePlaceholder","startImgSrc","hidden","accept","onChange","removeFileSelection","title","selectFileButton","moduleFolderLabel","defaultParent","defaultValue","selectEntityCallback","selectParentCallback","labelPosition","onCheckedItemsChange","onSelectedItemsChange","procedureDescription","call"],"sources":["src/components/open-api-import/helpers.ts","src/components/open-api-import/open-api-import.scss?tag=gx-ide-open-api-import&encapsulation=shadow","src/components/open-api-import/open-api-import.tsx"],"sourcesContent":["import { ApiOperationData } from \"./open-api-import\";\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\n\nexport const convertActionToTreeViewItem = (\n operations: ApiOperationData[]\n): TreeViewItemModel[] => {\n const treeData: TreeViewItemModel[] = [];\n if (!operations) {\n return treeData;\n }\n operations.forEach(operation => {\n const importCategoryTreeItem: TreeViewItemModel = {\n id: operation.id,\n caption: `${operation.name}`,\n expanded: true,\n leaf: true,\n checkbox: true\n };\n treeData.push(importCategoryTreeItem);\n });\n return treeData;\n};\n","section {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.main {\n position: relative;\n display: contents;\n}\n\n.input-file {\n display: flex;\n}\n\n.field {\n width: 100%;\n}\n\n.control-header__operations,\n.control-header__description {\n padding-block-start: var(--mer-spacing--md);\n}\n\n.header__field-group {\n grid-template:\n \"import-file-label import-file-name buttons-container\" max-content\n \"module-folder-label module-folder module-folder\" max-content\n / max-content 1fr max-content;\n}\n.module-folder-name {\n grid-area: module-folder;\n}\n.module-folder-label {\n grid-area: module-folder-label;\n}\n.import-file-label {\n grid-area: import-file-label;\n}\n\n.header__buttons-container {\n grid-area: buttons-container;\n}\n\n.section-grid {\n display: grid;\n grid-template:\n \"top-content-operations top-content-description\" max-content\n \"operations-area operations-description\" 1fr\n / 1fr 1fr;\n background-color: var(--items-container__bg-color);\n border-style: var(--items-container__border-style);\n border-width: var(--items-container__border-width);\n border-color: var(--items-container__border-color);\n border-block-start: 0;\n overflow-y: auto;\n}\n\n.list-wrapper {\n grid-area: operations-area;\n border-inline-end: var(--section-common-border);\n}\n.label {\n margin-top: 6px !important;\n}\n\n.tree-operations::part(item__header) {\n // WA Since this is a tree without parent node.\n // This componnent should ideally by an action-list,\n // but at the time of writting it doesn't support checkboxes.\n padding-inline-start: 0;\n}\n\n.procedure-description {\n grid-area: operations-description;\n overflow: auto;\n text-align: justify;\n}\n\n.control-header__operations {\n grid-area: top-content-operations;\n background-color: var(--items-container__bg-color);\n}\n\n.control-header__description {\n grid-area: top-content-description;\n background-color: var(--items-container__bg-color);\n}\n.text-align-center {\n text-align: center;\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n getAssetPath,\n Method\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { EntityData } from \"../../common/types\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport {\n TreeViewItemModel,\n TreeViewItemModelExtended,\n ChCheckboxCustomEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { convertActionToTreeViewItem } from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/checkbox\",\n \"components/edit\",\n \"components/icon\",\n \"components/tree-view\",\n \"components/list-box\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/spacing\",\n \"utils/typography\"\n];\n\nconst FILE_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"file\",\n colorType: \"on-elevation\"\n});\n\nconst MENU_DELETE = getIconPath({\n category: \"menus\",\n name: \"delete\",\n colorType: \"primary\"\n});\n\nconst CHECKBOX_ALL_CHECKED_VALUE = \"allChecked\";\nconst CHECKBOX_ALL_UNCHECKED_VALUE = \"allUnchecked\";\n\n@Component({\n tag: \"gx-ide-open-api-import\",\n styleUrl: \"open-api-import.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/open-api-import\"]\n})\nexport class GxIdeOpenAPIImport {\n #_componentLocale: any;\n #renderedFirstTime = false;\n #shortcutsSrc = getAssetPath(`./gx-ide-assets/new-object/shortcuts.json`);\n\n @Element() el: HTMLGxIdeOpenApiImportElement;\n\n #chShortcutsEl: HTMLChShortcutsElement;\n #fileInputHiddenEl!: HTMLInputElement;\n #parentEl!: HTMLGxIdeEntitySelectorElement;\n\n @State() actionListItems: TreeViewItemModel[] = [];\n @State() importingIsInProcess = false;\n @State() operations: ApiOperationData[] = [];\n @State() selectedFile: File;\n @State() selectedOperationForDescription: string;\n @State() selectedOperations: string[] = [];\n @State() selectAllCheckboxValue: string;\n @State() selectAllCheckboxIndeterminate: boolean = false;\n\n /**\n * Default value for the Module/Folder field.\n */\n @Prop() readonly defaultParent: EntityData;\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Callback invoked when the user wants to cancel the export process.\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Callback invoked when the user wants to initiate the import process.\n */\n @Prop() readonly importCallback: ImportCallback;\n\n /**\n * Callback invoked must be loaded the content for an specification API\n */\n @Prop() readonly loadCallback: LoadCallback;\n\n /**\n * Callback invoked when action is executed on Module/Folder filter (button '...').\n */\n @Prop() readonly selectParentCallback: SelectParentCallback;\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n #objectsTreeEl!: HTMLChTreeViewRenderElement;\n\n componentDidRender() {\n if (!this.#renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this.#_componentLocale.componentName\n );\n this.#renderedFirstTime = true;\n }\n }\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n // 9.LOCAL METHODS //\n #cancelImportHandler = () => {\n if (this.cancelCallback) {\n this.cancelCallback();\n }\n };\n\n #handleImport = async () => {\n await this.importCallback(this.selectedOperations);\n };\n\n #objectsTreeCheckedItemsChangedHandler = (\n event: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n if (event.detail.size === 0) {\n return;\n }\n const allItems = event.detail;\n const checkedItems = [...allItems.values()].filter(\n node => node.item.checked\n );\n this.selectedOperations = checkedItems.map(item => item.item.id);\n\n // Evaluate \"Select All\" checkbox state (siguiendo el patrón de kb-manager-import)\n if (allItems.size === checkedItems.length) {\n this.selectAllCheckboxValue = CHECKBOX_ALL_CHECKED_VALUE;\n this.selectAllCheckboxIndeterminate = false;\n } else if (checkedItems.length === 0) {\n this.selectAllCheckboxValue = CHECKBOX_ALL_UNCHECKED_VALUE;\n this.selectAllCheckboxIndeterminate = false;\n } else {\n this.selectAllCheckboxIndeterminate = true;\n }\n };\n\n #handleSelectAll = (event: ChCheckboxCustomEvent<string> | InputEvent) => {\n if (\"detail\" in event && this.#objectsTreeEl) {\n const checked =\n (event as ChCheckboxCustomEvent<string>).detail ===\n CHECKBOX_ALL_CHECKED_VALUE;\n // Usar updateAllItemsProperties como en kb-manager-import\n this.#objectsTreeEl.updateAllItemsProperties({ checked: checked });\n this.selectedOperations = checked ? this.operations.map(op => op.id) : [];\n this.selectAllCheckboxValue = checked\n ? CHECKBOX_ALL_CHECKED_VALUE\n : CHECKBOX_ALL_UNCHECKED_VALUE;\n this.selectAllCheckboxIndeterminate = false;\n }\n };\n\n #objectTreeClickedHandler = (\n event: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n this.selectedOperationForDescription = this.operations.filter(\n op => op.id === event.detail[0]?.item.id\n )[0]?.description;\n };\n\n #removeFileSelection = () => {\n this.selectedFile = null;\n this.#fileInputHiddenEl.value = null;\n this.operations = [];\n this.actionListItems = [];\n this.selectedOperationForDescription = null;\n };\n\n #selectFileInputChangedHandler = async (event: InputEvent) => {\n const target = event.target as HTMLInputElement;\n if (target.files?.length > 0) {\n this.selectedFile = target.files[0];\n this.operations = await this.loadCallback(\n this.selectedFile,\n this.#parentEl.value.id\n );\n this.actionListItems = convertActionToTreeViewItem(this.operations);\n }\n };\n\n #selectFileInputHandler = () => {\n this.#fileInputHiddenEl.click();\n };\n\n #renderFooter = (): HTMLElement => {\n return (\n <footer class=\"control-footer control-footer-space-between spacing-body-block-end spacing-body-inline\">\n <div class=\"buttons-spacer\">\n <ch-checkbox\n id=\"select-all-checkbox\"\n class=\"checkbox\"\n checkedValue={CHECKBOX_ALL_CHECKED_VALUE}\n unCheckedValue={CHECKBOX_ALL_UNCHECKED_VALUE}\n caption={this.#_componentLocale.main.selectAll}\n value={this.selectAllCheckboxValue}\n indeterminate={this.selectAllCheckboxIndeterminate}\n onInput={this.#handleSelectAll}\n disabled={this.importingIsInProcess || !this.operations?.length}\n part=\"select-all-checkbox\"\n ></ch-checkbox>\n </div>\n <div class=\"buttons-spacer\">\n <button\n class=\"button-secondary\"\n slot=\"footer-end\"\n part=\"button-cancel\"\n onClick={this.#cancelImportHandler}\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n\n <button\n class=\"button-primary\"\n slot=\"footer-end\"\n part=\"button-confirm\"\n onClick={this.#handleImport}\n >\n {this.#_componentLocale.footer.import}\n </button>\n </div>\n </footer>\n );\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n <section>\n <header\n class=\"header control-header-with-border space-body spacing-body-inline spacing-body-block-start\"\n role=\"banner\"\n >\n <div class=\"field-group header__field-group\">\n <div class=\"import-file-label\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"file-name\">\n {this.#_componentLocale.header.fileNameLabel}\n </label>\n </div>\n </div>\n <div class=\"input-file\">\n <div class=\"field input-file\">\n <ch-edit\n autoFocus\n id=\"file-name\"\n class=\"input file\"\n part=\"file-name\"\n type=\"text\"\n readonly\n value={this.selectedFile?.name}\n placeholder={\n this.#_componentLocale.header.fileNamePlaceholder\n }\n startImgSrc={FILE_ICON}\n ></ch-edit>\n <input\n hidden\n type=\"file\"\n accept=\".json, .yaml\"\n onChange={this.#selectFileInputChangedHandler}\n ref={(el: HTMLInputElement) =>\n (this.#fileInputHiddenEl = el as HTMLInputElement)\n }\n />\n </div>\n <div class=\"cancel-btn \">\n <button\n aria-label={\n this.#_componentLocale.header.removeFileSelection\n }\n title={this.#_componentLocale.header.removeFileSelection}\n id=\"reset-all-button\"\n class=\"button-tertiary button-icon-only\"\n part=\"reset-all-button\"\n onClick={this.#removeFileSelection}\n >\n <ch-image class=\"icon-md\" src={MENU_DELETE}></ch-image>\n </button>\n </div>\n </div>\n\n <div class=\"header__buttons-container\">\n <button\n id=\"select-file-load-button\"\n class=\"button-primary\"\n part=\"select-file-load-button\"\n onClick={this.#selectFileInputHandler}\n disabled={this.importingIsInProcess}\n >\n {this.#_componentLocale.header.selectFileButton}\n </button>\n </div>\n <div class=\"module-folder-label\">\n <div class=\"field field-block\">\n <label class=\"label\">\n {this.#_componentLocale.header.moduleFolderLabel}\n </label>\n </div>\n </div>\n <div class=\"field module-folder-name \">\n <gx-ide-entity-selector\n value={this.defaultParent}\n defaultValue={this.defaultParent}\n selectEntityCallback={this.selectParentCallback}\n labelPosition=\"none\"\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.#parentEl = el as HTMLGxIdeEntitySelectorElement)\n }\n class=\"module-folder\"\n ></gx-ide-entity-selector>\n </div>\n </div>\n </header>\n\n <main class=\"main\">\n <div class=\"section-grid\">\n <h2\n id=\"operations-title\"\n class=\"control-header control-header-with-border control-header__operations subtitle-regular-xs text-align-center spacing-body-inline\"\n >\n {this.#_componentLocale.main.operations}\n </h2>\n\n <div\n class=\"list-wrapper field-group spacing-body-block-start spacing-body-inline scrollable\"\n role=\"region\"\n aria-labelledby=\"operations-title\"\n >\n <ch-tree-view-render\n class=\"tree-view tree-operations\"\n model={this.actionListItems}\n show-lines=\"last\"\n onCheckedItemsChange={\n this.#objectsTreeCheckedItemsChangedHandler\n }\n onSelectedItemsChange={this.#objectTreeClickedHandler}\n ref={el =>\n (this.#objectsTreeEl = el as HTMLChTreeViewRenderElement)\n }\n ></ch-tree-view-render>\n </div>\n\n <h2\n id=\"description-title\"\n class=\"control-header control-header-with-border control-header__description subtitle-regular-xs text-align-center spacing-body-inline\"\n >\n {this.#_componentLocale.main.procedureDescription}\n </h2>\n\n <div\n class=\"procedure-description field-group spacing-body-block-start spacing-body-inline scrollable\"\n role=\"region\"\n aria-labelledby=\"description-title\"\n >\n {this.selectedOperationForDescription}\n </div>\n </div>\n </main>\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type ApiOperationData = {\n id: string;\n name: string;\n description: string;\n};\nexport type SelectionEventDetail = {\n itemId: string;\n itemValue: string;\n};\n\nexport type CancelCallback = () => Promise<void>;\nexport type ImportCallback = (operationIds: string[]) => Promise<boolean>;\nexport type SelectParentCallback = () => Promise<EntityData | undefined>;\nexport type LoadCallback = (\n source: string | File,\n parentId: string\n) => Promise<ApiOperationData[]>;\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { r as e, c as r, h as t, H as o, a } from "./p-25a9f1d7.js";
2
2
 
3
- import { L as i } from "./p-311eedf3.js";
3
+ import { L as i } from "./p-857866f8.js";
4
4
 
5
5
  import { c as s } from "./p-13738332.js";
6
6
 
@@ -97,4 +97,4 @@ const g = class {
97
97
  g.style = n;
98
98
 
99
99
  export { g as gx_ide_team_dev_select_recent_comment };
100
- //# sourceMappingURL=p-14165308.entry.js.map
100
+ //# sourceMappingURL=p-2be58a7a.entry.js.map
@@ -1,12 +1,10 @@
1
1
  import { r as t, g as e, h as i, H as s, a as n } from "./p-25a9f1d7.js";
2
2
 
3
- import { g as o } from "./p-6e4208d8.js";
3
+ import { g as a } from "./p-ede7bd20.js";
4
4
 
5
- import "./p-5ac47c69.js";
5
+ import { L as o } from "./p-857866f8.js";
6
6
 
7
- import { L as a } from "./p-311eedf3.js";
8
-
9
- const r = o({
7
+ const r = a({
10
8
  category: "system",
11
9
  name: "check-circle",
12
10
  colorType: "primary"
@@ -15,24 +13,23 @@ const r = o({
15
13
  const convertItemsNodeListToFlattenedTreeViewModel = (t, e) => {
16
14
  const i = [];
17
15
  const processNode = t => {
18
- var s;
19
- const n = t.active && !t.iconStart ? r : t.iconStart;
20
- const o = !((s = t.nodes) === null || s === void 0 ? void 0 : s.length);
21
- const a = e === "all" || e === "custom" && t.checkbox || e === "leaf" && o;
22
- const c = JSON.stringify({
16
+ const s = t.active && !t.iconStart ? r : t.iconStart;
17
+ const n = !t.nodes?.length;
18
+ const a = e === "all" || e === "custom" && t.checkbox || e === "leaf" && n;
19
+ const o = JSON.stringify({
23
20
  versionType: t.type
24
21
  });
25
22
  i.push({
26
23
  caption: t.name,
27
24
  checkbox: a,
28
25
  checked: t.checked,
29
- startImgSrc: n,
26
+ startImgSrc: s,
30
27
  endImgSrc: t.iconEnd,
31
28
  expanded: t.expanded,
32
29
  id: t.id.toString(),
33
30
  items: null,
34
- leaf: o,
35
- metadata: c,
31
+ leaf: n,
32
+ metadata: o,
36
33
  parts: t.parts,
37
34
  selected: t.selected
38
35
  });
@@ -47,14 +44,13 @@ const convertItemsNodeListToFlattenedTreeViewModel = (t, e) => {
47
44
  const convertItemsListToTreeViewModel = (t, e) => {
48
45
  const i = [];
49
46
  t.forEach((t => {
50
- var s;
51
- const n = t.active && !t.iconStart ? r : t.iconStart;
52
- const o = !((s = t.nodes) === null || s === void 0 ? void 0 : s.length);
53
- const a = e === "all" || e === "custom" && t.checkbox || e === "leaf" && o;
54
- const c = t.expanded;
55
- const h = n;
56
- const l = t.iconEnd;
57
- const d = JSON.stringify({
47
+ const s = t.active && !t.iconStart ? r : t.iconStart;
48
+ const n = !t.nodes?.length;
49
+ const a = e === "all" || e === "custom" && t.checkbox || e === "leaf" && n;
50
+ const o = t.expanded;
51
+ const c = s;
52
+ const h = t.iconEnd;
53
+ const l = JSON.stringify({
58
54
  versionType: t.type
59
55
  });
60
56
  const f = parseInt(t.id);
@@ -62,13 +58,13 @@ const convertItemsListToTreeViewModel = (t, e) => {
62
58
  caption: t.name,
63
59
  checkbox: a,
64
60
  checked: t.checked,
65
- startImgSrc: h,
66
- endImgSrc: l,
67
- expanded: c,
61
+ startImgSrc: c,
62
+ endImgSrc: h,
63
+ expanded: o,
68
64
  id: t.id.toString(),
69
- items: !o ? convertItemsListToTreeViewModel(t.nodes, e) : null,
70
- leaf: o,
71
- metadata: d,
65
+ items: !n ? convertItemsListToTreeViewModel(t.nodes, e) : null,
66
+ leaf: n,
67
+ metadata: l,
72
68
  parts: t.parts,
73
69
  order: f,
74
70
  selected: t.selected
@@ -104,9 +100,8 @@ function findItemInArray(t, e) {
104
100
 
105
101
  const setAllLeafsCheckedFalse = t => {
106
102
  const uncheck = t => {
107
- var e;
108
103
  t.checked = false;
109
- if ((e = t.nodes) === null || e === void 0 ? void 0 : e.length) {
104
+ if (t.nodes?.length) {
110
105
  t.nodes.forEach((t => uncheck(t)));
111
106
  }
112
107
  };
@@ -116,9 +111,8 @@ const setAllLeafsCheckedFalse = t => {
116
111
 
117
112
  const unselectAllNodes = t => {
118
113
  const unselect = t => {
119
- var e;
120
114
  t.selected = false;
121
- if ((e = t.nodes) === null || e === void 0 ? void 0 : e.length) {
115
+ if (t.nodes?.length) {
122
116
  t.nodes.forEach((t => unselect(t)));
123
117
  }
124
118
  };
@@ -157,13 +151,12 @@ const selectItems = (t, e) => {
157
151
  };
158
152
 
159
153
  function searchInNode(t, e) {
160
- var i;
161
154
  // If the current node is the searched node, we return an empty list (it has no parents in this branch)
162
- if (t.id === e) {
155
+ if (t.id === e) {
163
156
  return [];
164
157
  }
165
158
  // We traverse each child looking for the target node
166
- if ((i = t.nodes) === null || i === void 0 ? void 0 : i.length) {
159
+ if (t.nodes?.length) {
167
160
  for (const i of t.nodes) {
168
161
  const s = searchInNode(i, e);
169
162
  if (s !== null) {
@@ -244,11 +237,11 @@ var l = undefined && undefined.__classPrivateFieldGet || function(t, e, i, s) {
244
237
  return i === "m" ? s : i === "a" ? s.call(t) : s ? s.value : e.get(t);
245
238
  };
246
239
 
247
- var d, f, u, p, m, v, g, w, b, k, y, _, x, W, M, I, C, S, T, j, N, L, E;
240
+ var f, d, p, u, m, g, v, w, b, k, y, _, x, W, M, I, C, S, T, N, j, L, E;
248
241
 
249
242
  const A = [ "resets/box-sizing", "chameleon/scrollbar", "components/tooltip", "components/tree-view", "utils/form--full", "utils/layout", "utils/spacing", "utils/typography" ];
250
243
 
251
- const z = o({
244
+ const z = a({
252
245
  category: "system",
253
246
  name: "search",
254
247
  colorType: "on-surface"
@@ -263,13 +256,13 @@ const P = "on";
263
256
  const F = class {
264
257
  constructor(s) {
265
258
  t(this, s);
266
- d.set(this, void 0);
267
- f.set(this, []);
268
- u.set(this, void 0);
269
- p.set(this, []);
259
+ f.set(this, void 0);
260
+ d.set(this, []);
261
+ p.set(this, void 0);
262
+ u.set(this, []);
270
263
  m.set(this, e(`./gx-ide-assets/select-kb-items/shortcuts.json`));
271
- v.set(this, []);
272
- g.set(this, void 0);
264
+ g.set(this, []);
265
+ v.set(this, void 0);
273
266
  w.set(this, void 0);
274
267
  b.set(this, (() => {
275
268
  if (this.cancelCallback) {
@@ -281,23 +274,23 @@ const F = class {
281
274
  t.detail.forEach((t => {
282
275
  t.item.checked && e.push(t.item.id);
283
276
  }));
284
- h(this, f, e, "f");
285
- h(this, v, checkItems(this.itemsList, l(this, f, "f")), "f");
277
+ h(this, d, e, "f");
278
+ h(this, g, checkItems(this.itemsList, l(this, d, "f")), "f");
286
279
  if (this.checkedChanged) {
287
- this.checkedChanged(l(this, f, "f"));
280
+ this.checkedChanged(l(this, d, "f"));
288
281
  }
289
282
  }));
290
283
  y.set(this, (() => {
291
284
  if (this.confirmCallback) {
292
- this.confirmCallback(l(this, f, "f"));
285
+ this.confirmCallback(l(this, d, "f"));
293
286
  }
294
287
  }));
295
288
  _.set(this, (async t => {
296
289
  if (this.itemContextMenuCallback) {
297
290
  let e;
298
- const i = l(this, p, "f").find((e => e === t.detail.id));
299
- if (!l(this, p, "f").length || !i) {
300
- await l(this, w, "f").updateItemsProperties(l(this, p, "f"), {
291
+ const i = l(this, u, "f").find((e => e === t.detail.id));
292
+ if (!l(this, u, "f").length || !i) {
293
+ await l(this, w, "f").updateItemsProperties(l(this, u, "f"), {
301
294
  selected: false
302
295
  });
303
296
  await l(this, w, "f").updateItemsProperties([ t.detail.id ], {
@@ -312,14 +305,14 @@ const F = class {
312
305
  e = {
313
306
  clientX: t.detail.contextmenuEvent.clientX,
314
307
  clientY: t.detail.contextmenuEvent.clientY,
315
- selection: l(this, p, "f")
308
+ selection: l(this, u, "f")
316
309
  };
317
310
  }
318
311
  this.itemContextMenuCallback(e);
319
312
  }
320
313
  }));
321
314
  x.set(this, (t => () => {
322
- t(l(this, f, "f"), l(this, p, "f"));
315
+ t(l(this, d, "f"), l(this, u, "f"));
323
316
  }));
324
317
  W.set(this, (t => {
325
318
  this.searchPatternValue = t.detail.toString();
@@ -338,55 +331,54 @@ const F = class {
338
331
  class: "button-secondary",
339
332
  part: "cancel-button",
340
333
  onClick: l(this, b, "f")
341
- }, l(this, d, "f").footer.cancel), this.confirmCallback && i("button", {
334
+ }, l(this, f, "f").footer.cancel), this.confirmCallback && i("button", {
342
335
  class: "button-primary",
343
336
  part: "confirm-button",
344
337
  onClick: l(this, y, "f"),
345
338
  disabled: this.loading
346
- }, l(this, d, "f").footer.select)))));
339
+ }, l(this, f, "f").footer.select)))));
347
340
  C.set(this, (t => {
348
341
  const e = [];
349
342
  unselectAllNodes(this.itemsList);
350
343
  t.detail.forEach((t => {
351
344
  e.push(t.item.id);
352
345
  }));
353
- h(this, p, e, "f");
346
+ h(this, u, e, "f");
354
347
  if (this.selectionChanged) {
355
- this.selectionChanged(l(this, p, "f"));
348
+ this.selectionChanged(l(this, u, "f"));
356
349
  }
357
- h(this, v, selectItems(this.itemsList, e), "f");
350
+ h(this, g, selectItems(this.itemsList, e), "f");
358
351
  }));
359
352
  S.set(this, (async t => {
360
353
  const e = searchParentsItems(this.itemsList, t);
361
354
  const i = selectItems(this.itemsList, t);
362
355
  const s = expandItems(i, e);
363
- l(this, j, "f").call(this, s);
356
+ l(this, N, "f").call(this, s);
364
357
  }));
365
358
  T.set(this, (async t => {
366
359
  const e = searchParentsItems(this.itemsList, t);
367
360
  const i = expandItems(this.itemsList, e);
368
- l(this, j, "f").call(this, i);
361
+ l(this, N, "f").call(this, i);
369
362
  }));
370
- j.set(this, (t => {
363
+ N.set(this, (t => {
371
364
  this.nodeVersionsListTreeModel = convertItemsListToTreeViewModel(t, this.checkboxType);
372
365
  this.nodeListFlattenedTreeModel = convertItemsNodeListToFlattenedTreeViewModel(t, this.checkboxType);
373
366
  }));
374
- N.set(this, (async t => {
367
+ j.set(this, (async t => {
375
368
  const e = t.detail;
376
369
  this.nodesVersionsViewType = e;
377
370
  if (this.nodesVersionsViewType === "tree") {
378
- await l(this, S, "f").call(this, l(this, p, "f"));
379
- await l(this, T, "f").call(this, l(this, f, "f"));
371
+ await l(this, S, "f").call(this, l(this, u, "f"));
372
+ await l(this, T, "f").call(this, l(this, d, "f"));
380
373
  }
381
- l(this, j, "f").call(this, l(this, v, "f"));
374
+ l(this, N, "f").call(this, l(this, g, "f"));
382
375
  }));
383
376
  L.set(this, (t => {
384
377
  this.toggleCheckboxes = t.detail === P;
385
378
  }));
386
379
  E.set(this, (() => {
387
- var t;
388
- const e = l(this, w, "f") && ((t = this.activeItemNode) === null || t === void 0 ? void 0 : t.path);
389
- if (e) {
380
+ const t = l(this, w, "f") && this.activeItemNode?.path;
381
+ if (t) {
390
382
  l(this, w, "f").scrollIntoVisible(this.activeItemNode.path);
391
383
  }
392
384
  if (this.activeItemCallback) {
@@ -416,15 +408,15 @@ const F = class {
416
408
  if (t.length > 0) {
417
409
  this.loading = false;
418
410
  }
419
- l(this, j, "f").call(this, t);
411
+ l(this, N, "f").call(this, t);
420
412
  // Check and update activeItem
421
413
  this.activeItemNode = findFirstActiveNode(t);
422
414
  }
423
415
  async componentWillLoad() {
424
- h(this, d, await a.getComponentStrings(this.el), "f");
425
- h(this, g, [ {
416
+ h(this, f, await o.getComponentStrings(this.el), "f");
417
+ h(this, v, [ {
426
418
  value: H,
427
- caption: l(this, d, "f").main.tree
419
+ caption: l(this, f, "f").main.tree
428
420
  }, {
429
421
  value: O,
430
422
  caption: "List"
@@ -435,16 +427,16 @@ const F = class {
435
427
  * Suspends or reactivates the shortcuts
436
428
  */ async suspendShortcuts(t) {
437
429
  if (t) {
438
- l(this, u, "f").suspend = true;
430
+ l(this, p, "f").suspend = true;
439
431
  } else {
440
- l(this, u, "f").suspend = false;
432
+ l(this, p, "f").suspend = false;
441
433
  }
442
434
  }
443
435
  /**
444
436
  * Allow to update the selected items
445
437
  */ async updateSelection(t) {
446
438
  // first clear selected
447
- l(this, w, "f").updateItemsProperties(l(this, p, "f"), {
439
+ l(this, w, "f").updateItemsProperties(l(this, u, "f"), {
448
440
  selected: false
449
441
  });
450
442
  // then select
@@ -459,7 +451,7 @@ const F = class {
459
451
  model: A
460
452
  }), i("ch-shortcuts", {
461
453
  src: l(this, m, "f"),
462
- ref: t => h(this, u, t, "f")
454
+ ref: t => h(this, p, t, "f")
463
455
  }), i("section", {
464
456
  class: "section"
465
457
  }, i("header", {
@@ -474,9 +466,9 @@ const F = class {
474
466
  }, "Select view mode:"), i("ch-radio-group-render", {
475
467
  class: "radio-group",
476
468
  id: "view-mode",
477
- model: l(this, g, "f"),
478
- onChange: l(this, N, "f"),
479
- value: l(this, g, "f")[0].value
469
+ model: l(this, v, "f"),
470
+ onChange: l(this, j, "f"),
471
+ value: l(this, v, "f")[0].value
480
472
  })), this.checkboxType !== "none" && i("div", {
481
473
  class: "field field-inline field__toggle-checkboxes"
482
474
  }, i("label", {
@@ -490,7 +482,7 @@ const F = class {
490
482
  onInput: l(this, L, "f")
491
483
  }))), i("ch-edit", {
492
484
  class: "input pattern-filter",
493
- placeholder: l(this, d, "f").header.searchPatternPlaceholder,
485
+ placeholder: l(this, f, "f").header.searchPatternPlaceholder,
494
486
  startImgSrc: z,
495
487
  onInput: l(this, W, "f")
496
488
  }), this.activeItemNode && i("div", {
@@ -501,13 +493,13 @@ const F = class {
501
493
  class: "icon-md active-item__icon",
502
494
  src: this.activeItemNode.iconStart || r,
503
495
  containerRef: null
504
- })), l(this, d, "f").header.activeItem, i("button", {
496
+ })), l(this, f, "f").header.activeItem, i("button", {
505
497
  class: "active-item__link",
506
498
  onClick: l(this, E, "f")
507
499
  }, this.activeItemNode.caption))), i("div", {
508
500
  class: "spacing-body-inline-start trees"
509
501
  }, this.loading ? i("gx-ide-loader", {
510
- loaderTitle: l(this, d, "f").loader.title,
502
+ loaderTitle: l(this, f, "f").loader.title,
511
503
  show: true
512
504
  }) : i("ch-tree-view-render", {
513
505
  class: "tree-view",
@@ -540,13 +532,13 @@ const F = class {
540
532
  }
541
533
  };
542
534
 
543
- d = new WeakMap, f = new WeakMap, u = new WeakMap, p = new WeakMap, m = new WeakMap,
544
- v = new WeakMap, g = new WeakMap, w = new WeakMap, b = new WeakMap, k = new WeakMap,
535
+ f = new WeakMap, d = new WeakMap, p = new WeakMap, u = new WeakMap, m = new WeakMap,
536
+ g = new WeakMap, v = new WeakMap, w = new WeakMap, b = new WeakMap, k = new WeakMap,
545
537
  y = new WeakMap, _ = new WeakMap, x = new WeakMap, W = new WeakMap, M = new WeakMap,
546
- I = new WeakMap, C = new WeakMap, S = new WeakMap, T = new WeakMap, j = new WeakMap,
547
- N = new WeakMap, L = new WeakMap, E = new WeakMap;
538
+ I = new WeakMap, C = new WeakMap, S = new WeakMap, T = new WeakMap, N = new WeakMap,
539
+ j = new WeakMap, L = new WeakMap, E = new WeakMap;
548
540
 
549
541
  F.style = c;
550
542
 
551
543
  export { F as gx_ide_select_kb_items };
552
- //# sourceMappingURL=p-fdf41406.entry.js.map
544
+ //# sourceMappingURL=p-2dbf722d.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ACTIVE_ITEM_DEFAULT_ICON","getIconPath","category","name","colorType","convertItemsNodeListToFlattenedTreeViewModel","itemsList","checkboxType","itemsListFlattenedTreeViewModel","processNode","item","startImgSrc","active","iconStart","leaf","nodes","length","checkbox","metaData","JSON","stringify","versionType","type","push","caption","checked","endImgSrc","iconEnd","expanded","id","toString","items","metadata","parts","selected","forEach","childNode","convertItemsListToTreeViewModel","itemsListTreeViewModel","order","parseInt","findItemNode","itemNode","result","findItemInArray","itemsNodes","setAllLeafsCheckedFalse","uncheck","unselectAllNodes","unselect","checkItems","idsChecked","itemFind","expandItems","selectItems","idsSelected","searchInNode","node","parents","searchParentsItems","ids","rootItem","results","findFirstActiveNode","findActiveWithPath","nodeList","currentPath","nodePath","path","selectKbItemsCss","CSS_BUNDLES","SYSTEM_SEARCH_ICON","VIEW_AS_TREE_ID","VIEW_AS_LIST_ID","TOGGLE_CHECKBOXES_CHECKED_VALUE","GxIdeSelectKbItems","_GxIdeSelectKbItems__componentLocale","set","this","_GxIdeSelectKbItems_checkedNodesIds","_GxIdeSelectKbItems_chShortcutsEl","_GxIdeSelectKbItems_selectedNodesIds","_GxIdeSelectKbItems_shortcutsSrc","getAssetPath","_GxIdeSelectKbItems_updatedModelList","_GxIdeSelectKbItems_viewItemsAsModel","_GxIdeSelectKbItems_treeViewRenderEl","_GxIdeSelectKbItems_cancelHandler","cancelCallback","_GxIdeSelectKbItems_checkedItemsChangeHandler","async","e","checkedNodesIds","detail","__classPrivateFieldSet","__classPrivateFieldGet","checkedChanged","_GxIdeSelectKbItems_confirmHandler","confirmCallback","_GxIdeSelectKbItems_contextMenuHandler","itemContextMenuCallback","info","isSelected","find","updateItemsProperties","clientX","contextmenuEvent","clientY","selection","_GxIdeSelectKbItems_executeDialogAction","callback","_GxIdeSelectKbItems_patternSearchValueChangedHandler","event","searchPatternValue","_GxIdeSelectKbItems_renderActionButtons","h","dialogActions","map","action","class","part","onClick","call","disabled","loading","_GxIdeSelectKbItems_renderFooter","footer","cancel","select","_GxIdeSelectKbItems_selectedItemsChangeHandler","selectedNodesIds","selectionChanged","_GxIdeSelectKbItems_toggleAndSelectNodesInModelItems","selectedItemsIds","nodesToToggle","newItemsSelected","newItemsExpanded","_GxIdeSelectKbItems_updateViews","_GxIdeSelectKbItems_toggleCheckedNodesInModelItems","newItemsList","nodeVersionsListTreeModel","nodeListFlattenedTreeModel","_GxIdeSelectKbItems_viewItemsAsChangedHandler","selectedViewType","nodesVersionsViewType","_GxIdeSelectKbItems_toggleCheckboxesChangedHandler","toggleCheckboxes","_GxIdeSelectKbItems_scrollIntoActiveVersionNode","doScrollIntoView","activeItemNode","scrollIntoVisible","activeItemCallback","watchNodeListHandler","componentWillLoad","Locale","getComponentStrings","el","value","main","tree","suspendShortcuts","suspend","updateSelection","render","Host","model","src","ref","htmlFor","onChange","checkedValue","onInput","placeholder","header","searchPatternPlaceholder","containerRef","activeItem","loaderTitle","loader","title","show","expandableButton","onItemContextmenu","onCheckedItemsChange","onSelectedItemsChange","expandOnClick","multiSelection","filter","filterType"],"sources":["src/components/select-kb-items/helpers.tsx","src/components/select-kb-items/select-kb-items.scss?tag=gx-ide-select-kb-items&encapsulation=shadow","src/components/select-kb-items/select-kb-items.tsx"],"sourcesContent":["import { ItemNode, CheckboxType, ActiveNode } from \"./select-kb-items\";\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\nimport { getIconPath } from \"@genexus/mercury\";\n\nexport const ACTIVE_ITEM_DEFAULT_ICON = getIconPath({\n category: \"system\",\n name: \"check-circle\",\n colorType: \"primary\"\n});\n\nexport const convertItemsNodeListToFlattenedTreeViewModel = (\n itemsList: ItemNode[],\n checkboxType: CheckboxType\n): TreeViewItemModel[] => {\n const itemsListFlattenedTreeViewModel: TreeViewItemModel[] = [];\n\n const processNode = (item: ItemNode) => {\n const startImgSrc =\n item.active && !item.iconStart\n ? ACTIVE_ITEM_DEFAULT_ICON\n : item.iconStart;\n const leaf = !item.nodes?.length;\n const checkbox =\n checkboxType === \"all\" ||\n (checkboxType === \"custom\" && item.checkbox) ||\n (checkboxType === \"leaf\" && leaf);\n const metaData = JSON.stringify({\n versionType: item.type\n });\n itemsListFlattenedTreeViewModel.push({\n caption: item.name,\n checkbox: checkbox,\n checked: item.checked,\n startImgSrc: startImgSrc,\n endImgSrc: item.iconEnd,\n expanded: item.expanded,\n id: item.id.toString(),\n items: null,\n leaf: leaf,\n metadata: metaData,\n parts: item.parts,\n selected: item.selected\n });\n\n if (item.nodes) {\n item.nodes.forEach(childNode => processNode(childNode));\n }\n };\n\n itemsList.forEach(item => processNode(item));\n return itemsListFlattenedTreeViewModel;\n};\n\nexport const convertItemsListToTreeViewModel = (\n itemsList: ItemNode[],\n checkboxType: CheckboxType\n): TreeViewItemModel[] => {\n const itemsListTreeViewModel: TreeViewItemModel[] = [];\n itemsList.forEach(item => {\n const startImgSrc =\n item.active && !item.iconStart\n ? ACTIVE_ITEM_DEFAULT_ICON\n : item.iconStart;\n const leaf = !item.nodes?.length;\n const checkbox =\n checkboxType === \"all\" ||\n (checkboxType === \"custom\" && item.checkbox) ||\n (checkboxType === \"leaf\" && leaf);\n const expanded = item.expanded;\n const iconStart = startImgSrc;\n const iconEnd = item.iconEnd;\n const metaData = JSON.stringify({\n versionType: item.type\n });\n const order = parseInt(item.id);\n itemsListTreeViewModel.push({\n caption: item.name,\n checkbox: checkbox,\n checked: item.checked,\n startImgSrc: iconStart,\n endImgSrc: iconEnd,\n expanded: expanded,\n id: item.id.toString(),\n items: !leaf\n ? convertItemsListToTreeViewModel(item.nodes, checkboxType)\n : null,\n leaf: leaf,\n metadata: metaData,\n parts: item.parts,\n order: order,\n selected: item.selected\n });\n });\n\n return itemsListTreeViewModel;\n};\n\nconst findItemNode = (id: string, item: ItemNode): ItemNode | null => {\n if (item.id === id) {\n return item;\n }\n\n if (item.nodes) {\n for (const itemNode of item.nodes) {\n const result = findItemNode(id, itemNode);\n if (result) {\n return result;\n }\n }\n }\n return null;\n};\n\nfunction findItemInArray(itemsNodes: ItemNode[], id: string): ItemNode | null {\n for (const item of itemsNodes) {\n const result = findItemNode(id, item);\n if (result) {\n return result;\n }\n }\n return null;\n}\nconst setAllLeafsCheckedFalse = (itemsList: ItemNode[]): ItemNode[] => {\n const uncheck = (itemNode: ItemNode) => {\n itemNode.checked = false;\n if (itemNode.nodes?.length) {\n itemNode.nodes.forEach(childNode => uncheck(childNode));\n }\n };\n\n itemsList.forEach(item => uncheck(item));\n return itemsList;\n};\n\nexport const unselectAllNodes = (itemsList: ItemNode[]) => {\n const unselect = (itemNode: ItemNode) => {\n itemNode.selected = false;\n if (itemNode.nodes?.length) {\n itemNode.nodes.forEach(childNode => unselect(childNode));\n }\n };\n\n itemsList.forEach(item => unselect(item));\n};\n\nexport const checkItems = (\n itemsList: ItemNode[],\n idsChecked: string[]\n): ItemNode[] => {\n setAllLeafsCheckedFalse(itemsList);\n idsChecked.forEach(id => {\n const itemFind = findItemInArray(itemsList, id);\n if (itemFind) {\n itemFind.checked = true;\n }\n });\n\n return itemsList;\n};\n\nexport const expandItems = (\n itemsList: ItemNode[],\n idsChecked: string[]\n): ItemNode[] => {\n idsChecked.forEach(id => {\n const itemFind = findItemInArray(itemsList, id);\n if (itemFind) {\n itemFind.expanded = true;\n }\n });\n\n return itemsList;\n};\n\nexport const selectItems = (\n itemsList: ItemNode[],\n idsSelected: string[]\n): ItemNode[] => {\n idsSelected.forEach(id => {\n const itemFind = findItemInArray(itemsList, id);\n if (itemFind) {\n itemFind.selected = true;\n }\n });\n return itemsList;\n};\n\nfunction searchInNode(item: ItemNode, id: string): string[] | null {\n // If the current node is the searched node, we return an empty list (it has no parents in this branch)\n if (item.id === id) {\n return [];\n }\n\n // We traverse each child looking for the target node\n if (item.nodes?.length) {\n for (const node of item.nodes) {\n const parents = searchInNode(node, id);\n if (parents !== null) {\n // If we find it, we include the current node at the beginning of the path and return\n return [item.id, ...parents];\n }\n }\n }\n return null;\n}\n\nexport const searchParentsItems = (\n items: ItemNode[],\n ids: string[]\n): string[] | null => {\n const parents: string[] = [];\n for (const id of ids) {\n for (const rootItem of items) {\n const results = searchInNode(rootItem, id);\n if (results !== null) {\n results.forEach(result => {\n parents.push(result);\n });\n }\n }\n }\n return parents;\n};\n\n/**\n * Recursively searches for the first node with the active=true property\n * @param nodes Array of nodes to search through\n * @returns An object with caption, iconStart, and path to the first active node found, or null if none is found\n */\nexport const findFirstActiveNode = (nodes: ItemNode[]): ActiveNode | null => {\n // Helper function that keeps track of the path during recursion\n const findActiveWithPath = (\n nodeList: ItemNode[],\n currentPath: string[] = []\n ): ActiveNode | null => {\n // Base case: if nodes is undefined or empty\n if (!nodeList || nodeList.length === 0) {\n return null;\n }\n\n // Iterate through each node in the array\n for (const node of nodeList) {\n // Create a new path that includes the current node\n const nodePath = [...currentPath, node.id];\n\n // Check if the current node is active\n if (node.active === true) {\n return {\n caption: node.name,\n iconStart: node.iconStart,\n path: nodePath\n };\n }\n\n // If the node has children, search through them with the updated path\n if (node.nodes && node.nodes.length > 0) {\n const result = findActiveWithPath(node.nodes, nodePath);\n // If we find an active node in this subtree, return it immediately\n if (result !== null) {\n return result;\n }\n }\n }\n\n // No active node found in any of the nodes\n return null;\n };\n\n // Start the search with an empty path\n return findActiveWithPath(nodes);\n};\n",":host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.header.has-active-item {\n grid-area: header;\n}\n\n.section {\n display: contents;\n}\n\n// header\n.header {\n grid-template-areas:\n \"view-mode view-mode\"\n \"pattern-filter active-item\";\n grid-template-columns: minmax(150px, 350px) max-content;\n --field-group__column-gap: var(\n --mer-spacing--md\n ); // WA: OVerriding this variable is not a good approeach to reduce the gap.TODO: Think about the right solution.\n}\n.view-mode__toggle-checkboxes {\n grid-area: view-mode;\n}\n.pattern-filter {\n grid-area: pattern-filter;\n max-inline-size: 350px;\n}\n\n.active-item {\n grid-area: active-item;\n background-color: var(--mer-surface__elevation--01);\n border-radius: var(--mer-border__radius--sm);\n padding: var(--mer-spacing--xs) var(--mer-spacing--sm);\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--xs);\n}\n.active-item {\n &__icon-container {\n display: contents;\n }\n &__icon {\n pointer-events: none; // We do not want the icon to change the colors, since the clickable area is the caption only\n }\n &__link {\n text-decoration: underline;\n // TODO: There should be a class in Merucry to apply link styles\n color: var(--mer-text__primary);\n cursor: pointer;\n &:hover {\n color: var(--mer-text__primary--hover);\n }\n &:active {\n color: var(--mer-text__primary--active);\n }\n }\n}\n\n.view-mode__toggle-checkboxes {\n grid-template-columns: max-content max-content;\n}\n.field__items-view-type {\n align-items: center;\n .label {\n margin-block-start: 0 !important; // WA to center label with radio-group\n }\n}\n.field__toggle-checkboxes {\n .label {\n margin-block-start: 0 !important; // WA to center label with radio-group\n }\n}\n\n.trees {\n position: relative;\n}\n","import {\n Component,\n Element,\n getAssetPath,\n Host,\n h,\n Prop,\n State,\n Watch,\n Method\n} from \"@stencil/core\";\n\nimport {\n ChCheckboxCustomEvent,\n TreeViewItemModel,\n TreeViewItemModelExtended\n} from \"@genexus/chameleon-controls-library\";\n\nimport {\n checkItems,\n convertItemsListToTreeViewModel,\n convertItemsNodeListToFlattenedTreeViewModel,\n expandItems,\n searchParentsItems,\n selectItems,\n unselectAllNodes,\n findFirstActiveNode\n} from \"./helpers\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\nimport { ContextMenuInfo } from \"../../common/types\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\n\nimport { ACTIVE_ITEM_DEFAULT_ICON } from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"chameleon/scrollbar\",\n \"components/tooltip\",\n \"components/tree-view\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/spacing\",\n \"utils/typography\"\n];\n\nconst SYSTEM_SEARCH_ICON = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n});\n\nconst VIEW_AS_TREE_ID: NodesVersionsViewType = \"tree\";\nconst VIEW_AS_LIST_ID: NodesVersionsViewType = \"list\";\n\nconst TOGGLE_CHECKBOXES_CHECKED_VALUE = \"on\";\n\n@Component({\n tag: \"gx-ide-select-kb-items\",\n styleUrl: \"select-kb-items.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/select-kb-items\"]\n})\nexport class GxIdeSelectKbItems {\n #_componentLocale: any;\n\n #checkedNodesIds: string[] = [];\n #chShortcutsEl: HTMLChShortcutsElement;\n #selectedNodesIds: string[] = [];\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/select-kb-items/shortcuts.json`\n );\n #updatedModelList: ItemNode[] = [];\n\n #viewItemsAsModel: RadioGroupItemModel[];\n\n @Element() el: HTMLGxIdeSelectKbItemsElement;\n #treeViewRenderEl: HTMLChTreeViewRenderElement;\n\n /**\n * Represents the active version node caption and icon (if any)\n */\n @State() activeItemNode: ActiveNode;\n\n /**\n * Represents the nodes list model\n */\n @State() nodeListFlattenedTreeModel: TreeViewItemModel[] = [];\n\n /**\n * To show a loader when the component is loading\n */\n @State() loading: boolean = true;\n\n /**\n * View type for the nodes.\n */\n @State() nodesVersionsViewType: NodesVersionsViewType = \"tree\";\n\n /**\n * Represents the nodes tree model\n */\n @State() nodeVersionsListTreeModel: TreeViewItemModel[] = [];\n\n /**\n * \"Search Pattern\" input value, used to filter the nodes tree/list.\n */\n @State() searchPatternValue: string = null;\n\n /**\n * It maps to the ch-tree-view-render \"toggleCheckboxes\" property.\n */\n @State() toggleCheckboxes: boolean = true;\n\n /**\n * Callback emitted when the user clicks on the \"Active item\"\n */\n @Prop() readonly activeItemCallback?: () => Promise<void>;\n\n /**\n * Callback emitted when the 'cancel' button is pressed\n */\n @Prop() readonly cancelCallback?: () => Promise<void>;\n\n /**\n * Defines which nodes of the component have checkboxes.\n */\n @Prop() readonly checkboxType: CheckboxType;\n\n /**\n * Define if a item node is expanded on click interaction. If false item-node will only be expanded on double click.\n */\n @Prop() readonly expandOnClick: boolean = true;\n\n /**\n * Callback emitted when the items checked items change\n */\n @Prop() readonly checkedChanged?: (checkedItems: string[]) => Promise<void>;\n\n /**\n * Callback emitted when the 'select' button is pressed\n */\n @Prop() readonly confirmCallback?: (checkedItems: string[]) => Promise<void>;\n\n /**\n * Set of additional actions (callbacks) to those already provided by default by the selector (cancelCallback and selectCallback)\n */\n @Prop() readonly dialogActions: DialogAction[] = [];\n\n /**\n * Callback emitted when the user right click on an item\n */\n @Prop() readonly itemContextMenuCallback: (\n info: ContextMenuInfo\n ) => Promise<void>;\n\n /**\n * Represents the itemLis list model\n */\n @Prop() readonly itemsList: ItemNode[] = [];\n\n @Watch(\"itemsList\")\n watchNodeListHandler(newItemsList: ItemNode[]) {\n if (newItemsList.length > 0) {\n this.loading = false;\n }\n this.#updateViews(newItemsList);\n\n // Check and update activeItem\n this.activeItemNode = findFirstActiveNode(newItemsList);\n }\n\n /**\n * This define if the selection is unique or not\n */\n @Prop() readonly multiSelection?: boolean = false;\n\n /**\n * Callback emitted when the items selection change\n */\n @Prop() readonly selectionChanged?: (selectedItem: string[]) => Promise<void>;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.#viewItemsAsModel = [\n { value: VIEW_AS_TREE_ID, caption: this.#_componentLocale.main.tree },\n { value: VIEW_AS_LIST_ID, caption: \"List\" }\n ];\n this.watchNodeListHandler(this.itemsList);\n }\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n /**\n * Allow to update the selected items\n */\n @Method()\n async updateSelection(selectedItemsIds: string[]) {\n // first clear selected\n this.#treeViewRenderEl.updateItemsProperties(this.#selectedNodesIds, {\n selected: false\n });\n // then select\n this.#treeViewRenderEl.updateItemsProperties(selectedItemsIds, {\n selected: true\n });\n }\n\n #cancelHandler = () => {\n if (this.cancelCallback) {\n this.cancelCallback();\n }\n };\n\n #checkedItemsChangeHandler = async (\n e: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n const checkedNodesIds: string[] = [];\n e.detail.forEach(node => {\n node.item.checked && checkedNodesIds.push(node.item.id);\n });\n this.#checkedNodesIds = checkedNodesIds;\n this.#updatedModelList = checkItems(this.itemsList, this.#checkedNodesIds);\n\n if (this.checkedChanged) {\n this.checkedChanged(this.#checkedNodesIds);\n }\n };\n\n #confirmHandler = () => {\n if (this.confirmCallback) {\n this.confirmCallback(this.#checkedNodesIds);\n }\n };\n\n #contextMenuHandler = async (\n e: CustomEvent<{\n id: string;\n itemRef: HTMLChTreeViewItemElement;\n metadata: string;\n contextmenuEvent: PointerEvent;\n }>\n ) => {\n if (this.itemContextMenuCallback) {\n let info: ContextMenuInfo;\n const isSelected = this.#selectedNodesIds.find(id => id === e.detail.id);\n if (!this.#selectedNodesIds.length || !isSelected) {\n await this.#treeViewRenderEl.updateItemsProperties(\n this.#selectedNodesIds,\n { selected: false }\n );\n await this.#treeViewRenderEl.updateItemsProperties([e.detail.id], {\n selected: true\n });\n info = {\n clientX: e.detail.contextmenuEvent.clientX,\n clientY: e.detail.contextmenuEvent.clientY,\n selection: [e.detail.id]\n };\n } else {\n info = {\n clientX: e.detail.contextmenuEvent.clientX,\n clientY: e.detail.contextmenuEvent.clientY,\n selection: this.#selectedNodesIds\n };\n }\n this.itemContextMenuCallback(info);\n }\n };\n\n #executeDialogAction = (\n callback: (checkedNodesIds: string[], selectedNodesIds: string[]) => void\n ) => {\n return () => {\n callback(this.#checkedNodesIds, this.#selectedNodesIds);\n };\n };\n\n #patternSearchValueChangedHandler = (\n event: CustomEvent<string> | InputEvent\n ) => {\n this.searchPatternValue = event.detail.toString();\n };\n\n #renderActionButtons = (): HTMLElement[] => {\n return (\n <div>\n {this.dialogActions.map(action => {\n return (\n <button\n class={\"button-tertiary\"}\n part={`button button-${action.name}`}\n onClick={this.#executeDialogAction(action.callback)}\n disabled={this.loading}\n >\n {action.name}\n </button>\n );\n })}\n </div>\n );\n };\n\n #renderFooter = (): HTMLElement => {\n return (\n <footer class=\"footer control-footer-with-border spacing-body-inline spacing-body-block-end control-footer-space-between\">\n {this.#renderActionButtons()}\n <div class=\"buttons-spacer \">\n {this.cancelCallback && (\n <button\n class={\"button-secondary\"}\n part={\"cancel-button\"}\n onClick={this.#cancelHandler}\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n )}\n {this.confirmCallback && (\n <button\n class={\"button-primary\"}\n part={\"confirm-button\"}\n onClick={this.#confirmHandler}\n disabled={this.loading}\n >\n {this.#_componentLocale.footer.select}\n </button>\n )}\n </div>\n </footer>\n );\n };\n\n #selectedItemsChangeHandler = (\n e: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n const selectedNodesIds: string[] = [];\n unselectAllNodes(this.itemsList);\n e.detail.forEach(node => {\n selectedNodesIds.push(node.item.id);\n });\n this.#selectedNodesIds = selectedNodesIds;\n if (this.selectionChanged) {\n this.selectionChanged(this.#selectedNodesIds);\n }\n\n this.#updatedModelList = selectItems(this.itemsList, selectedNodesIds);\n };\n\n #toggleAndSelectNodesInModelItems = async (selectedItemsIds: string[]) => {\n const nodesToToggle = searchParentsItems(this.itemsList, selectedItemsIds);\n const newItemsSelected = selectItems(this.itemsList, selectedItemsIds);\n const newItemsExpanded = expandItems(newItemsSelected, nodesToToggle);\n this.#updateViews(newItemsExpanded);\n };\n\n #toggleCheckedNodesInModelItems = async (selectedItemsIds: string[]) => {\n const nodesToToggle = searchParentsItems(this.itemsList, selectedItemsIds);\n const newItemsExpanded = expandItems(this.itemsList, nodesToToggle);\n this.#updateViews(newItemsExpanded);\n };\n\n #updateViews = (newItemsList: ItemNode[]) => {\n this.nodeVersionsListTreeModel = convertItemsListToTreeViewModel(\n newItemsList,\n this.checkboxType\n );\n\n this.nodeListFlattenedTreeModel =\n convertItemsNodeListToFlattenedTreeViewModel(\n newItemsList,\n this.checkboxType\n );\n };\n\n #viewItemsAsChangedHandler = async (event: CustomEvent<string>) => {\n const selectedViewType = event.detail as NodesVersionsViewType;\n this.nodesVersionsViewType = selectedViewType;\n if (this.nodesVersionsViewType === \"tree\") {\n await this.#toggleAndSelectNodesInModelItems(this.#selectedNodesIds);\n await this.#toggleCheckedNodesInModelItems(this.#checkedNodesIds);\n }\n this.#updateViews(this.#updatedModelList);\n };\n\n #toggleCheckboxesChangedHandler = (\n event: ChCheckboxCustomEvent<string> | InputEvent\n ) => {\n this.toggleCheckboxes = event.detail === TOGGLE_CHECKBOXES_CHECKED_VALUE;\n };\n\n #scrollIntoActiveVersionNode = () => {\n const doScrollIntoView =\n this.#treeViewRenderEl && this.activeItemNode?.path;\n if (doScrollIntoView) {\n this.#treeViewRenderEl.scrollIntoVisible(this.activeItemNode.path);\n }\n\n if (this.activeItemCallback) {\n this.activeItemCallback();\n }\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n <section class=\"section\">\n <header class=\"header control-header field-group spacing-body-block-start spacing-body-inline\">\n <div class=\"field-group view-mode__toggle-checkboxes\">\n <div class=\"field field-inline field__items-view-type\">\n <label class=\"label\" htmlFor=\"view-mode\">\n Select view mode:\n </label>\n <ch-radio-group-render\n class=\"radio-group\"\n id=\"view-mode\"\n model={this.#viewItemsAsModel}\n onChange={this.#viewItemsAsChangedHandler}\n value={this.#viewItemsAsModel[0].value}\n ></ch-radio-group-render>\n </div>\n\n {this.checkboxType !== \"none\" && (\n <div class=\"field field-inline field__toggle-checkboxes\">\n <label class=\"label\" htmlFor=\"toggle-checkboxes\">\n Toggle Checkboxes\n </label>\n <ch-checkbox\n class=\"checkbox\"\n id=\"toggle-checkboxes\"\n checkedValue={TOGGLE_CHECKBOXES_CHECKED_VALUE}\n value={TOGGLE_CHECKBOXES_CHECKED_VALUE}\n onInput={this.#toggleCheckboxesChangedHandler}\n ></ch-checkbox>\n </div>\n )}\n </div>\n\n <ch-edit\n class=\"input pattern-filter\"\n placeholder={\n this.#_componentLocale.header.searchPatternPlaceholder\n }\n startImgSrc={SYSTEM_SEARCH_ICON}\n onInput={this.#patternSearchValueChangedHandler}\n ></ch-edit>\n {this.activeItemNode && (\n <div class=\"active-item\">\n <span\n class=\"active-item__icon-container\"\n // make this span the icon container, to prevent icon state changes when\n // interacting with div.active-item\n >\n <ch-image\n class=\"icon-md active-item__icon\"\n src={\n this.activeItemNode.iconStart || ACTIVE_ITEM_DEFAULT_ICON\n }\n containerRef={null}\n ></ch-image>\n </span>\n {this.#_componentLocale.header.activeItem}\n <button\n class=\"active-item__link\"\n onClick={this.#scrollIntoActiveVersionNode}\n >\n {this.activeItemNode.caption}\n </button>\n </div>\n )}\n </header>\n\n <div class=\"spacing-body-inline-start trees\">\n {this.loading ? (\n <gx-ide-loader\n loaderTitle={this.#_componentLocale.loader.title}\n show\n ></gx-ide-loader>\n ) : (\n <ch-tree-view-render\n class=\"tree-view\"\n model={\n this.nodesVersionsViewType === \"tree\"\n ? this.nodeVersionsListTreeModel\n : this.nodeListFlattenedTreeModel\n }\n show-lines={\n this.nodesVersionsViewType === \"tree\" ? \"all\" : \"none\"\n }\n expandableButton={\n this.nodesVersionsViewType === \"tree\" ? \"decorative\" : \"no\"\n }\n onItemContextmenu={this.#contextMenuHandler}\n onCheckedItemsChange={this.#checkedItemsChangeHandler}\n onSelectedItemsChange={this.#selectedItemsChangeHandler}\n expandOnClick={this.expandOnClick}\n multiSelection={this.multiSelection}\n filter={this.searchPatternValue}\n filterType=\"caption\"\n toggleCheckboxes={this.toggleCheckboxes}\n ref={(el: HTMLChTreeViewRenderElement) => {\n this.#treeViewRenderEl = el as HTMLChTreeViewRenderElement;\n }}\n ></ch-tree-view-render>\n )}\n </div>\n {(this.dialogActions.length > 0 ||\n this.cancelCallback ||\n this.confirmCallback) &&\n this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type CheckboxType = \"none\" | \"all\" | \"leaf\" | \"custom\";\n\nexport type DialogAction = {\n name: string;\n callback: DialogActionCallback;\n};\n\nexport type DialogActionCallback = (...args: any[]) => void;\n\nexport type ItemCommon = {\n icon: string;\n expanded: boolean;\n};\n\nexport type ItemNode = {\n active?: boolean;\n checkbox?: boolean;\n checked?: boolean;\n expanded?: boolean;\n iconStart?: string;\n iconEnd?: string;\n id: string;\n name: string;\n nodes?: ItemNode[];\n parts?: string;\n selected?: boolean;\n type: ItemType;\n};\n\nexport type ActiveNode = {\n caption: string;\n iconStart?: string;\n path: string[]; // for using the scrollIntoVisible method of the tree-view-render\n};\n\nexport type ItemType = {\n id: string;\n name: string;\n};\n\ntype NodesVersionsViewType = \"tree\" | \"list\";\n"],"mappings":"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"}
@@ -62,7 +62,6 @@ const r = class {
62
62
  }
63
63
  // 10.RENDER() FUNCTION //
64
64
  render() {
65
- var t;
66
65
  return e(o, null, this.label ? e("gxg-label", {
67
66
  labelPosition: this.labelPosition,
68
67
  center: this.centerLabel
@@ -75,7 +74,7 @@ const r = class {
75
74
  }), e("gxg-button", {
76
75
  part: "button-select",
77
76
  onClick: this.btnSelectClickHandler,
78
- "aria-label": (t = this.accessibilityLabels) === null || t === void 0 ? void 0 : t.buttonSelectLabel,
77
+ "aria-label": this.accessibilityLabels?.buttonSelectLabel,
79
78
  type: "secondary-icon-only",
80
79
  icon: this.icon,
81
80
  disabled: !this.selectDirectoryCallback,
@@ -88,4 +87,4 @@ const r = class {
88
87
  r.style = a;
89
88
 
90
89
  export { r as gx_ide_directory_selector };
91
- //# sourceMappingURL=p-31beae9e.entry.js.map
90
+ //# sourceMappingURL=p-2e90a13a.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["directorySelectorCss","GxIdeDirectorySelector","this","defaultIcon","evaluateLabelPosition","label","labelPosition","centerLabel","btnSelectClickHandler","selectDirectoryCallback","then","result","value","valueChangedHandler","e","detail","buttonSelectMouseEnterHandler","icon","buttonSelectMouseLeaveHandler","buttonSelectLabel","componentWillLoad","render","h","Host","center","class","part","onValueChanged","onClick","accessibilityLabels","type","disabled","onMouseEnter","onMouseLeave"],"sources":["src/components/_helpers/directory-selector/directory-selector.scss?tag=gx-ide-directory-selector&encapsulation=shadow","src/components/_helpers/directory-selector/directory-selector.tsx"],"sourcesContent":["@import \"../../../../node_modules/@genexus/gemini/dist/collection/globals/mixins.scss\";\n\n:host {\n display: flex;\n flex-direction: column;\n\n .container {\n display: flex;\n flex-direction: column;\n gap: 30px;\n }\n /*label*/\n label {\n font-size: 14px;\n }\n /*wrapper*/\n .wrapper {\n display: inline-flex;\n align-items: center;\n gap: var(--gx-ide-grid-column-gap);\n }\n}\n/*label position*/\n:host([label-position=\"start\"]) {\n flex-direction: row;\n .wrapper {\n flex: 1;\n }\n}\n","/* STENCIL IMPORTS */\nimport { Component, Host, h, Prop, State } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\n\n@Component({\n tag: \"gx-ide-directory-selector\",\n styleUrl: \"directory-selector.scss\",\n shadow: true\n})\nexport class GxIdeDirectorySelector {\n /*\nINDEX:\n1.OWN PROPERTIES \n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.METHODS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES | WATCH'S //\n\n private defaultIcon = \"objects/folder\";\n\n // 2. REFERENCE TO ELEMENTS //\n\n // 3.STATE() VARIABLES //\n\n @State() icon = this.defaultIcon;\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * This property provides the user a way to define custom aria-label descriptions.\n */\n @Prop() readonly accessibilityLabels: DirectorySelectorLabels = {\n buttonSelectLabel: \"displays the directory selector\"\n };\n\n /**\n * The label associated with the input (optional)\n */\n @Prop() readonly label?: string;\n\n /**\n * The label position\n */\n @Prop({ reflect: true }) readonly labelPosition?: LabelPosition = \"start\";\n\n /**\n * Centers the label\n */\n @Prop({ mutable: true }) centerLabel = true;\n\n /**\n * The label width\n */\n @Prop() readonly labelWidth: string;\n\n /**\n * Callback that will be called when the user presses the action button. Returns the new value (directory path) assigned to the component.\n */\n @Prop() readonly selectDirectoryCallback: () => Promise<string>;\n\n /**\n * Value currently assigned.\n */\n @Prop({ mutable: true }) value: string;\n\n // 5.EVENTS (EMIT) //\n\n // 6.METHODS //\n\n componentWillLoad() {\n this.evaluateLabelPosition();\n }\n\n private evaluateLabelPosition = (): void => {\n if (this.label && this.labelPosition === \"above\") {\n this.centerLabel = false;\n }\n };\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private btnSelectClickHandler = () => {\n this.selectDirectoryCallback &&\n this.selectDirectoryCallback().then(result => {\n if (result) {\n this.value = result;\n } else {\n // to be defined\n }\n });\n };\n\n private valueChangedHandler = (e: CustomEvent<string>) => {\n this.value = e.detail;\n };\n\n private buttonSelectMouseEnterHandler = (): void => {\n this.icon = \"objects/folder-open\";\n };\n\n private buttonSelectMouseLeaveHandler = (): void => {\n this.icon = this.defaultIcon;\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host>\n {this.label ? (\n <gxg-label\n labelPosition={this.labelPosition}\n center={this.centerLabel}\n >\n {this.label}\n </gxg-label>\n ) : null}\n <div class=\"wrapper\">\n <gxg-form-text\n part=\"input\"\n value={this.value}\n onValueChanged={this.valueChangedHandler}\n ></gxg-form-text>\n <gxg-button\n part=\"button-select\"\n onClick={this.btnSelectClickHandler}\n aria-label={this.accessibilityLabels?.buttonSelectLabel}\n type=\"secondary-icon-only\"\n icon={this.icon}\n disabled={!this.selectDirectoryCallback}\n onMouseEnter={this.buttonSelectMouseEnterHandler}\n onMouseLeave={this.buttonSelectMouseLeaveHandler}\n ></gxg-button>\n </div>\n </Host>\n );\n }\n}\n\nexport type DirectorySelectorLabels = {\n buttonSelectLabel: string;\n};\nexport type LabelPosition = \"start\" | \"above\";\n"],"mappings":";;AAAA,MAAMA,IAAuB;;MCUhBC,IAAsB;;;;;;;;;;;;;;;;;QAiBzBC,KAAAC,cAAc;IAuDdD,KAAAE,wBAAwB;MAC9B,IAAIF,KAAKG,SAASH,KAAKI,kBAAkB,SAAS;QAChDJ,KAAKK,cAAc;;;;;;QAUfL,KAAAM,wBAAwB;MAC9BN,KAAKO,2BACHP,KAAKO,0BAA0BC,MAAKC;QAClC,IAAIA,GAAQ;UACVT,KAAKU,QAAQD;;;AAIf;IAGET,KAAAW,sBAAuBC;MAC7BZ,KAAKU,QAAQE,EAAEC;AAAM;IAGfb,KAAAc,gCAAgC;MACtCd,KAAKe,OAAO;AAAqB;IAG3Bf,KAAAgB,gCAAgC;MACtChB,KAAKe,OAAOf,KAAKC;AAAW;gBAjFdD,KAAKC;+BAO2C;MAC9DgB,mBAAmB;;;yBAW6C;uBAK3B;;;;;;;EAqBvC,iBAAAC;IACElB,KAAKE;;;EAwCP,MAAAiB;IACE,OACEC,EAACC,GAAI,MACFrB,KAAKG,QACJiB,EAAA;MACEhB,eAAeJ,KAAKI;MACpBkB,QAAQtB,KAAKK;OAEZL,KAAKG,SAEN,MACJiB,EAAA;MAAKG,OAAM;OACTH,EAAA;MACEI,MAAK;MACLd,OAAOV,KAAKU;MACZe,gBAAgBzB,KAAKW;QAEvBS,EAAA;MACEI,MAAK;MACLE,SAAS1B,KAAKM;MAAqB,cACvBN,KAAK2B,qBAAqBV;MACtCW,MAAK;MACLb,MAAMf,KAAKe;MACXc,WAAW7B,KAAKO;MAChBuB,cAAc9B,KAAKc;MACnBiB,cAAc/B,KAAKgB"}