@genexus/genexus-ide-ui 1.1.5 → 1.1.6

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 (643) hide show
  1. package/dist/cjs/{code-render-0e9837c4.js → code-render-55d37767.js} +3 -3
  2. package/dist/cjs/code-render-55d37767.js.map +1 -0
  3. package/dist/cjs/{form-validation-ffe2b957.js → form-validation-178cf461.js} +3 -7
  4. package/dist/cjs/form-validation-178cf461.js.map +1 -0
  5. package/dist/cjs/gx-ide-about.cjs.entry.js +1 -1
  6. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +15 -9
  7. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-ai-message.cjs.entry.js +2 -2
  9. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +4 -3
  10. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js.map +1 -1
  11. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js +1 -1
  12. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +5 -3
  13. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js.map +1 -1
  14. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +3 -2
  15. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js.map +1 -1
  16. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +1 -1
  17. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +1 -1
  18. package/dist/cjs/gx-ide-bpm-sync-gam-roles.cjs.entry.js +3 -2
  19. package/dist/cjs/gx-ide-bpm-sync-gam-roles.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js +11 -9
  21. package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js.map +1 -1
  22. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +3 -2
  23. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
  24. package/dist/cjs/gx-ide-card.cjs.entry.js +1 -1
  25. package/dist/cjs/gx-ide-chat-container_2.cjs.entry.js +1 -1
  26. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +23 -18
  27. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
  28. package/dist/cjs/gx-ide-container_2.cjs.entry.js +2 -1
  29. package/dist/cjs/gx-ide-container_2.cjs.entry.js.map +1 -1
  30. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +10 -6
  31. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  32. package/dist/cjs/gx-ide-current-user-info.cjs.entry.js +4 -3
  33. package/dist/cjs/gx-ide-current-user-info.cjs.entry.js.map +1 -1
  34. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +5 -4
  35. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
  36. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +4 -3
  37. package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
  38. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js +5 -4
  39. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js.map +1 -1
  40. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js +20 -16
  41. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js.map +1 -1
  42. package/dist/cjs/gx-ide-design-import.cjs.entry.js +28 -20
  43. package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
  44. package/dist/cjs/gx-ide-directory-selector.cjs.entry.js +2 -1
  45. package/dist/cjs/gx-ide-directory-selector.cjs.entry.js.map +1 -1
  46. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +3 -2
  47. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
  48. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +5 -3
  49. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js.map +1 -1
  50. package/dist/cjs/gx-ide-file-uploader.cjs.entry.js +45 -60
  51. package/dist/cjs/gx-ide-file-uploader.cjs.entry.js.map +1 -1
  52. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +3 -2
  53. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
  54. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
  55. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +8 -5
  56. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  57. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +1 -1
  58. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
  59. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +5 -14
  60. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js.map +1 -1
  61. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +3 -3
  62. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
  63. package/dist/cjs/gx-ide-navigation-report.cjs.entry.js +7 -4
  64. package/dist/cjs/gx-ide-navigation-report.cjs.entry.js.map +1 -1
  65. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +18 -13
  66. package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
  67. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +35 -31
  68. package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
  69. package/dist/cjs/gx-ide-new-object.cjs.entry.js +9 -6
  70. package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
  71. package/dist/cjs/gx-ide-new-version.cjs.entry.js +3 -3
  72. package/dist/cjs/gx-ide-new-version.cjs.entry.js.map +1 -1
  73. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +7 -6
  74. package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
  75. package/dist/cjs/gx-ide-open-api-import.cjs.entry.js +9 -5
  76. package/dist/cjs/gx-ide-open-api-import.cjs.entry.js.map +1 -1
  77. package/dist/cjs/gx-ide-references.cjs.entry.js +23 -18
  78. package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
  79. package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js +1 -1
  80. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +13 -7
  81. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
  82. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js +4 -3
  83. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js.map +1 -1
  84. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +7 -4
  85. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  86. package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js +3 -2
  87. package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js.map +1 -1
  88. package/dist/cjs/gx-ide-sign-in.cjs.entry.js +1 -1
  89. package/dist/cjs/gx-ide-splash.cjs.entry.js +4 -3
  90. package/dist/cjs/gx-ide-splash.cjs.entry.js.map +1 -1
  91. package/dist/cjs/gx-ide-start-page.cjs.entry.js +7 -4
  92. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  93. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +1 -1
  94. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +2 -2
  95. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
  96. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +2 -2
  97. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
  98. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
  99. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +4 -3
  100. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  101. package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
  102. package/dist/cjs/gx-ide-welcome-page.cjs.entry.js +8 -6
  103. package/dist/cjs/gx-ide-welcome-page.cjs.entry.js.map +1 -1
  104. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +1 -1
  105. package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js +14 -8
  106. package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js.map +1 -1
  107. package/dist/cjs/gx-ide-ww-files.cjs.entry.js +21 -18
  108. package/dist/cjs/gx-ide-ww-files.cjs.entry.js.map +1 -1
  109. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +7 -18
  110. package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
  111. package/dist/cjs/{helpers-e5a13fa5.js → helpers-30f109a4.js} +6 -6
  112. package/dist/cjs/helpers-30f109a4.js.map +1 -0
  113. package/dist/cjs/index.cjs.js +7 -1
  114. package/dist/cjs/index.cjs.js.map +1 -1
  115. package/dist/cjs/{locale-36b93b1b.js → locale-ff30a5f3.js} +4 -4
  116. package/dist/cjs/locale-ff30a5f3.js.map +1 -0
  117. package/dist/collection/common/common.js +7 -4
  118. package/dist/collection/common/common.js.map +1 -1
  119. package/dist/collection/common/form-validation.js +4 -7
  120. package/dist/collection/common/form-validation.js.map +1 -1
  121. package/dist/collection/common/helpers.js +10 -9
  122. package/dist/collection/common/helpers.js.map +1 -1
  123. package/dist/collection/common/images/ai-avatar.svg +11 -0
  124. package/dist/collection/common/locale.js +3 -3
  125. package/dist/collection/common/locale.js.map +1 -1
  126. package/dist/collection/common/render-suggest.js +1 -1
  127. package/dist/collection/common/render-suggest.js.map +1 -1
  128. package/dist/collection/components/_helpers/container/container.js +2 -1
  129. package/dist/collection/components/_helpers/container/container.js.map +1 -1
  130. package/dist/collection/components/_helpers/directory-selector/directory-selector.js +2 -1
  131. package/dist/collection/components/_helpers/directory-selector/directory-selector.js.map +1 -1
  132. package/dist/collection/components/_helpers/entity-selector/entity-selector.js +4 -2
  133. package/dist/collection/components/_helpers/entity-selector/entity-selector.js.map +1 -1
  134. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +1 -1
  135. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js.map +1 -1
  136. package/dist/collection/components/ai-assistant/ai-assistant.js +14 -8
  137. package/dist/collection/components/ai-assistant/ai-assistant.js.map +1 -1
  138. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js +3 -2
  139. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js.map +1 -1
  140. package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.js +4 -2
  141. package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.js.map +1 -1
  142. package/dist/collection/components/bpm/import-files/bpm-import-files.js +2 -1
  143. package/dist/collection/components/bpm/import-files/bpm-import-files.js.map +1 -1
  144. package/dist/collection/components/bpm/sync-gam-roles/bpm-sync-gam-roles.js +2 -1
  145. package/dist/collection/components/bpm/sync-gam-roles/bpm-sync-gam-roles.js.map +1 -1
  146. package/dist/collection/components/bpm/task-documents/helpers.js +1 -1
  147. package/dist/collection/components/bpm/task-documents/helpers.js.map +1 -1
  148. package/dist/collection/components/bpm/task-documents/task-documents.js +9 -7
  149. package/dist/collection/components/bpm/task-documents/task-documents.js.map +1 -1
  150. package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.js +2 -1
  151. package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.js.map +1 -1
  152. package/dist/collection/components/chat/code-render.js +2 -2
  153. package/dist/collection/components/chat/code-render.js.map +1 -1
  154. package/dist/collection/components/current-user-info/current-user-info.js +3 -2
  155. package/dist/collection/components/current-user-info/current-user-info.js.map +1 -1
  156. package/dist/collection/components/dashboard-home/dashboard-home.js +3 -2
  157. package/dist/collection/components/dashboard-home/dashboard-home.js.map +1 -1
  158. package/dist/collection/components/data-selector/data-selector.js +3 -2
  159. package/dist/collection/components/data-selector/data-selector.js.map +1 -1
  160. package/dist/collection/components/data-type-selector/data-type-selector.js +4 -3
  161. package/dist/collection/components/data-type-selector/data-type-selector.js.map +1 -1
  162. package/dist/collection/components/deployment-tool/deployment-tool.js +18 -11
  163. package/dist/collection/components/deployment-tool/deployment-tool.js.map +1 -1
  164. package/dist/collection/components/deployment-tool/helpers.js +1 -4
  165. package/dist/collection/components/deployment-tool/helpers.js.map +1 -1
  166. package/dist/collection/components/design-import/design-import.js +26 -18
  167. package/dist/collection/components/design-import/design-import.js.map +1 -1
  168. package/dist/collection/components/design-import/helpers.js +1 -1
  169. package/dist/collection/components/design-import/helpers.js.map +1 -1
  170. package/dist/collection/components/file-uploader/file-uploader.js +44 -59
  171. package/dist/collection/components/file-uploader/file-uploader.js.map +1 -1
  172. package/dist/collection/components/gam-installation-settings/gam-installation-settings.js +2 -1
  173. package/dist/collection/components/gam-installation-settings/gam-installation-settings.js.map +1 -1
  174. package/dist/collection/components/kb-manager-import/kb-manager-import.js +7 -4
  175. package/dist/collection/components/kb-manager-import/kb-manager-import.js.map +1 -1
  176. package/dist/collection/components/modules/edit-module-server/edit-module-server.js +2 -1
  177. package/dist/collection/components/modules/edit-module-server/edit-module-server.js.map +1 -1
  178. package/dist/collection/components/modules/manage-module-references/manage-module-references.js +2 -2
  179. package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map +1 -1
  180. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js +4 -13
  181. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js.map +1 -1
  182. package/dist/collection/components/navigation-report/navigation-report.js +6 -3
  183. package/dist/collection/components/navigation-report/navigation-report.js.map +1 -1
  184. package/dist/collection/components/new-environment/new-environment.js +15 -10
  185. package/dist/collection/components/new-environment/new-environment.js.map +1 -1
  186. package/dist/collection/components/new-kb/new-kb.js +32 -28
  187. package/dist/collection/components/new-kb/new-kb.js.map +1 -1
  188. package/dist/collection/components/new-object/new-object.js +8 -5
  189. package/dist/collection/components/new-object/new-object.js.map +1 -1
  190. package/dist/collection/components/new-version/new-version.js +2 -2
  191. package/dist/collection/components/new-version/new-version.js.map +1 -1
  192. package/dist/collection/components/object-selector/object-selector.js +5 -4
  193. package/dist/collection/components/object-selector/object-selector.js.map +1 -1
  194. package/dist/collection/components/open-api-import/open-api-import.js +8 -4
  195. package/dist/collection/components/open-api-import/open-api-import.js.map +1 -1
  196. package/dist/collection/components/references/helpers.js +13 -9
  197. package/dist/collection/components/references/helpers.js.map +1 -1
  198. package/dist/collection/components/references/references.js +11 -9
  199. package/dist/collection/components/references/references.js.map +1 -1
  200. package/dist/collection/components/select-kb-items/helpers.js +10 -5
  201. package/dist/collection/components/select-kb-items/helpers.js.map +1 -1
  202. package/dist/collection/components/select-kb-items/select-kb-items.js +2 -1
  203. package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -1
  204. package/dist/collection/components/select-user-team/helpers.js +1 -1
  205. package/dist/collection/components/select-user-team/helpers.js.map +1 -1
  206. package/dist/collection/components/select-user-team/select-user-team.js +2 -1
  207. package/dist/collection/components/select-user-team/select-user-team.js.map +1 -1
  208. package/dist/collection/components/sign-in-team/sign-in-team.js +2 -1
  209. package/dist/collection/components/sign-in-team/sign-in-team.js.map +1 -1
  210. package/dist/collection/components/splash/splash.js +3 -2
  211. package/dist/collection/components/splash/splash.js.map +1 -1
  212. package/dist/collection/components/start-page/start-page.js +6 -3
  213. package/dist/collection/components/start-page/start-page.js.map +1 -1
  214. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js +21 -16
  215. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js.map +1 -1
  216. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +8 -4
  217. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
  218. package/dist/collection/components/team-dev/share-kb/share-kb.js +5 -2
  219. package/dist/collection/components/team-dev/share-kb/share-kb.js.map +1 -1
  220. package/dist/collection/components/team-dev/update/update.js +2 -1
  221. package/dist/collection/components/team-dev/update/update.js.map +1 -1
  222. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js +1 -1
  223. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js.map +1 -1
  224. package/dist/collection/components/welcome-page/welcome-page.js +7 -5
  225. package/dist/collection/components/welcome-page/welcome-page.js.map +1 -1
  226. package/dist/collection/components/ww-attributes/helpers.js +2 -1
  227. package/dist/collection/components/ww-attributes/helpers.js.map +1 -1
  228. package/dist/collection/components/ww-attributes/ww-attributes.js +11 -6
  229. package/dist/collection/components/ww-attributes/ww-attributes.js.map +1 -1
  230. package/dist/collection/components/ww-files/helpers.js +2 -1
  231. package/dist/collection/components/ww-files/helpers.js.map +1 -1
  232. package/dist/collection/components/ww-files/ww-files.js +18 -16
  233. package/dist/collection/components/ww-files/ww-files.js.map +1 -1
  234. package/dist/collection/components/ww-images/ww-images.js +5 -16
  235. package/dist/collection/components/ww-images/ww-images.js.map +1 -1
  236. package/dist/collection/index.js +4 -0
  237. package/dist/collection/index.js.map +1 -1
  238. package/dist/collection/testing/locale.e2e.js +3 -3
  239. package/dist/collection/testing/locale.e2e.js.map +1 -1
  240. package/dist/components/code-render.js +2 -2
  241. package/dist/components/code-render.js.map +1 -1
  242. package/dist/components/container.js +2 -1
  243. package/dist/components/container.js.map +1 -1
  244. package/dist/components/entity-selector.js +4 -2
  245. package/dist/components/entity-selector.js.map +1 -1
  246. package/dist/components/form-validation.js +2 -6
  247. package/dist/components/form-validation.js.map +1 -1
  248. package/dist/components/gx-ide-ai-assistant.js +14 -8
  249. package/dist/components/gx-ide-ai-assistant.js.map +1 -1
  250. package/dist/components/gx-ide-bpm-app-declaration.js +3 -2
  251. package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
  252. package/dist/components/gx-ide-bpm-export-xpdl.js +4 -2
  253. package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
  254. package/dist/components/gx-ide-bpm-import-files.js +2 -1
  255. package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
  256. package/dist/components/gx-ide-bpm-sync-gam-roles.js +2 -1
  257. package/dist/components/gx-ide-bpm-sync-gam-roles.js.map +1 -1
  258. package/dist/components/gx-ide-bpm-task-documents.js +10 -8
  259. package/dist/components/gx-ide-bpm-task-documents.js.map +1 -1
  260. package/dist/components/gx-ide-bpm-timer-duration.js +2 -1
  261. package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
  262. package/dist/components/gx-ide-connect-gx-server.js +21 -16
  263. package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
  264. package/dist/components/gx-ide-create-kb-from-server.js +8 -4
  265. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  266. package/dist/components/gx-ide-current-user-info.js +3 -2
  267. package/dist/components/gx-ide-current-user-info.js.map +1 -1
  268. package/dist/components/gx-ide-dashboard-home.js +3 -2
  269. package/dist/components/gx-ide-dashboard-home.js.map +1 -1
  270. package/dist/components/gx-ide-data-selector.js +3 -2
  271. package/dist/components/gx-ide-data-selector.js.map +1 -1
  272. package/dist/components/gx-ide-data-type-selector.js +4 -3
  273. package/dist/components/gx-ide-data-type-selector.js.map +1 -1
  274. package/dist/components/gx-ide-deployment-tool.js +19 -15
  275. package/dist/components/gx-ide-deployment-tool.js.map +1 -1
  276. package/dist/components/gx-ide-design-import.js +27 -19
  277. package/dist/components/gx-ide-design-import.js.map +1 -1
  278. package/dist/components/gx-ide-directory-selector.js +2 -1
  279. package/dist/components/gx-ide-directory-selector.js.map +1 -1
  280. package/dist/components/gx-ide-edit-module-server.js +2 -1
  281. package/dist/components/gx-ide-edit-module-server.js.map +1 -1
  282. package/dist/components/gx-ide-file-uploader.js +44 -59
  283. package/dist/components/gx-ide-file-uploader.js.map +1 -1
  284. package/dist/components/gx-ide-gam-installation-settings.js +2 -1
  285. package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
  286. package/dist/components/gx-ide-kb-manager-import.js +7 -4
  287. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  288. package/dist/components/gx-ide-manage-module-references-v2.js +4 -13
  289. package/dist/components/gx-ide-manage-module-references-v2.js.map +1 -1
  290. package/dist/components/gx-ide-manage-module-references.js +2 -2
  291. package/dist/components/gx-ide-manage-module-references.js.map +1 -1
  292. package/dist/components/gx-ide-navigation-report.js +6 -3
  293. package/dist/components/gx-ide-navigation-report.js.map +1 -1
  294. package/dist/components/gx-ide-new-environment.js +15 -10
  295. package/dist/components/gx-ide-new-environment.js.map +1 -1
  296. package/dist/components/gx-ide-new-kb.js +32 -28
  297. package/dist/components/gx-ide-new-kb.js.map +1 -1
  298. package/dist/components/gx-ide-new-object.js +8 -5
  299. package/dist/components/gx-ide-new-object.js.map +1 -1
  300. package/dist/components/gx-ide-new-version.js +2 -2
  301. package/dist/components/gx-ide-new-version.js.map +1 -1
  302. package/dist/components/gx-ide-object-selector.js +5 -4
  303. package/dist/components/gx-ide-object-selector.js.map +1 -1
  304. package/dist/components/gx-ide-open-api-import.js +8 -4
  305. package/dist/components/gx-ide-open-api-import.js.map +1 -1
  306. package/dist/components/gx-ide-references.js +22 -17
  307. package/dist/components/gx-ide-references.js.map +1 -1
  308. package/dist/components/gx-ide-select-kb-items.js +12 -6
  309. package/dist/components/gx-ide-select-kb-items.js.map +1 -1
  310. package/dist/components/gx-ide-select-user-team.js +3 -2
  311. package/dist/components/gx-ide-select-user-team.js.map +1 -1
  312. package/dist/components/gx-ide-share-kb.js +5 -2
  313. package/dist/components/gx-ide-share-kb.js.map +1 -1
  314. package/dist/components/gx-ide-sign-in-team.js +2 -1
  315. package/dist/components/gx-ide-sign-in-team.js.map +1 -1
  316. package/dist/components/gx-ide-splash.js +3 -2
  317. package/dist/components/gx-ide-splash.js.map +1 -1
  318. package/dist/components/gx-ide-start-page.js +6 -3
  319. package/dist/components/gx-ide-start-page.js.map +1 -1
  320. package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
  321. package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
  322. package/dist/components/gx-ide-team-dev-update.js +2 -1
  323. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  324. package/dist/components/gx-ide-welcome-page.js +7 -5
  325. package/dist/components/gx-ide-welcome-page.js.map +1 -1
  326. package/dist/components/gx-ide-ww-attributes.js +13 -7
  327. package/dist/components/gx-ide-ww-attributes.js.map +1 -1
  328. package/dist/components/gx-ide-ww-files.js +20 -17
  329. package/dist/components/gx-ide-ww-files.js.map +1 -1
  330. package/dist/components/gx-ide-ww-images.js +5 -16
  331. package/dist/components/gx-ide-ww-images.js.map +1 -1
  332. package/dist/components/helpers.js +5 -5
  333. package/dist/components/helpers.js.map +1 -1
  334. package/dist/components/index.js +6 -0
  335. package/dist/components/index.js.map +1 -1
  336. package/dist/components/list-selector-item.js +1 -1
  337. package/dist/components/list-selector-item.js.map +1 -1
  338. package/dist/components/locale.js +3 -3
  339. package/dist/components/locale.js.map +1 -1
  340. package/dist/esm/{code-render-f3afd300.js → code-render-53b3b0bd.js} +3 -3
  341. package/dist/esm/code-render-53b3b0bd.js.map +1 -0
  342. package/dist/esm/{form-validation-71dca8c6.js → form-validation-cd0215c6.js} +3 -7
  343. package/dist/{genexus-ide-ui/p-549b8f0c.js.map → esm/form-validation-cd0215c6.js.map} +1 -1
  344. package/dist/esm/gx-ide-about.entry.js +1 -1
  345. package/dist/esm/gx-ide-ai-assistant.entry.js +15 -9
  346. package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
  347. package/dist/esm/gx-ide-ai-message.entry.js +2 -2
  348. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +4 -3
  349. package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
  350. package/dist/esm/gx-ide-bpm-assign-roles.entry.js +1 -1
  351. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +5 -3
  352. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
  353. package/dist/esm/gx-ide-bpm-import-files.entry.js +3 -2
  354. package/dist/esm/gx-ide-bpm-import-files.entry.js.map +1 -1
  355. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +1 -1
  356. package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
  357. package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js +3 -2
  358. package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js.map +1 -1
  359. package/dist/esm/gx-ide-bpm-task-documents.entry.js +11 -9
  360. package/dist/esm/gx-ide-bpm-task-documents.entry.js.map +1 -1
  361. package/dist/esm/gx-ide-bpm-timer-duration.entry.js +3 -2
  362. package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
  363. package/dist/esm/gx-ide-card.entry.js +1 -1
  364. package/dist/esm/gx-ide-chat-container_2.entry.js +1 -1
  365. package/dist/esm/gx-ide-connect-gx-server.entry.js +23 -18
  366. package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
  367. package/dist/esm/gx-ide-container_2.entry.js +2 -1
  368. package/dist/esm/gx-ide-container_2.entry.js.map +1 -1
  369. package/dist/esm/gx-ide-create-kb-from-server.entry.js +10 -6
  370. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  371. package/dist/esm/gx-ide-current-user-info.entry.js +4 -3
  372. package/dist/esm/gx-ide-current-user-info.entry.js.map +1 -1
  373. package/dist/esm/gx-ide-dashboard-home.entry.js +5 -4
  374. package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
  375. package/dist/esm/gx-ide-data-selector.entry.js +4 -3
  376. package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
  377. package/dist/esm/gx-ide-data-type-selector.entry.js +5 -4
  378. package/dist/esm/gx-ide-data-type-selector.entry.js.map +1 -1
  379. package/dist/esm/gx-ide-deployment-tool.entry.js +20 -16
  380. package/dist/esm/gx-ide-deployment-tool.entry.js.map +1 -1
  381. package/dist/esm/gx-ide-design-import.entry.js +28 -20
  382. package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
  383. package/dist/esm/gx-ide-directory-selector.entry.js +2 -1
  384. package/dist/esm/gx-ide-directory-selector.entry.js.map +1 -1
  385. package/dist/esm/gx-ide-edit-module-server.entry.js +3 -2
  386. package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
  387. package/dist/esm/gx-ide-entity-selector.entry.js +5 -3
  388. package/dist/esm/gx-ide-entity-selector.entry.js.map +1 -1
  389. package/dist/esm/gx-ide-file-uploader.entry.js +45 -60
  390. package/dist/esm/gx-ide-file-uploader.entry.js.map +1 -1
  391. package/dist/esm/gx-ide-gam-installation-settings.entry.js +3 -2
  392. package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
  393. package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
  394. package/dist/esm/gx-ide-kb-manager-import.entry.js +8 -5
  395. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  396. package/dist/esm/gx-ide-list-selector_2.entry.js +1 -1
  397. package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
  398. package/dist/esm/gx-ide-manage-module-references-v2.entry.js +5 -14
  399. package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +1 -1
  400. package/dist/esm/gx-ide-manage-module-references.entry.js +3 -3
  401. package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
  402. package/dist/esm/gx-ide-navigation-report.entry.js +7 -4
  403. package/dist/esm/gx-ide-navigation-report.entry.js.map +1 -1
  404. package/dist/esm/gx-ide-new-environment.entry.js +18 -13
  405. package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
  406. package/dist/esm/gx-ide-new-kb.entry.js +35 -31
  407. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  408. package/dist/esm/gx-ide-new-object.entry.js +9 -6
  409. package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
  410. package/dist/esm/gx-ide-new-version.entry.js +3 -3
  411. package/dist/esm/gx-ide-new-version.entry.js.map +1 -1
  412. package/dist/esm/gx-ide-object-selector.entry.js +7 -6
  413. package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
  414. package/dist/esm/gx-ide-open-api-import.entry.js +9 -5
  415. package/dist/esm/gx-ide-open-api-import.entry.js.map +1 -1
  416. package/dist/esm/gx-ide-references.entry.js +23 -18
  417. package/dist/esm/gx-ide-references.entry.js.map +1 -1
  418. package/dist/esm/gx-ide-sc-chat-container.entry.js +1 -1
  419. package/dist/esm/gx-ide-select-kb-items.entry.js +13 -7
  420. package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
  421. package/dist/esm/gx-ide-select-user-team.entry.js +4 -3
  422. package/dist/esm/gx-ide-select-user-team.entry.js.map +1 -1
  423. package/dist/esm/gx-ide-share-kb.entry.js +7 -4
  424. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  425. package/dist/esm/gx-ide-sign-in-team.entry.js +3 -2
  426. package/dist/esm/gx-ide-sign-in-team.entry.js.map +1 -1
  427. package/dist/esm/gx-ide-sign-in.entry.js +1 -1
  428. package/dist/esm/gx-ide-splash.entry.js +4 -3
  429. package/dist/esm/gx-ide-splash.entry.js.map +1 -1
  430. package/dist/esm/gx-ide-start-page.entry.js +7 -4
  431. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  432. package/dist/esm/gx-ide-status-buttons.entry.js +1 -1
  433. package/dist/esm/gx-ide-team-dev-commit.entry.js +2 -2
  434. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
  435. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +2 -2
  436. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
  437. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
  438. package/dist/esm/gx-ide-team-dev-update.entry.js +4 -3
  439. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  440. package/dist/esm/gx-ide-template.entry.js +1 -1
  441. package/dist/esm/gx-ide-welcome-page.entry.js +8 -6
  442. package/dist/esm/gx-ide-welcome-page.entry.js.map +1 -1
  443. package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
  444. package/dist/esm/gx-ide-ww-attributes.entry.js +14 -8
  445. package/dist/esm/gx-ide-ww-attributes.entry.js.map +1 -1
  446. package/dist/esm/gx-ide-ww-files.entry.js +21 -18
  447. package/dist/esm/gx-ide-ww-files.entry.js.map +1 -1
  448. package/dist/esm/gx-ide-ww-images.entry.js +7 -18
  449. package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
  450. package/dist/esm/{helpers-5f1c9a32.js → helpers-10479d69.js} +6 -6
  451. package/dist/esm/helpers-10479d69.js.map +1 -0
  452. package/dist/esm/index.js +7 -1
  453. package/dist/esm/index.js.map +1 -1
  454. package/dist/esm/{locale-643afe17.js → locale-e5107fad.js} +4 -4
  455. package/dist/esm/locale-e5107fad.js.map +1 -0
  456. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  457. package/dist/genexus-ide-ui/index.esm.js +7 -1
  458. package/dist/genexus-ide-ui/index.esm.js.map +1 -1
  459. package/dist/genexus-ide-ui/{p-11dccb8f.entry.js → p-01d96378.entry.js} +16 -17
  460. package/dist/genexus-ide-ui/p-01d96378.entry.js.map +1 -0
  461. package/dist/genexus-ide-ui/{p-75e1aa31.entry.js → p-036d005d.entry.js} +5 -4
  462. package/dist/genexus-ide-ui/p-036d005d.entry.js.map +1 -0
  463. package/dist/genexus-ide-ui/{p-f5a48b33.entry.js → p-04205aa4.entry.js} +6 -5
  464. package/dist/genexus-ide-ui/p-04205aa4.entry.js.map +1 -0
  465. package/dist/genexus-ide-ui/{p-f6ceb01a.entry.js → p-04c6bd23.entry.js} +29 -28
  466. package/dist/genexus-ide-ui/p-04c6bd23.entry.js.map +1 -0
  467. package/dist/genexus-ide-ui/{p-f52bcdac.entry.js → p-0550fd5f.entry.js} +2 -2
  468. package/dist/genexus-ide-ui/{p-e1d75f00.entry.js → p-05b04291.entry.js} +2 -2
  469. package/dist/genexus-ide-ui/{p-e1d75f00.entry.js.map → p-05b04291.entry.js.map} +1 -1
  470. package/dist/genexus-ide-ui/{p-bfd9066c.entry.js → p-0bdf34f2.entry.js} +4 -6
  471. package/dist/genexus-ide-ui/p-0bdf34f2.entry.js.map +1 -0
  472. package/dist/genexus-ide-ui/{p-2be58a7a.entry.js → p-14165308.entry.js} +2 -2
  473. package/dist/genexus-ide-ui/{p-7cedb0f0.entry.js → p-1bc2613e.entry.js} +69 -66
  474. package/dist/genexus-ide-ui/p-1bc2613e.entry.js.map +1 -0
  475. package/dist/genexus-ide-ui/{p-c5cca204.entry.js → p-1c7ea1cb.entry.js} +11 -10
  476. package/dist/genexus-ide-ui/p-1c7ea1cb.entry.js.map +1 -0
  477. package/dist/genexus-ide-ui/{p-daa29451.entry.js → p-1dd7be84.entry.js} +17 -14
  478. package/dist/genexus-ide-ui/p-1dd7be84.entry.js.map +1 -0
  479. package/dist/genexus-ide-ui/{p-549b8f0c.js → p-289c3290.js} +15 -16
  480. package/dist/genexus-ide-ui/p-289c3290.js.map +1 -0
  481. package/dist/genexus-ide-ui/{p-032b4a81.entry.js → p-29c69938.entry.js} +22 -19
  482. package/dist/genexus-ide-ui/p-29c69938.entry.js.map +1 -0
  483. package/dist/genexus-ide-ui/{p-db4f756a.entry.js → p-3085add2.entry.js} +188 -176
  484. package/dist/genexus-ide-ui/p-3085add2.entry.js.map +1 -0
  485. package/dist/genexus-ide-ui/{p-857866f8.js → p-311eedf3.js} +9 -8
  486. package/dist/genexus-ide-ui/p-311eedf3.js.map +1 -0
  487. package/dist/genexus-ide-ui/{p-2e90a13a.entry.js → p-31beae9e.entry.js} +3 -2
  488. package/dist/genexus-ide-ui/p-31beae9e.entry.js.map +1 -0
  489. package/dist/genexus-ide-ui/{p-9a39e49c.entry.js → p-35f9ebbc.entry.js} +2 -2
  490. package/dist/genexus-ide-ui/{p-db4750ff.entry.js → p-385c9544.entry.js} +147 -138
  491. package/dist/genexus-ide-ui/p-385c9544.entry.js.map +1 -0
  492. package/dist/genexus-ide-ui/{p-8f1f4126.entry.js → p-3da8db15.entry.js} +9 -9
  493. package/dist/genexus-ide-ui/p-3da8db15.entry.js.map +1 -0
  494. package/dist/genexus-ide-ui/{p-b1833747.entry.js → p-4538dea5.entry.js} +31 -26
  495. package/dist/genexus-ide-ui/p-4538dea5.entry.js.map +1 -0
  496. package/dist/genexus-ide-ui/{p-6dc05a27.entry.js → p-45996535.entry.js} +4 -3
  497. package/dist/genexus-ide-ui/p-45996535.entry.js.map +1 -0
  498. package/dist/genexus-ide-ui/{p-a6029d9a.entry.js → p-48062d23.entry.js} +128 -116
  499. package/dist/genexus-ide-ui/p-48062d23.entry.js.map +1 -0
  500. package/dist/genexus-ide-ui/{p-4d929210.entry.js → p-4b38fffc.entry.js} +2 -2
  501. package/dist/genexus-ide-ui/{p-d1cc4724.entry.js → p-4d0ba4f6.entry.js} +8 -15
  502. package/dist/genexus-ide-ui/p-4d0ba4f6.entry.js.map +1 -0
  503. package/dist/genexus-ide-ui/{p-66d9269a.entry.js → p-4e943649.entry.js} +19 -16
  504. package/dist/genexus-ide-ui/p-4e943649.entry.js.map +1 -0
  505. package/dist/genexus-ide-ui/{p-ec01c70c.entry.js → p-67e0b419.entry.js} +7 -6
  506. package/dist/genexus-ide-ui/p-67e0b419.entry.js.map +1 -0
  507. package/dist/genexus-ide-ui/{p-45d2fa91.entry.js → p-68969051.entry.js} +12 -11
  508. package/dist/genexus-ide-ui/p-68969051.entry.js.map +1 -0
  509. package/dist/genexus-ide-ui/{p-9b238bf7.entry.js → p-690942cb.entry.js} +178 -173
  510. package/dist/genexus-ide-ui/p-690942cb.entry.js.map +1 -0
  511. package/dist/genexus-ide-ui/{p-b211bca8.entry.js → p-6b957e82.entry.js} +2 -2
  512. package/dist/genexus-ide-ui/{p-be794132.entry.js → p-6f898249.entry.js} +233 -228
  513. package/dist/genexus-ide-ui/p-6f898249.entry.js.map +1 -0
  514. package/dist/genexus-ide-ui/{p-29575656.entry.js → p-704499e5.entry.js} +116 -107
  515. package/dist/genexus-ide-ui/p-704499e5.entry.js.map +1 -0
  516. package/dist/genexus-ide-ui/{p-ac0438d6.entry.js → p-767e0f6d.entry.js} +12 -11
  517. package/dist/genexus-ide-ui/p-767e0f6d.entry.js.map +1 -0
  518. package/dist/genexus-ide-ui/{p-6168d48c.entry.js → p-7abe2214.entry.js} +167 -160
  519. package/dist/genexus-ide-ui/p-7abe2214.entry.js.map +1 -0
  520. package/dist/genexus-ide-ui/{p-50eaa96d.entry.js → p-7d8812b0.entry.js} +99 -89
  521. package/dist/genexus-ide-ui/p-7d8812b0.entry.js.map +1 -0
  522. package/dist/genexus-ide-ui/{p-9c690c36.entry.js → p-88c81f18.entry.js} +13 -12
  523. package/dist/genexus-ide-ui/p-88c81f18.entry.js.map +1 -0
  524. package/dist/genexus-ide-ui/{p-5e05f830.entry.js → p-8cb937b7.entry.js} +35 -31
  525. package/dist/genexus-ide-ui/p-8cb937b7.entry.js.map +1 -0
  526. package/dist/genexus-ide-ui/p-9ddea83b.js +146 -0
  527. package/dist/genexus-ide-ui/p-9ddea83b.js.map +1 -0
  528. package/dist/genexus-ide-ui/{p-2dbf722d.entry.js → p-9fa1200f.entry.js} +75 -69
  529. package/dist/genexus-ide-ui/p-9fa1200f.entry.js.map +1 -0
  530. package/dist/genexus-ide-ui/{p-0e53f1ef.entry.js → p-a1415a9c.entry.js} +161 -159
  531. package/dist/genexus-ide-ui/p-a1415a9c.entry.js.map +1 -0
  532. package/dist/genexus-ide-ui/{p-c30b2104.entry.js → p-a47d71eb.entry.js} +11 -9
  533. package/dist/genexus-ide-ui/p-a47d71eb.entry.js.map +1 -0
  534. package/dist/genexus-ide-ui/{p-f315c6e0.entry.js → p-aab809c4.entry.js} +2 -2
  535. package/dist/genexus-ide-ui/{p-f5879a41.entry.js → p-b1851e6b.entry.js} +3 -3
  536. package/dist/genexus-ide-ui/{p-f5879a41.entry.js.map → p-b1851e6b.entry.js.map} +1 -1
  537. package/dist/genexus-ide-ui/{p-95f831a8.entry.js → p-b2928645.entry.js} +2 -2
  538. package/dist/genexus-ide-ui/{p-39c527ff.entry.js → p-b58fb87b.entry.js} +2 -2
  539. package/dist/genexus-ide-ui/{p-a86a8692.entry.js → p-c38ce0bf.entry.js} +36 -32
  540. package/dist/genexus-ide-ui/p-c38ce0bf.entry.js.map +1 -0
  541. package/dist/genexus-ide-ui/{p-3edbf07d.js → p-c5178973.js} +3 -3
  542. package/dist/genexus-ide-ui/{p-3edbf07d.js.map → p-c5178973.js.map} +1 -1
  543. package/dist/genexus-ide-ui/{p-0d83a34d.entry.js → p-c7badbf1.entry.js} +66 -62
  544. package/dist/genexus-ide-ui/p-c7badbf1.entry.js.map +1 -0
  545. package/dist/genexus-ide-ui/{p-970d16ca.entry.js → p-c91af626.entry.js} +15 -15
  546. package/dist/genexus-ide-ui/{p-970d16ca.entry.js.map → p-c91af626.entry.js.map} +1 -1
  547. package/dist/genexus-ide-ui/{p-8b046b4b.entry.js → p-d095a37c.entry.js} +10 -9
  548. package/dist/genexus-ide-ui/p-d095a37c.entry.js.map +1 -0
  549. package/dist/genexus-ide-ui/{p-e37e95e7.entry.js → p-d2107cb2.entry.js} +3 -3
  550. package/dist/genexus-ide-ui/{p-353810b8.entry.js → p-d3767a7d.entry.js} +104 -99
  551. package/dist/genexus-ide-ui/p-d3767a7d.entry.js.map +1 -0
  552. package/dist/genexus-ide-ui/{p-02fc47cd.entry.js → p-d8379699.entry.js} +2 -2
  553. package/dist/genexus-ide-ui/{p-cdf8b082.entry.js → p-da473001.entry.js} +2 -2
  554. package/dist/genexus-ide-ui/{p-501c7b1f.entry.js → p-de7f0c1f.entry.js} +22 -19
  555. package/dist/genexus-ide-ui/p-de7f0c1f.entry.js.map +1 -0
  556. package/dist/genexus-ide-ui/{p-5da3e999.entry.js → p-ded7444c.entry.js} +17 -16
  557. package/dist/genexus-ide-ui/p-ded7444c.entry.js.map +1 -0
  558. package/dist/genexus-ide-ui/{p-9a9ee1ee.entry.js → p-e24902a0.entry.js} +2 -2
  559. package/dist/genexus-ide-ui/{p-5a42428d.entry.js → p-e28e6bc4.entry.js} +15 -14
  560. package/dist/genexus-ide-ui/p-e28e6bc4.entry.js.map +1 -0
  561. package/dist/genexus-ide-ui/{p-7782e1b8.entry.js → p-e502c2fd.entry.js} +61 -56
  562. package/dist/genexus-ide-ui/p-e502c2fd.entry.js.map +1 -0
  563. package/dist/genexus-ide-ui/{p-f2bd9044.entry.js → p-e7fb3ee3.entry.js} +2 -2
  564. package/dist/genexus-ide-ui/{p-e5571f49.entry.js → p-eb9e760d.entry.js} +18 -18
  565. package/dist/genexus-ide-ui/p-eb9e760d.entry.js.map +1 -0
  566. package/dist/genexus-ide-ui/{p-eb51429c.entry.js → p-ec0809a7.entry.js} +2 -2
  567. package/dist/genexus-ide-ui/{p-460db3ff.entry.js → p-ecba870e.entry.js} +3 -3
  568. package/dist/genexus-ide-ui/{p-e26e05c7.entry.js → p-f49bb305.entry.js} +18 -12
  569. package/dist/genexus-ide-ui/p-f49bb305.entry.js.map +1 -0
  570. package/dist/genexus-ide-ui/{p-8636a0bd.entry.js → p-f722955f.entry.js} +2 -2
  571. package/dist/genexus-ide-ui/{p-a8cc41e4.entry.js → p-f7421997.entry.js} +61 -58
  572. package/dist/genexus-ide-ui/p-f7421997.entry.js.map +1 -0
  573. package/dist/types/index.d.ts +4 -0
  574. package/package.json +3 -3
  575. package/dist/cjs/code-render-0e9837c4.js.map +0 -1
  576. package/dist/cjs/form-validation-ffe2b957.js.map +0 -1
  577. package/dist/cjs/helpers-e5a13fa5.js.map +0 -1
  578. package/dist/cjs/locale-36b93b1b.js.map +0 -1
  579. package/dist/esm/code-render-f3afd300.js.map +0 -1
  580. package/dist/esm/form-validation-71dca8c6.js.map +0 -1
  581. package/dist/esm/helpers-5f1c9a32.js.map +0 -1
  582. package/dist/esm/locale-643afe17.js.map +0 -1
  583. package/dist/genexus-ide-ui/p-032b4a81.entry.js.map +0 -1
  584. package/dist/genexus-ide-ui/p-0d83a34d.entry.js.map +0 -1
  585. package/dist/genexus-ide-ui/p-0e53f1ef.entry.js.map +0 -1
  586. package/dist/genexus-ide-ui/p-11dccb8f.entry.js.map +0 -1
  587. package/dist/genexus-ide-ui/p-29575656.entry.js.map +0 -1
  588. package/dist/genexus-ide-ui/p-2dbf722d.entry.js.map +0 -1
  589. package/dist/genexus-ide-ui/p-2e90a13a.entry.js.map +0 -1
  590. package/dist/genexus-ide-ui/p-353810b8.entry.js.map +0 -1
  591. package/dist/genexus-ide-ui/p-45d2fa91.entry.js.map +0 -1
  592. package/dist/genexus-ide-ui/p-501c7b1f.entry.js.map +0 -1
  593. package/dist/genexus-ide-ui/p-50eaa96d.entry.js.map +0 -1
  594. package/dist/genexus-ide-ui/p-51601b85.js +0 -145
  595. package/dist/genexus-ide-ui/p-51601b85.js.map +0 -1
  596. package/dist/genexus-ide-ui/p-5a42428d.entry.js.map +0 -1
  597. package/dist/genexus-ide-ui/p-5da3e999.entry.js.map +0 -1
  598. package/dist/genexus-ide-ui/p-5e05f830.entry.js.map +0 -1
  599. package/dist/genexus-ide-ui/p-6168d48c.entry.js.map +0 -1
  600. package/dist/genexus-ide-ui/p-66d9269a.entry.js.map +0 -1
  601. package/dist/genexus-ide-ui/p-6dc05a27.entry.js.map +0 -1
  602. package/dist/genexus-ide-ui/p-75e1aa31.entry.js.map +0 -1
  603. package/dist/genexus-ide-ui/p-7782e1b8.entry.js.map +0 -1
  604. package/dist/genexus-ide-ui/p-7cedb0f0.entry.js.map +0 -1
  605. package/dist/genexus-ide-ui/p-857866f8.js.map +0 -1
  606. package/dist/genexus-ide-ui/p-8b046b4b.entry.js.map +0 -1
  607. package/dist/genexus-ide-ui/p-8f1f4126.entry.js.map +0 -1
  608. package/dist/genexus-ide-ui/p-9b238bf7.entry.js.map +0 -1
  609. package/dist/genexus-ide-ui/p-9c690c36.entry.js.map +0 -1
  610. package/dist/genexus-ide-ui/p-a6029d9a.entry.js.map +0 -1
  611. package/dist/genexus-ide-ui/p-a86a8692.entry.js.map +0 -1
  612. package/dist/genexus-ide-ui/p-a8cc41e4.entry.js.map +0 -1
  613. package/dist/genexus-ide-ui/p-ac0438d6.entry.js.map +0 -1
  614. package/dist/genexus-ide-ui/p-b1833747.entry.js.map +0 -1
  615. package/dist/genexus-ide-ui/p-be794132.entry.js.map +0 -1
  616. package/dist/genexus-ide-ui/p-bfd9066c.entry.js.map +0 -1
  617. package/dist/genexus-ide-ui/p-c30b2104.entry.js.map +0 -1
  618. package/dist/genexus-ide-ui/p-c5cca204.entry.js.map +0 -1
  619. package/dist/genexus-ide-ui/p-d1cc4724.entry.js.map +0 -1
  620. package/dist/genexus-ide-ui/p-daa29451.entry.js.map +0 -1
  621. package/dist/genexus-ide-ui/p-db4750ff.entry.js.map +0 -1
  622. package/dist/genexus-ide-ui/p-db4f756a.entry.js.map +0 -1
  623. package/dist/genexus-ide-ui/p-e26e05c7.entry.js.map +0 -1
  624. package/dist/genexus-ide-ui/p-e5571f49.entry.js.map +0 -1
  625. package/dist/genexus-ide-ui/p-ec01c70c.entry.js.map +0 -1
  626. package/dist/genexus-ide-ui/p-f5a48b33.entry.js.map +0 -1
  627. package/dist/genexus-ide-ui/p-f6ceb01a.entry.js.map +0 -1
  628. /package/dist/genexus-ide-ui/{p-f52bcdac.entry.js.map → p-0550fd5f.entry.js.map} +0 -0
  629. /package/dist/genexus-ide-ui/{p-2be58a7a.entry.js.map → p-14165308.entry.js.map} +0 -0
  630. /package/dist/genexus-ide-ui/{p-9a39e49c.entry.js.map → p-35f9ebbc.entry.js.map} +0 -0
  631. /package/dist/genexus-ide-ui/{p-4d929210.entry.js.map → p-4b38fffc.entry.js.map} +0 -0
  632. /package/dist/genexus-ide-ui/{p-b211bca8.entry.js.map → p-6b957e82.entry.js.map} +0 -0
  633. /package/dist/genexus-ide-ui/{p-f315c6e0.entry.js.map → p-aab809c4.entry.js.map} +0 -0
  634. /package/dist/genexus-ide-ui/{p-95f831a8.entry.js.map → p-b2928645.entry.js.map} +0 -0
  635. /package/dist/genexus-ide-ui/{p-39c527ff.entry.js.map → p-b58fb87b.entry.js.map} +0 -0
  636. /package/dist/genexus-ide-ui/{p-e37e95e7.entry.js.map → p-d2107cb2.entry.js.map} +0 -0
  637. /package/dist/genexus-ide-ui/{p-02fc47cd.entry.js.map → p-d8379699.entry.js.map} +0 -0
  638. /package/dist/genexus-ide-ui/{p-cdf8b082.entry.js.map → p-da473001.entry.js.map} +0 -0
  639. /package/dist/genexus-ide-ui/{p-9a9ee1ee.entry.js.map → p-e24902a0.entry.js.map} +0 -0
  640. /package/dist/genexus-ide-ui/{p-f2bd9044.entry.js.map → p-e7fb3ee3.entry.js.map} +0 -0
  641. /package/dist/genexus-ide-ui/{p-eb51429c.entry.js.map → p-ec0809a7.entry.js.map} +0 -0
  642. /package/dist/genexus-ide-ui/{p-460db3ff.entry.js.map → p-ecba870e.entry.js.map} +0 -0
  643. /package/dist/genexus-ide-ui/{p-8636a0bd.entry.js.map → p-f722955f.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"gx-ide-file-uploader.entry.js","mappings":"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","names":[],"sources":["src/components/file-uploader/file-uploader.scss?tag=gx-ide-file-uploader&encapsulation=shadow","src/components/file-uploader/file-uploader.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n@import \"../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n\n:host {\n display: block;\n inline-size: 100%;\n block-size: 100%;\n padding-inline-end: 0 !important;\n}\n\n.file-uploader-dialog {\n display: flex;\n flex-direction: column;\n block-size: 100%;\n background-color: var(--mer-surface__background);\n position: relative;\n\n .dialog-content {\n flex: 1;\n min-block-size: 0;\n overflow: auto;\n }\n\n .dialog-footer {\n padding-inline-end: var(--spacing-body-inline-end);\n }\n}\n\n.file-uploader {\n display: flex;\n flex-direction: column;\n inline-size: 100%;\n block-size: 100%;\n\n &__list {\n display: flex;\n flex-direction: column;\n inline-size: 100%;\n block-size: 100%;\n\n &-header {\n position: sticky;\n top: 0;\n z-index: 1;\n background-color: var(--mer-surface__elevation--01);\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding-inline-end: var(--spacing-body-inline-end);\n }\n\n &-content {\n flex: 1;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n padding-inline-end: var(--spacing-body-inline-end);\n padding-block-end: var(--mer-spacing--md);\n }\n }\n\n &__list-title-container {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--2xs);\n white-space: nowrap;\n }\n\n &__drop-zone {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n inline-size: calc(100% - var(--spacing-body-inline-end));\n block-size: calc(100% - var(--mer-spacing--sm));\n min-block-size: 200px;\n margin-block-end: var(--mer-spacing--sm);\n background: var(--mer-surface__elevation--01);\n border: var(--mer-border__width--md) dashed var(--mer-border-color__dim);\n border-radius: var(--mer-border__radius--md);\n transition: border-color 0.3s ease, background-color 0.3s ease,\n opacity 0.3s ease;\n\n &--dragging {\n border-color: var(--mer-accent__primary);\n background: var(--mer-accent__primary--hover);\n opacity: 0.7;\n }\n\n .text-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--mer-spacing--2xs);\n margin-block-start: var(--mer-spacing--xs);\n }\n }\n}\n\n.hidden-input {\n display: none;\n}\n\n.label-primary-row {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--xs);\n}\n","/* eslint-disable @stencil-community/own-methods-must-be-private */\n/* eslint-disable @stencil-community/own-props-must-be-private */\n/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Method\n} from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\nimport { UploadedFile, FileUploadState, UploadResult } from \"./types\";\n\nconst PLUS_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"add\",\n colorType: \"primary\"\n});\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/icon\",\n \"components/list-box\",\n \"components/edit\",\n \"utils/typography\",\n \"utils/spacing\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/elevation\",\n \"chameleon/scrollbar\"\n];\n\ntype FileValidationResult = {\n isValid: boolean;\n error?: string;\n};\n\n@Component({\n tag: \"gx-ide-file-uploader\",\n styleUrl: \"file-uploader.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/file-uploader\"]\n})\nexport class FileUploader {\n #_componentLocale: any;\n #fileInputEl!: HTMLInputElement;\n\n @Element() el!: HTMLGxIdeFileUploaderElement;\n\n /** Allowed file types/extensions (e.g. ['.jpg', '.png', 'image/*', 'application/pdf']) */\n @Prop() readonly types?: string[] = [];\n\n /** Whether multiple files can be selected */\n @Prop() readonly multiple: boolean = false;\n\n /** Whether file names can be edited */\n @Prop() readonly canEditName: boolean = false;\n\n /** Label to display in the uploader dialog */\n @Prop() readonly label?: string;\n\n /** Function to handle file upload */\n @Prop() readonly uploadFunction!: (\n file: File,\n progressCallback: (progress: number) => void\n ) => Promise<UploadResult>;\n\n /** Function to cancel file upload */\n @Prop() readonly cancelUploadFunction?: (fileId: string) => Promise<void>;\n\n /** Callback when a file is uploaded successfully */\n @Prop() readonly fileUploadedCallback?: (file: UploadedFile) => Promise<void>;\n\n /** Callback when the dialog is canceled */\n @Prop() readonly dialogCanceledCallback?: () => Promise<void>;\n\n /** Callback when the dialog is confirmed with files */\n @Prop() readonly dialogConfirmedCallback?: (\n files: UploadedFile[]\n ) => Promise<void>;\n\n /** Callback when upload is cancelled */\n @Prop() readonly uploadCancelledCallback?: (fileId: string) => Promise<void>;\n\n /** Callback when file is renamed */\n @Prop() readonly fileRenamedCallback?: (data: {\n fileId: string;\n newName: string;\n }) => Promise<void>;\n\n /** Callback when a file validation error occurs */\n @Prop() readonly fileValidationErrorCallback?: (data: {\n fileName: string;\n error: string;\n }) => Promise<void>;\n\n /** Callback when a file deletion error occurs */\n @Prop() readonly fileDeletionErrorCallback?: (data: {\n fileName: string;\n error: string;\n }) => Promise<void>;\n\n /** Callback when a file is deleted */\n @Prop() readonly fileDeletedCallback?: (file: UploadedFile) => Promise<void>;\n\n /** Callback before deleting a file to get confirmation */\n @Prop() readonly onBeforeDelete?: (file: UploadedFile) => Promise<boolean>;\n\n @State() private fileStates: Map<string, FileUploadState> = new Map();\n @State() private isDragging: boolean = false;\n #dragCounter = 0;\n\n /** Initializes component with locale strings */\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n /** Generates a unique ID for file identification */\n #generateId = (): string => {\n return Math.random().toString(36).substr(2, 9);\n };\n\n /** Validates if a file matches the allowed types */\n #isValidFile(file: File): FileValidationResult {\n // If no types specified, accept any file\n if (!this.types || this.types.length === 0) {\n return { isValid: true };\n }\n\n for (const type of this.types) {\n // Handle wildcards like 'image/*'\n if (type.includes(\"/*\")) {\n const baseType = type.split(\"/\")[0];\n if (file.type.startsWith(baseType)) {\n return { isValid: true };\n }\n }\n // Handle extensions like '.jpg'\n else if (type.startsWith(\".\")) {\n if (file.name.toLowerCase().endsWith(type.toLowerCase())) {\n return { isValid: true };\n }\n }\n // Handle specific MIME types\n else if (file.type === type || file.type === `application/${type}`) {\n return { isValid: true };\n }\n }\n\n return {\n isValid: false,\n error:\n this.#_componentLocale?.errors?.invalidFileType || \"Invalid file type\"\n };\n }\n\n /** Filters valid files from a FileList */\n #getValidFiles(files: FileList): File[] {\n const validFiles: File[] = [];\n\n Array.from(files).forEach(file => {\n const validation = this.#isValidFile(file);\n if (validation.isValid) {\n validFiles.push(file);\n } else {\n this.fileValidationErrorCallback?.({\n fileName: file.name,\n error: validation.error\n });\n }\n });\n\n return validFiles;\n }\n\n /** Handles drag enter event */\n #handleDragEnter = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n this.#dragCounter++;\n this.isDragging = true;\n };\n\n /** Handles drag leave event */\n #handleDragLeave = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n this.#dragCounter--;\n if (this.#dragCounter === 0) {\n this.isDragging = false;\n }\n };\n\n /** Handles drag over event */\n #handleDragOver = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n };\n\n /** Handles drop event */\n #handleDrop = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n this.isDragging = false;\n this.#dragCounter = 0;\n\n const files = e.dataTransfer?.files;\n if (files) {\n this.#handleFiles(files);\n }\n };\n\n /** Triggers file input click */\n #handleFileSelect = () => {\n this.#fileInputEl?.click();\n };\n\n /** Handles file input change event */\n #handleFileInput = (e: Event) => {\n const files = (e.target as HTMLInputElement).files;\n if (files) {\n this.#handleFiles(files);\n }\n };\n\n /** Processes files and starts upload */\n #handleFiles = (files: FileList) => {\n const validFiles: File[] = this.#getValidFiles(files);\n\n validFiles.forEach(async file => {\n const id = this.#generateId();\n const fileState: FileUploadState = {\n id,\n name: file.name,\n file,\n pending: true,\n progress: 0\n };\n\n if (!this.multiple) {\n this.fileStates.clear();\n }\n\n this.fileStates = new Map(this.fileStates.set(id, fileState));\n\n if (this.uploadFunction) {\n try {\n const uploadPromise = this.uploadFunction(file, progress => {\n const state = this.fileStates.get(id);\n if (state) {\n const updatedState = {\n ...state,\n progress: progress,\n pending: progress < 100\n };\n this.fileStates = new Map(this.fileStates.set(id, updatedState));\n }\n });\n\n // Store the upload promise/object for potential cancellation\n const stateWithPromise = {\n ...this.fileStates.get(id),\n uploadPromise\n };\n this.fileStates = new Map(this.fileStates.set(id, stateWithPromise));\n\n const result = await uploadPromise;\n console.log(\"Upload result:\", { id, result });\n\n const state = this.fileStates.get(id);\n if (state) {\n if (result.success && result.remoteId) {\n const updatedState = {\n ...state,\n remoteId: result.remoteId,\n pending: false,\n progress: 100\n };\n this.fileStates = new Map(this.fileStates.set(id, updatedState));\n console.log(\"File uploaded successfully:\", updatedState);\n await this.fileUploadedCallback?.({\n name: state.name,\n originalName: state.file.name,\n remoteId: result.remoteId\n });\n } else {\n const updatedState = {\n ...state,\n error: result.errors?.upload || \"Upload failed\",\n pending: false\n };\n this.fileStates = new Map(this.fileStates.set(id, updatedState));\n console.log(\"File upload failed:\", updatedState);\n }\n }\n } catch (error) {\n const state = this.fileStates.get(id);\n if (state) {\n const updatedState = {\n ...state,\n error:\n error instanceof Error\n ? error.message\n : \"Unknown error occurred\",\n pending: false\n };\n this.fileStates = new Map(this.fileStates.set(id, updatedState));\n console.log(\"File upload error:\", updatedState);\n }\n }\n }\n });\n\n if (this.#fileInputEl) {\n this.#fileInputEl.value = \"\";\n }\n };\n\n /** Handles file name change */\n #handleNameChange = async (\n event: CustomEvent<{ id: string; name: string }>\n ) => {\n const { id, name } = event.detail;\n const file = this.fileStates.get(id);\n\n if (file) {\n const updatedFile = {\n ...file,\n name: name.trim(),\n isEditing: false\n };\n\n this.fileStates = new Map(this.fileStates.set(id, updatedFile));\n await this.fileRenamedCallback?.({ fileId: id, newName: name.trim() });\n }\n };\n\n /** Handles individual file cancellation or deletion */\n #handleFileCancel = async (event: CustomEvent<string>) => {\n const id = event.detail;\n const state = this.fileStates.get(id);\n if (state) {\n try {\n if (state.pending) {\n // Cancel upload in progress\n if (\n state.uploadPromise &&\n typeof state.uploadPromise.cancel === \"function\"\n ) {\n state.uploadPromise.cancel();\n } else if (this.cancelUploadFunction) {\n await this.cancelUploadFunction(id);\n }\n\n await this.uploadCancelledCallback?.(id);\n\n this.fileStates.delete(id);\n this.fileStates = new Map(this.fileStates);\n } else {\n const fileToDelete: UploadedFile = {\n name: state.name,\n originalName: state.file.name,\n remoteId: state.remoteId\n };\n\n const shouldDelete = await this.onBeforeDelete?.(fileToDelete);\n\n if (shouldDelete) {\n await this.fileDeletedCallback?.(fileToDelete);\n this.fileStates.delete(id);\n this.fileStates = new Map(this.fileStates);\n }\n }\n } catch (error) {\n await this.fileDeletionErrorCallback?.({\n fileName: state.name,\n error:\n error instanceof Error ? error.message : \"Unknown error occurred\"\n });\n }\n }\n };\n\n /** Handles dialog confirmation */\n #handleConfirm = async () => {\n // Verificar si hay subidas en progreso\n const hasPendingUploads = Array.from(this.fileStates.values()).some(\n file => file.pending\n );\n\n if (hasPendingUploads) {\n return; // No permitir confirmar si hay subidas en progreso\n }\n\n // Obtener todos los archivos que están completamente subidos\n const uploadedFiles: UploadedFile[] = Array.from(this.fileStates.values())\n .filter(file => {\n const isValid = !file.pending && file.remoteId && !file.error;\n console.log(\"File validation:\", {\n id: file.id,\n name: file.name,\n pending: file.pending,\n remoteId: file.remoteId,\n error: file.error,\n isValid\n });\n return isValid;\n })\n .map(file => ({\n name: file.name,\n originalName: file.file.name,\n remoteId: file.remoteId as string\n }));\n\n console.log(\"Files to be confirmed:\", uploadedFiles);\n\n if (uploadedFiles.length > 0) {\n await this.dialogConfirmedCallback?.(uploadedFiles);\n }\n\n // Clear file states\n this.fileStates.clear();\n this.fileStates = new Map();\n\n // Reset file input\n if (this.#fileInputEl) {\n this.#fileInputEl.value = \"\";\n }\n };\n\n /** Handles dialog cancellation */\n #handleCancel = async () => {\n try {\n // Cancelamos todas las subidas en progreso\n for (const [id, state] of this.fileStates.entries()) {\n if (state.pending && this.cancelUploadFunction) {\n try {\n await this.cancelUploadFunction(id);\n await this.uploadCancelledCallback?.(id);\n } catch (error) {\n // Error handling for upload cancellation\n }\n }\n }\n\n // Limpiamos todos los estados\n this.fileStates.clear();\n this.fileStates = new Map();\n\n if (this.#fileInputEl) {\n this.#fileInputEl.value = \"\";\n }\n\n await this.dialogCanceledCallback?.();\n } catch (error) {\n this.fileStates.clear();\n this.fileStates = new Map();\n await this.dialogCanceledCallback?.();\n }\n };\n\n /** Clears the current file selection */\n @Method()\n async clear() {\n for (const [id, state] of this.fileStates.entries()) {\n if (state.pending && this.cancelUploadFunction) {\n try {\n await this.cancelUploadFunction(id);\n await this.uploadCancelledCallback?.(id);\n } catch (error) {\n // Error handling for upload cancellation\n }\n }\n }\n this.fileStates.clear();\n }\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <input\n type=\"file\"\n class=\"hidden-input\"\n multiple={this.multiple}\n accept={this.types\n ?.map(type => (type.startsWith(\".\") ? type : `.${type}`))\n .join(\",\")}\n onChange={this.#handleFileInput}\n ref={el => (this.#fileInputEl = el as HTMLInputElement)}\n aria-hidden=\"true\"\n tabIndex={-1}\n style={{ display: \"none\" }}\n />\n <div class=\"file-uploader-dialog\">\n <div class=\"dialog-content\">\n {this.isDragging || this.fileStates.size === 0 ? (\n <div\n class={{\n \"file-uploader__drop-zone\": true,\n \"file-uploader__drop-zone--dragging\": this.isDragging\n }}\n onDragEnter={this.#handleDragEnter}\n onDragLeave={this.#handleDragLeave}\n onDragOver={this.#handleDragOver}\n onDrop={this.#handleDrop}\n >\n <button\n class=\"button-tertiary button-icon-and-text\"\n type=\"button\"\n onClick={this.#handleFileSelect}\n >\n <ch-image class=\"icon-md\" src={PLUS_ICON}></ch-image>\n <label class=\"label\">\n {this.multiple\n ? this.#_componentLocale?.header.uploadButtonMultiple\n : this.#_componentLocale?.header.uploadButtonSingle}\n </label>\n </button>\n <div class=\"text-container\">\n <div class=\"label-primary-row\">\n <label class=\"label\">\n {this.label || this.#_componentLocale?.header.orText}\n </label>\n <label class=\"label\">\n {this.#_componentLocale?.header.dragAndDrop}\n </label>\n </div>\n <span class=\"caption\">\n {this.types && this.types.length > 0\n ? this.#_componentLocale?.header.acceptedFiles.replace(\n \"{0}\",\n this.types.join(\", \")\n )\n : this.#_componentLocale?.header.allFilesAccepted}\n </span>\n </div>\n </div>\n ) : (\n <div class=\"file-uploader__list\">\n <div class=\"file-uploader__list-header spacing-body-block-end\">\n <div class=\"file-uploader__list-title-container\">\n <label class=\"label\">\n {this.label ||\n this.#_componentLocale?.fileList.attachedFiles}\n </label>\n <span class=\"caption\">\n {this.#_componentLocale?.fileList.filesCount.replace(\n \"{0}\",\n this.fileStates.size.toString()\n )}\n </span>\n </div>\n {this.multiple && (\n <button\n class=\"button-tertiary button-icon-and-text\"\n type=\"button\"\n onClick={this.#handleFileSelect}\n >\n <ch-image class=\"icon-md\" src={PLUS_ICON}></ch-image>\n <label class=\"label\">\n {this.multiple\n ? this.#_componentLocale?.header.uploadButtonMultiple\n : this.#_componentLocale?.header.uploadButtonSingle}\n </label>\n </button>\n )}\n </div>\n <div class=\"file-uploader__list-content scrollable\">\n {Array.from(this.fileStates.values()).map(file => (\n <gx-ide-file-item\n key={file.id}\n file={file}\n editable={this.canEditName}\n onFileNameChange={this.#handleNameChange}\n onFileDelete={this.#handleFileCancel}\n onFileCancel={this.#handleFileCancel}\n />\n ))}\n </div>\n </div>\n )}\n </div>\n <div class=\"dialog-footer control-footer control-footer-with-border\">\n <div class=\"buttons-spacer\">\n <button\n class=\"button-secondary\"\n type=\"button\"\n onClick={this.#handleCancel}\n >\n {this.#_componentLocale?.buttons.cancel}\n </button>\n <button\n class=\"button-primary\"\n type=\"button\"\n onClick={this.#handleConfirm}\n disabled={\n this.fileStates.size === 0 ||\n Array.from(this.fileStates.values()).some(\n file => file.pending\n )\n }\n >\n {this.#_componentLocale?.buttons.confirm}\n </button>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"gx-ide-file-uploader.entry.js","mappings":"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","names":[],"sources":["src/components/file-uploader/file-uploader.scss?tag=gx-ide-file-uploader&encapsulation=shadow","src/components/file-uploader/file-uploader.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n@import \"../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n\n:host {\n display: block;\n inline-size: 100%;\n block-size: 100%;\n padding-inline-end: 0 !important;\n}\n\n.file-uploader-dialog {\n display: flex;\n flex-direction: column;\n block-size: 100%;\n background-color: var(--mer-surface__background);\n position: relative;\n\n .dialog-content {\n flex: 1;\n min-block-size: 0;\n overflow: auto;\n }\n\n .dialog-footer {\n padding-inline-end: var(--spacing-body-inline-end);\n }\n}\n\n.file-uploader {\n display: flex;\n flex-direction: column;\n inline-size: 100%;\n block-size: 100%;\n\n &__list {\n display: flex;\n flex-direction: column;\n inline-size: 100%;\n block-size: 100%;\n\n &-header {\n position: sticky;\n top: 0;\n z-index: 1;\n background-color: var(--mer-surface__elevation--01);\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding-inline-end: var(--spacing-body-inline-end);\n }\n\n &-content {\n flex: 1;\n overflow-y: auto;\n display: flex;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n padding-inline-end: var(--spacing-body-inline-end);\n padding-block-end: var(--mer-spacing--md);\n }\n }\n\n &__list-title-container {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--2xs);\n white-space: nowrap;\n }\n\n &__drop-zone {\n display: flex;\n flex-direction: column;\n align-items: center;\n justify-content: center;\n inline-size: calc(100% - var(--spacing-body-inline-end));\n block-size: calc(100% - var(--mer-spacing--sm));\n min-block-size: 200px;\n margin-block-end: var(--mer-spacing--sm);\n background: var(--mer-surface__elevation--01);\n border: var(--mer-border__width--md) dashed var(--mer-border-color__dim);\n border-radius: var(--mer-border__radius--md);\n transition: border-color 0.3s ease, background-color 0.3s ease,\n opacity 0.3s ease;\n\n &--dragging {\n border-color: var(--mer-accent__primary);\n background: var(--mer-accent__primary--hover);\n opacity: 0.7;\n }\n\n .text-container {\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--mer-spacing--2xs);\n margin-block-start: var(--mer-spacing--xs);\n }\n }\n}\n\n.hidden-input {\n display: none;\n}\n\n.label-primary-row {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--xs);\n}\n","/* eslint-disable @stencil-community/own-methods-must-be-private */\n/* eslint-disable @stencil-community/own-props-must-be-private */\n/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Method\n} from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\nimport { UploadedFile, FileUploadState, UploadResult } from \"./types\";\n\nconst PLUS_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"add\",\n colorType: \"primary\"\n});\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/icon\",\n \"components/list-box\",\n \"components/edit\",\n \"utils/typography\",\n \"utils/spacing\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/elevation\",\n \"chameleon/scrollbar\"\n];\n\ntype FileValidationResult = {\n isValid: boolean;\n error?: string;\n};\n\n@Component({\n tag: \"gx-ide-file-uploader\",\n styleUrl: \"file-uploader.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/file-uploader\"]\n})\nexport class FileUploader {\n #_componentLocale: any;\n #fileInputEl!: HTMLInputElement;\n\n @Element() el!: HTMLGxIdeFileUploaderElement;\n\n /** Allowed file types/extensions (e.g. ['.jpg', '.png', 'image/*', 'application/pdf']) */\n @Prop() readonly types?: string[] = [];\n\n /** Whether multiple files can be selected */\n @Prop() readonly multiple: boolean = false;\n\n /** Whether file names can be edited */\n @Prop() readonly canEditName: boolean = false;\n\n /** Label to display in the uploader dialog */\n @Prop() readonly label?: string;\n\n /** Function to handle file upload */\n @Prop() readonly uploadFunction!: (\n file: File,\n progressCallback: (progress: number) => void\n ) => Promise<UploadResult>;\n\n /** Function to cancel file upload */\n @Prop() readonly cancelUploadFunction?: (fileId: string) => Promise<void>;\n\n /** Callback when a file is uploaded successfully */\n @Prop() readonly fileUploadedCallback?: (file: UploadedFile) => Promise<void>;\n\n /** Callback when the dialog is canceled */\n @Prop() readonly dialogCanceledCallback?: () => Promise<void>;\n\n /** Callback when the dialog is confirmed with files */\n @Prop() readonly dialogConfirmedCallback?: (\n files: UploadedFile[]\n ) => Promise<void>;\n\n /** Callback when upload is cancelled */\n @Prop() readonly uploadCancelledCallback?: (fileId: string) => Promise<void>;\n\n /** Callback when file is renamed */\n @Prop() readonly fileRenamedCallback?: (data: {\n fileId: string;\n newName: string;\n }) => Promise<void>;\n\n /** Callback when a file validation error occurs */\n @Prop() readonly fileValidationErrorCallback?: (data: {\n fileName: string;\n error: string;\n }) => Promise<void>;\n\n /** Callback when a file deletion error occurs */\n @Prop() readonly fileDeletionErrorCallback?: (data: {\n fileName: string;\n error: string;\n }) => Promise<void>;\n\n /** Callback when a file is deleted */\n @Prop() readonly fileDeletedCallback?: (file: UploadedFile) => Promise<void>;\n\n /** Callback before deleting a file to get confirmation */\n @Prop() readonly onBeforeDelete?: (file: UploadedFile) => Promise<boolean>;\n\n @State() private fileStates: Map<string, FileUploadState> = new Map();\n @State() private isDragging: boolean = false;\n #dragCounter = 0;\n\n /** Initializes component with locale strings */\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n /** Generates a unique ID for file identification */\n #generateId = (): string => {\n return Math.random().toString(36).substr(2, 9);\n };\n\n /** Validates if a file matches the allowed types */\n #isValidFile(file: File): FileValidationResult {\n // If no types specified, accept any file\n if (!this.types || this.types.length === 0) {\n return { isValid: true };\n }\n\n for (const type of this.types) {\n // Handle wildcards like 'image/*'\n if (type.includes(\"/*\")) {\n const baseType = type.split(\"/\")[0];\n if (file.type.startsWith(baseType)) {\n return { isValid: true };\n }\n }\n // Handle extensions like '.jpg'\n else if (type.startsWith(\".\")) {\n if (file.name.toLowerCase().endsWith(type.toLowerCase())) {\n return { isValid: true };\n }\n }\n // Handle specific MIME types\n else if (file.type === type || file.type === `application/${type}`) {\n return { isValid: true };\n }\n }\n\n return {\n isValid: false,\n error:\n this.#_componentLocale?.errors?.invalidFileType || \"Invalid file type\"\n };\n }\n\n /** Filters valid files from a FileList */\n #getValidFiles(files: FileList): File[] {\n const validFiles: File[] = [];\n\n Array.from(files).forEach(file => {\n const validation = this.#isValidFile(file);\n if (validation.isValid) {\n validFiles.push(file);\n } else {\n this.fileValidationErrorCallback?.({\n fileName: file.name,\n error: validation.error\n });\n }\n });\n\n return validFiles;\n }\n\n /** Handles drag enter event */\n #handleDragEnter = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n this.#dragCounter++;\n this.isDragging = true;\n };\n\n /** Handles drag leave event */\n #handleDragLeave = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n this.#dragCounter--;\n if (this.#dragCounter === 0) {\n this.isDragging = false;\n }\n };\n\n /** Handles drag over event */\n #handleDragOver = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n };\n\n /** Handles drop event */\n #handleDrop = (e: DragEvent) => {\n e.preventDefault();\n e.stopPropagation();\n this.isDragging = false;\n this.#dragCounter = 0;\n\n const files = e.dataTransfer?.files;\n if (files) {\n this.#handleFiles(files);\n }\n };\n\n /** Triggers file input click */\n #handleFileSelect = () => {\n this.#fileInputEl?.click();\n };\n\n /** Handles file input change event */\n #handleFileInput = (e: Event) => {\n const files = (e.target as HTMLInputElement).files;\n if (files) {\n this.#handleFiles(files);\n }\n };\n\n /** Processes files and starts upload */\n #handleFiles = (files: FileList) => {\n const validFiles: File[] = this.#getValidFiles(files);\n\n validFiles.forEach(async file => {\n const id = this.#generateId();\n const fileState: FileUploadState = {\n id,\n name: file.name,\n file,\n pending: true,\n progress: 0\n };\n\n if (!this.multiple) {\n this.fileStates.clear();\n }\n\n this.fileStates = new Map(this.fileStates.set(id, fileState));\n\n if (this.uploadFunction) {\n try {\n const uploadPromise = this.uploadFunction(file, progress => {\n const state = this.fileStates.get(id);\n if (state) {\n const updatedState = {\n ...state,\n progress: progress,\n pending: progress < 100\n };\n this.fileStates = new Map(this.fileStates.set(id, updatedState));\n }\n });\n\n // Store the upload promise/object for potential cancellation\n const stateWithPromise = {\n ...this.fileStates.get(id),\n uploadPromise\n };\n this.fileStates = new Map(this.fileStates.set(id, stateWithPromise));\n\n const result = await uploadPromise;\n console.log(\"Upload result:\", { id, result });\n\n const state = this.fileStates.get(id);\n if (state) {\n if (result.success && result.remoteId) {\n const updatedState = {\n ...state,\n remoteId: result.remoteId,\n pending: false,\n progress: 100\n };\n this.fileStates = new Map(this.fileStates.set(id, updatedState));\n console.log(\"File uploaded successfully:\", updatedState);\n await this.fileUploadedCallback?.({\n name: state.name,\n originalName: state.file.name,\n remoteId: result.remoteId\n });\n } else {\n const updatedState = {\n ...state,\n error: result.errors?.upload || \"Upload failed\",\n pending: false\n };\n this.fileStates = new Map(this.fileStates.set(id, updatedState));\n console.log(\"File upload failed:\", updatedState);\n }\n }\n } catch (error) {\n const state = this.fileStates.get(id);\n if (state) {\n const updatedState = {\n ...state,\n error:\n error instanceof Error\n ? error.message\n : \"Unknown error occurred\",\n pending: false\n };\n this.fileStates = new Map(this.fileStates.set(id, updatedState));\n console.log(\"File upload error:\", updatedState);\n }\n }\n }\n });\n\n if (this.#fileInputEl) {\n this.#fileInputEl.value = \"\";\n }\n };\n\n /** Handles file name change */\n #handleNameChange = async (\n event: CustomEvent<{ id: string; name: string }>\n ) => {\n const { id, name } = event.detail;\n const file = this.fileStates.get(id);\n\n if (file) {\n const updatedFile = {\n ...file,\n name: name.trim(),\n isEditing: false\n };\n\n this.fileStates = new Map(this.fileStates.set(id, updatedFile));\n await this.fileRenamedCallback?.({ fileId: id, newName: name.trim() });\n }\n };\n\n /** Handles individual file cancellation or deletion */\n #handleFileCancel = async (event: CustomEvent<string>) => {\n const id = event.detail;\n const state = this.fileStates.get(id);\n if (state) {\n try {\n if (state.pending) {\n // Cancel upload in progress\n if (\n state.uploadPromise &&\n typeof state.uploadPromise.cancel === \"function\"\n ) {\n state.uploadPromise.cancel();\n } else if (this.cancelUploadFunction) {\n await this.cancelUploadFunction(id);\n }\n\n await this.uploadCancelledCallback?.(id);\n\n this.fileStates.delete(id);\n this.fileStates = new Map(this.fileStates);\n } else {\n const fileToDelete: UploadedFile = {\n name: state.name,\n originalName: state.file.name,\n remoteId: state.remoteId\n };\n\n const shouldDelete = await this.onBeforeDelete?.(fileToDelete);\n\n if (shouldDelete) {\n await this.fileDeletedCallback?.(fileToDelete);\n this.fileStates.delete(id);\n this.fileStates = new Map(this.fileStates);\n }\n }\n } catch (error) {\n await this.fileDeletionErrorCallback?.({\n fileName: state.name,\n error:\n error instanceof Error ? error.message : \"Unknown error occurred\"\n });\n }\n }\n };\n\n /** Handles dialog confirmation */\n #handleConfirm = async () => {\n // Verificar si hay subidas en progreso\n const hasPendingUploads = Array.from(this.fileStates.values()).some(\n file => file.pending\n );\n\n if (hasPendingUploads) {\n return; // No permitir confirmar si hay subidas en progreso\n }\n\n // Obtener todos los archivos que están completamente subidos\n const uploadedFiles: UploadedFile[] = Array.from(this.fileStates.values())\n .filter(file => {\n const isValid = !file.pending && file.remoteId && !file.error;\n console.log(\"File validation:\", {\n id: file.id,\n name: file.name,\n pending: file.pending,\n remoteId: file.remoteId,\n error: file.error,\n isValid\n });\n return isValid;\n })\n .map(file => ({\n name: file.name,\n originalName: file.file.name,\n remoteId: file.remoteId as string\n }));\n\n console.log(\"Files to be confirmed:\", uploadedFiles);\n\n if (uploadedFiles.length > 0) {\n await this.dialogConfirmedCallback?.(uploadedFiles);\n }\n\n // Clear file states\n this.fileStates.clear();\n this.fileStates = new Map();\n\n // Reset file input\n if (this.#fileInputEl) {\n this.#fileInputEl.value = \"\";\n }\n };\n\n /** Handles dialog cancellation */\n #handleCancel = async () => {\n try {\n // Cancelamos todas las subidas en progreso\n for (const [id, state] of this.fileStates.entries()) {\n if (state.pending && this.cancelUploadFunction) {\n try {\n await this.cancelUploadFunction(id);\n await this.uploadCancelledCallback?.(id);\n } catch (error) {\n // Error handling for upload cancellation\n }\n }\n }\n\n // Limpiamos todos los estados\n this.fileStates.clear();\n this.fileStates = new Map();\n\n if (this.#fileInputEl) {\n this.#fileInputEl.value = \"\";\n }\n\n await this.dialogCanceledCallback?.();\n } catch (error) {\n this.fileStates.clear();\n this.fileStates = new Map();\n await this.dialogCanceledCallback?.();\n }\n };\n\n /** Clears the current file selection */\n @Method()\n async clear() {\n for (const [id, state] of this.fileStates.entries()) {\n if (state.pending && this.cancelUploadFunction) {\n try {\n await this.cancelUploadFunction(id);\n await this.uploadCancelledCallback?.(id);\n } catch (error) {\n // Error handling for upload cancellation\n }\n }\n }\n this.fileStates.clear();\n }\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <input\n type=\"file\"\n class=\"hidden-input\"\n multiple={this.multiple}\n accept={this.types\n ?.map(type => (type.startsWith(\".\") ? type : `.${type}`))\n .join(\",\")}\n onChange={this.#handleFileInput}\n ref={el => (this.#fileInputEl = el as HTMLInputElement)}\n aria-hidden=\"true\"\n tabIndex={-1}\n style={{ display: \"none\" }}\n />\n <div class=\"file-uploader-dialog\">\n <div class=\"dialog-content\">\n {this.isDragging || this.fileStates.size === 0 ? (\n <div\n class={{\n \"file-uploader__drop-zone\": true,\n \"file-uploader__drop-zone--dragging\": this.isDragging\n }}\n onDragEnter={this.#handleDragEnter}\n onDragLeave={this.#handleDragLeave}\n onDragOver={this.#handleDragOver}\n onDrop={this.#handleDrop}\n >\n <button\n class=\"button-tertiary button-icon-and-text\"\n type=\"button\"\n onClick={this.#handleFileSelect}\n >\n <ch-image class=\"icon-md\" src={PLUS_ICON}></ch-image>\n <label class=\"label\">\n {this.multiple\n ? this.#_componentLocale?.header.uploadButtonMultiple\n : this.#_componentLocale?.header.uploadButtonSingle}\n </label>\n </button>\n <div class=\"text-container\">\n <div class=\"label-primary-row\">\n <label class=\"label\">\n {this.label || this.#_componentLocale?.header.orText}\n </label>\n <label class=\"label\">\n {this.#_componentLocale?.header.dragAndDrop}\n </label>\n </div>\n <span class=\"caption\">\n {this.types && this.types.length > 0\n ? this.#_componentLocale?.header.acceptedFiles.replace(\n \"{0}\",\n this.types.join(\", \")\n )\n : this.#_componentLocale?.header.allFilesAccepted}\n </span>\n </div>\n </div>\n ) : (\n <div class=\"file-uploader__list\">\n <div class=\"file-uploader__list-header spacing-body-block-end\">\n <div class=\"file-uploader__list-title-container\">\n <label class=\"label\">\n {this.label ||\n this.#_componentLocale?.fileList.attachedFiles}\n </label>\n <span class=\"caption\">\n {this.#_componentLocale?.fileList.filesCount.replace(\n \"{0}\",\n this.fileStates.size.toString()\n )}\n </span>\n </div>\n {this.multiple && (\n <button\n class=\"button-tertiary button-icon-and-text\"\n type=\"button\"\n onClick={this.#handleFileSelect}\n >\n <ch-image class=\"icon-md\" src={PLUS_ICON}></ch-image>\n <label class=\"label\">\n {this.multiple\n ? this.#_componentLocale?.header.uploadButtonMultiple\n : this.#_componentLocale?.header.uploadButtonSingle}\n </label>\n </button>\n )}\n </div>\n <div class=\"file-uploader__list-content scrollable\">\n {Array.from(this.fileStates.values()).map(file => (\n <gx-ide-file-item\n key={file.id}\n file={file}\n editable={this.canEditName}\n onFileNameChange={this.#handleNameChange}\n onFileDelete={this.#handleFileCancel}\n onFileCancel={this.#handleFileCancel}\n />\n ))}\n </div>\n </div>\n )}\n </div>\n <div class=\"dialog-footer control-footer control-footer-with-border\">\n <div class=\"buttons-spacer\">\n <button\n class=\"button-secondary\"\n type=\"button\"\n onClick={this.#handleCancel}\n >\n {this.#_componentLocale?.buttons.cancel}\n </button>\n <button\n class=\"button-primary\"\n type=\"button\"\n onClick={this.#handleConfirm}\n disabled={\n this.fileStates.size === 0 ||\n Array.from(this.fileStates.values()).some(\n file => file.pending\n )\n }\n >\n {this.#_componentLocale?.buttons.confirm}\n </button>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, H as Host, a as getElement } from './index-10af18cf.js';
2
- import { L as Locale } from './locale-643afe17.js';
2
+ import { L as Locale } from './locale-e5107fad.js';
3
3
 
4
4
  const gamInstallationSettingsCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.pill-tag{padding:1px 4px;border-radius:2px;min-inline-size:40px;text-align:center;margin-inline-end:10px;font-size:11px}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}:host{display:grid;grid-template-rows:max-content 1fr max-content;height:100%}.control-header{margin-block-end:var(--mer-spacing--md)}.main-content{grid-auto-rows:max-content}.footer-info{margin-bottom:var(--mer-spacing--sm)}.description{display:grid;grid-auto-rows:max-content;gap:8px}";
5
5
 
@@ -56,7 +56,8 @@ const GxIdeGamInstallationSettings = class {
56
56
  }
57
57
  });
58
58
  _GxIdeGamInstallationSettings_renderFilters.set(this, () => {
59
- return (h("div", { class: "field-group", role: "region", "aria-label": __classPrivateFieldGet(this, _GxIdeGamInstallationSettings__componentLocale, "f").filters.filtersHeading }, h("h5", { class: "subtitle-regular-s margin-block-end-s" }, __classPrivateFieldGet(this, _GxIdeGamInstallationSettings__componentLocale, "f").filters.filtersHeading), h("div", { class: "filters__wrapper" }, h("div", { class: "field-group", role: "group", "aria-labelledby": "frontend-objects-label" }, h("div", { class: "field field-block" }, h("label", { id: "frontend-objects-label", class: "label" }, __classPrivateFieldGet(this, _GxIdeGamInstallationSettings__componentLocale, "f").filters.frontEndObjects), h("div", { class: "field-group-inline" }, h("ch-checkbox", { class: "checkbox", checkedValue: "webPanels", value: this.defaultConfiguration?.importWebPanels
59
+ var _a;
60
+ return (h("div", { class: "field-group", role: "region", "aria-label": __classPrivateFieldGet(this, _GxIdeGamInstallationSettings__componentLocale, "f").filters.filtersHeading }, h("h5", { class: "subtitle-regular-s margin-block-end-s" }, __classPrivateFieldGet(this, _GxIdeGamInstallationSettings__componentLocale, "f").filters.filtersHeading), h("div", { class: "filters__wrapper" }, h("div", { class: "field-group", role: "group", "aria-labelledby": "frontend-objects-label" }, h("div", { class: "field field-block" }, h("label", { id: "frontend-objects-label", class: "label" }, __classPrivateFieldGet(this, _GxIdeGamInstallationSettings__componentLocale, "f").filters.frontEndObjects), h("div", { class: "field-group-inline" }, h("ch-checkbox", { class: "checkbox", checkedValue: "webPanels", value: ((_a = this.defaultConfiguration) === null || _a === void 0 ? void 0 : _a.importWebPanels)
60
61
  ? "webPanels"
61
62
  : undefined, caption: __classPrivateFieldGet(this, _GxIdeGamInstallationSettings__componentLocale, "f").filters.webPanelsCheckbox, ref: (el) => (__classPrivateFieldSet(this, _GxIdeGamInstallationSettings_webPanelsCheckboxEl, el, "f")), part: "web-panels-checkbox" }), h("ch-checkbox", { class: "checkbox", checkedValue: "panels", value: this.defaultConfiguration.importPanels &&
62
63
  this.canSelectPanels
@@ -1 +1 @@
1
- {"file":"gx-ide-gam-installation-settings.entry.js","mappings":"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","names":[],"sources":["src/components/gam-installation-settings/gam-installation-settings.scss?tag=gx-ide-gam-installation-settings&encapsulation=shadow","src/components/gam-installation-settings/gam-installation-settings.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: grid;\n grid-template-rows: max-content 1fr max-content;\n height: 100%;\n}\n\n.control-header {\n margin-block-end: var(--mer-spacing--md);\n}\n\n.main-content {\n grid-auto-rows: max-content;\n}\n\n.footer-info {\n margin-bottom: var(--mer-spacing--sm);\n}\n\n.description {\n display: grid;\n grid-auto-rows: max-content;\n gap: 8px;\n}\n","/* eslint-disable @stencil-community/own-props-must-be-private */\n/* STENCIL IMPORTS */\nimport { Component, Host, h, Prop, Element } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/checkbox\",\n \"components/combo-box\",\n \"components/edit\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\"\n];\n@Component({\n tag: \"gx-ide-gam-installation-settings\",\n styleUrl: \"gam-installation-settings.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/gam-installation-settings\"]\n})\nexport class GxIdeGamInstallationSettings {\n /**\n * The component hard-coded strings translations.\n */\n #_componentLocale: any;\n\n @Element() el: HTMLGxIdeGamInstallationSettingsElement;\n\n #futureUpgradesComboEl!: HTMLChComboBoxRenderElement;\n #panelsCheckboxEl!: HTMLChCheckboxElement;\n #webPanelsCheckboxEl!: HTMLChCheckboxElement;\n\n /**\n * Callback invoked when the user wants to cancel the exportation process\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Determines 'Panels' checkbox activation, enabled only if an SD generator is in the KB.\n * Otherwise, the checkbox is disabled.\n */\n @Prop() readonly canSelectPanels: boolean = false;\n\n /**\n * Specifies the configuration type to be used\n */\n @Prop() readonly configurationType: \"installation\" | \"update\" =\n \"installation\";\n\n /**\n * Defines default config for initializing the dialog with stored gam config data\n */\n @Prop() readonly defaultConfiguration: GamConfigData | undefined = {\n importWebPanels: true,\n importPanels: false,\n futureUpgrades: \"prompt\"\n };\n\n /**\n * Callback invoked when the user press repair button\n */\n @Prop() readonly repairCallback: RepairCallback;\n\n /**\n * Callback invoked when the user initiates the export process\n */\n @Prop() readonly saveCallback: SaveCallback;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n #cancelCallbackHandler = () => {\n this.cancelCallback();\n };\n\n #repairCallbackHandler = async () => {\n if (this.saveCallback) {\n const data: GamConfigData = {\n importWebPanels: !!this.#webPanelsCheckboxEl.value,\n importPanels: !!this.#panelsCheckboxEl.value,\n futureUpgrades: this.#futureUpgradesComboEl.value\n ? (this.#futureUpgradesComboEl.value as ComboValues)\n : null\n };\n await this.repairCallback(data);\n }\n };\n\n #renderFilters = () => {\n return (\n <div\n class=\"field-group\"\n role=\"region\"\n aria-label={this.#_componentLocale.filters.filtersHeading}\n >\n <h5 class=\"subtitle-regular-s margin-block-end-s\">\n {this.#_componentLocale.filters.filtersHeading}\n </h5>\n\n <div class=\"filters__wrapper\">\n <div\n class=\"field-group\"\n role=\"group\"\n aria-labelledby=\"frontend-objects-label\"\n >\n <div class=\"field field-block\">\n <label id=\"frontend-objects-label\" class=\"label\">\n {this.#_componentLocale.filters.frontEndObjects}\n </label>\n\n <div class=\"field-group-inline\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue=\"webPanels\"\n value={\n this.defaultConfiguration?.importWebPanels\n ? \"webPanels\"\n : undefined\n }\n caption={this.#_componentLocale.filters.webPanelsCheckbox}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#webPanelsCheckboxEl = el as HTMLChCheckboxElement)\n }\n part=\"web-panels-checkbox\"\n ></ch-checkbox>\n\n <ch-checkbox\n class=\"checkbox\"\n checkedValue=\"panels\"\n value={\n this.defaultConfiguration.importPanels &&\n this.canSelectPanels\n ? \"panels\"\n : undefined\n }\n caption={this.#_componentLocale.filters.panelsCheckbox}\n disabled={!this.canSelectPanels}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#panelsCheckboxEl = el as HTMLChCheckboxElement)\n }\n part=\"panels-checkbox\"\n ></ch-checkbox>\n </div>\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"future-upgrades-combo\">\n {this.#_componentLocale.filters.futureUpgradesComboLabel}\n </label>\n <ch-combo-box-render\n id=\"future-upgrades-combo\"\n class=\"combo-box\"\n value={this.defaultConfiguration.futureUpgrades}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#futureUpgradesComboEl =\n el as HTMLChComboBoxRenderElement)\n }\n model={[\n {\n value: \"automatic\",\n caption:\n this.#_componentLocale.manageFutureUpgrades\n .installAutomatically\n },\n {\n value: \"prompt\",\n caption:\n this.#_componentLocale.manageFutureUpgrades.promptMe\n },\n {\n value: \"never\",\n caption:\n this.#_componentLocale.manageFutureUpgrades.neverUpdate\n }\n ]}\n part=\"future-upgrades-combo\"\n ></ch-combo-box-render>\n </div>\n </div>\n </div>\n </div>\n );\n };\n\n #renderDescription = () => {\n return (\n <div class=\"description\">\n {this.configurationType === \"installation\"\n ? [\n <p class=\"text-body\">\n {\n this.#_componentLocale.header.headerTextInstallation\n .firstSentence\n }\n </p>,\n <p class=\"text-body\">\n {\n this.#_componentLocale.header.headerTextInstallation\n .secondSentence\n }\n </p>,\n <p class=\"text-body\">\n {\n this.#_componentLocale.header.headerTextInstallation\n .thirdSentence\n }\n </p>\n ]\n : [\n <p class=\"text-body\">\n {this.#_componentLocale.header.headerTextUpdate.firstSentence}\n </p>,\n <p class=\"text-body\">\n {this.#_componentLocale.header.headerTextUpdate.secondSentence}\n </p>\n ]}\n {/* header text */}\n </div>\n );\n };\n\n #saveCallbackHandler = async () => {\n if (this.saveCallback) {\n const data: GamConfigData = {\n importWebPanels: !!this.#webPanelsCheckboxEl.value,\n importPanels: !!this.#panelsCheckboxEl.value,\n futureUpgrades: this.#futureUpgradesComboEl.value\n ? (this.#futureUpgradesComboEl.value as ComboValues)\n : null\n };\n await this.saveCallback(data);\n }\n };\n\n render() {\n return (\n <Host class=\"widget spacing-body\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <div class=\"control-header control-header-with-border\">\n {this.#renderDescription()}\n </div>\n <div class=\"main-content field-group\">{this.#renderFilters()}</div>\n\n <div class=\"footer\">\n {this.configurationType === \"update\" && (\n <div class=\"footer-info\">\n <p>Use Repair to import GAM components again</p>\n </div>\n )}\n\n <div class=\"control-footer-with-border control-footer-space-between\">\n {this.configurationType === \"update\" && (\n <button\n id=\"repair-button\"\n class=\"button-secondary\"\n onClick={this.#repairCallbackHandler}\n part=\"button button--repair\"\n >\n Repair\n </button>\n )}\n <div class=\"buttons-spacer\">\n <button\n id=\"cancel-button\"\n class=\"button-secondary\"\n onClick={this.#cancelCallbackHandler}\n part=\"button button--cancel\"\n >\n Cancel\n </button>\n <button\n id=\"confirm-button\"\n class=\"button-primary\"\n onClick={this.#saveCallbackHandler}\n part=\"button button--confirm\"\n >\n Save\n </button>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n\nexport type CancelCallback = () => Promise<void>;\ntype ComboValues = \"automatic\" | \"prompt\" | \"never\";\nexport type GamConfigData = {\n importWebPanels: boolean;\n importPanels: boolean;\n futureUpgrades: \"never\" | \"prompt\" | \"automatic\";\n};\n\nexport type RepairCallback = (config: GamConfigData) => Promise<void>;\nexport type SaveCallback = (data: GamConfigData) => Promise<void>;\n"],"version":3}
1
+ {"file":"gx-ide-gam-installation-settings.entry.js","mappings":"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","names":[],"sources":["src/components/gam-installation-settings/gam-installation-settings.scss?tag=gx-ide-gam-installation-settings&encapsulation=shadow","src/components/gam-installation-settings/gam-installation-settings.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: grid;\n grid-template-rows: max-content 1fr max-content;\n height: 100%;\n}\n\n.control-header {\n margin-block-end: var(--mer-spacing--md);\n}\n\n.main-content {\n grid-auto-rows: max-content;\n}\n\n.footer-info {\n margin-bottom: var(--mer-spacing--sm);\n}\n\n.description {\n display: grid;\n grid-auto-rows: max-content;\n gap: 8px;\n}\n","/* eslint-disable @stencil-community/own-props-must-be-private */\n/* STENCIL IMPORTS */\nimport { Component, Host, h, Prop, Element } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/checkbox\",\n \"components/combo-box\",\n \"components/edit\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\"\n];\n@Component({\n tag: \"gx-ide-gam-installation-settings\",\n styleUrl: \"gam-installation-settings.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/gam-installation-settings\"]\n})\nexport class GxIdeGamInstallationSettings {\n /**\n * The component hard-coded strings translations.\n */\n #_componentLocale: any;\n\n @Element() el: HTMLGxIdeGamInstallationSettingsElement;\n\n #futureUpgradesComboEl!: HTMLChComboBoxRenderElement;\n #panelsCheckboxEl!: HTMLChCheckboxElement;\n #webPanelsCheckboxEl!: HTMLChCheckboxElement;\n\n /**\n * Callback invoked when the user wants to cancel the exportation process\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Determines 'Panels' checkbox activation, enabled only if an SD generator is in the KB.\n * Otherwise, the checkbox is disabled.\n */\n @Prop() readonly canSelectPanels: boolean = false;\n\n /**\n * Specifies the configuration type to be used\n */\n @Prop() readonly configurationType: \"installation\" | \"update\" =\n \"installation\";\n\n /**\n * Defines default config for initializing the dialog with stored gam config data\n */\n @Prop() readonly defaultConfiguration: GamConfigData | undefined = {\n importWebPanels: true,\n importPanels: false,\n futureUpgrades: \"prompt\"\n };\n\n /**\n * Callback invoked when the user press repair button\n */\n @Prop() readonly repairCallback: RepairCallback;\n\n /**\n * Callback invoked when the user initiates the export process\n */\n @Prop() readonly saveCallback: SaveCallback;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n #cancelCallbackHandler = () => {\n this.cancelCallback();\n };\n\n #repairCallbackHandler = async () => {\n if (this.saveCallback) {\n const data: GamConfigData = {\n importWebPanels: !!this.#webPanelsCheckboxEl.value,\n importPanels: !!this.#panelsCheckboxEl.value,\n futureUpgrades: this.#futureUpgradesComboEl.value\n ? (this.#futureUpgradesComboEl.value as ComboValues)\n : null\n };\n await this.repairCallback(data);\n }\n };\n\n #renderFilters = () => {\n return (\n <div\n class=\"field-group\"\n role=\"region\"\n aria-label={this.#_componentLocale.filters.filtersHeading}\n >\n <h5 class=\"subtitle-regular-s margin-block-end-s\">\n {this.#_componentLocale.filters.filtersHeading}\n </h5>\n\n <div class=\"filters__wrapper\">\n <div\n class=\"field-group\"\n role=\"group\"\n aria-labelledby=\"frontend-objects-label\"\n >\n <div class=\"field field-block\">\n <label id=\"frontend-objects-label\" class=\"label\">\n {this.#_componentLocale.filters.frontEndObjects}\n </label>\n\n <div class=\"field-group-inline\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue=\"webPanels\"\n value={\n this.defaultConfiguration?.importWebPanels\n ? \"webPanels\"\n : undefined\n }\n caption={this.#_componentLocale.filters.webPanelsCheckbox}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#webPanelsCheckboxEl = el as HTMLChCheckboxElement)\n }\n part=\"web-panels-checkbox\"\n ></ch-checkbox>\n\n <ch-checkbox\n class=\"checkbox\"\n checkedValue=\"panels\"\n value={\n this.defaultConfiguration.importPanels &&\n this.canSelectPanels\n ? \"panels\"\n : undefined\n }\n caption={this.#_componentLocale.filters.panelsCheckbox}\n disabled={!this.canSelectPanels}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#panelsCheckboxEl = el as HTMLChCheckboxElement)\n }\n part=\"panels-checkbox\"\n ></ch-checkbox>\n </div>\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"future-upgrades-combo\">\n {this.#_componentLocale.filters.futureUpgradesComboLabel}\n </label>\n <ch-combo-box-render\n id=\"future-upgrades-combo\"\n class=\"combo-box\"\n value={this.defaultConfiguration.futureUpgrades}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#futureUpgradesComboEl =\n el as HTMLChComboBoxRenderElement)\n }\n model={[\n {\n value: \"automatic\",\n caption:\n this.#_componentLocale.manageFutureUpgrades\n .installAutomatically\n },\n {\n value: \"prompt\",\n caption:\n this.#_componentLocale.manageFutureUpgrades.promptMe\n },\n {\n value: \"never\",\n caption:\n this.#_componentLocale.manageFutureUpgrades.neverUpdate\n }\n ]}\n part=\"future-upgrades-combo\"\n ></ch-combo-box-render>\n </div>\n </div>\n </div>\n </div>\n );\n };\n\n #renderDescription = () => {\n return (\n <div class=\"description\">\n {this.configurationType === \"installation\"\n ? [\n <p class=\"text-body\">\n {\n this.#_componentLocale.header.headerTextInstallation\n .firstSentence\n }\n </p>,\n <p class=\"text-body\">\n {\n this.#_componentLocale.header.headerTextInstallation\n .secondSentence\n }\n </p>,\n <p class=\"text-body\">\n {\n this.#_componentLocale.header.headerTextInstallation\n .thirdSentence\n }\n </p>\n ]\n : [\n <p class=\"text-body\">\n {this.#_componentLocale.header.headerTextUpdate.firstSentence}\n </p>,\n <p class=\"text-body\">\n {this.#_componentLocale.header.headerTextUpdate.secondSentence}\n </p>\n ]}\n {/* header text */}\n </div>\n );\n };\n\n #saveCallbackHandler = async () => {\n if (this.saveCallback) {\n const data: GamConfigData = {\n importWebPanels: !!this.#webPanelsCheckboxEl.value,\n importPanels: !!this.#panelsCheckboxEl.value,\n futureUpgrades: this.#futureUpgradesComboEl.value\n ? (this.#futureUpgradesComboEl.value as ComboValues)\n : null\n };\n await this.saveCallback(data);\n }\n };\n\n render() {\n return (\n <Host class=\"widget spacing-body\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <div class=\"control-header control-header-with-border\">\n {this.#renderDescription()}\n </div>\n <div class=\"main-content field-group\">{this.#renderFilters()}</div>\n\n <div class=\"footer\">\n {this.configurationType === \"update\" && (\n <div class=\"footer-info\">\n <p>Use Repair to import GAM components again</p>\n </div>\n )}\n\n <div class=\"control-footer-with-border control-footer-space-between\">\n {this.configurationType === \"update\" && (\n <button\n id=\"repair-button\"\n class=\"button-secondary\"\n onClick={this.#repairCallbackHandler}\n part=\"button button--repair\"\n >\n Repair\n </button>\n )}\n <div class=\"buttons-spacer\">\n <button\n id=\"cancel-button\"\n class=\"button-secondary\"\n onClick={this.#cancelCallbackHandler}\n part=\"button button--cancel\"\n >\n Cancel\n </button>\n <button\n id=\"confirm-button\"\n class=\"button-primary\"\n onClick={this.#saveCallbackHandler}\n part=\"button button--confirm\"\n >\n Save\n </button>\n </div>\n </div>\n </div>\n </Host>\n );\n }\n}\n\nexport type CancelCallback = () => Promise<void>;\ntype ComboValues = \"automatic\" | \"prompt\" | \"never\";\nexport type GamConfigData = {\n importWebPanels: boolean;\n importPanels: boolean;\n futureUpgrades: \"never\" | \"prompt\" | \"automatic\";\n};\n\nexport type RepairCallback = (config: GamConfigData) => Promise<void>;\nexport type SaveCallback = (data: GamConfigData) => Promise<void>;\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, h, H as Host, a as getElement } from './index-10af18cf.js';
2
- import { L as Locale } from './locale-643afe17.js';
2
+ import { L as Locale } from './locale-e5107fad.js';
3
3
  import { g as getIconPath } from './MERCURY_ASSETS-039222dd.js';
4
4
 
5
5
  const KB_PROPERTY = "property";
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, a as getElement } from './index-10af18cf.js';
2
2
  import { g as getIconPath } from './MERCURY_ASSETS-039222dd.js';
3
- import { L as Locale } from './locale-643afe17.js';
3
+ import { L as Locale } from './locale-e5107fad.js';
4
4
 
5
5
  /* objects in file metadata*/
6
6
  const KB_OBJECT = "object";
@@ -191,7 +191,8 @@ const GxIdeKbManagerImport = class {
191
191
  this.statusInfo.success.number = 0;
192
192
  });
193
193
  _GxIdeKbManagerImport_evaluateImport.set(this, () => {
194
- this.noImport = !!(this.importTreeState?.length === 0 || !this.importTreeState);
194
+ var _a;
195
+ this.noImport = !!(((_a = this.importTreeState) === null || _a === void 0 ? void 0 : _a.length) === 0 || !this.importTreeState);
195
196
  });
196
197
  _GxIdeKbManagerImport_evaluateImportStatusMessage.set(this, () => {
197
198
  this.someStatusVisible =
@@ -276,8 +277,9 @@ const GxIdeKbManagerImport = class {
276
277
  __classPrivateFieldGet(this, _GxIdeKbManagerImport_fileInputHiddenEl, "f").click();
277
278
  });
278
279
  _GxIdeKbManagerImport_selectFileInputChangedHandler.set(this, (event) => {
280
+ var _a;
279
281
  const target = event.target;
280
- if (target.files?.length > 0) {
282
+ if (((_a = target.files) === null || _a === void 0 ? void 0 : _a.length) > 0) {
281
283
  this.selectedFile = target.files[0];
282
284
  }
283
285
  });
@@ -423,13 +425,14 @@ const GxIdeKbManagerImport = class {
423
425
  __classPrivateFieldGet(this, _GxIdeKbManagerImport_updateStatusItemsState, "f").call(this);
424
426
  }
425
427
  render() {
428
+ var _a, _b;
426
429
  return (h(Host, { class: "widget" }, h("ch-theme", { model: CSS_BUNDLES }), h("section", { class: "section" }, h("header", {
427
430
  // header
428
431
  class: "field-group control-header-with-border header header-two-cols spacing-body-block-start spacing-body-inline", slot: "header"
429
432
  }, h("div", {
430
433
  // select a file
431
434
  class: "field field-inline"
432
- }, h("label", { class: "label", htmlFor: "file-name" }, __classPrivateFieldGet(this, _GxIdeKbManagerImport_componentLocale, "f").header.fileNameLabel), h("ch-edit", { autoFocus: true, id: "file-name", class: "input", part: "file-name", type: "text", readonly: true, value: this.selectedFile?.name, placeholder: __classPrivateFieldGet(this, _GxIdeKbManagerImport_componentLocale, "f").header.fileNamePlaceholder, startImgSrc: FILE_ICON, ref: (el) => (__classPrivateFieldSet(this, _GxIdeKbManagerImport_fileInputEl, el, "f")) }), h("input", { hidden: true, type: "file", accept: ".xpz, .xml", onChange: __classPrivateFieldGet(this, _GxIdeKbManagerImport_selectFileInputChangedHandler, "f"), ref: (el) => (__classPrivateFieldSet(this, _GxIdeKbManagerImport_fileInputHiddenEl, el, "f")) })), h("div", { class: "buttons-spacer" }, h("button", { "aria-label": __classPrivateFieldGet(this, _GxIdeKbManagerImport_componentLocale, "f").header.removeFileSelection, title: __classPrivateFieldGet(this, _GxIdeKbManagerImport_componentLocale, "f").header.removeFileSelection, id: "reset-all-button", class: "button-tertiary button-icon-only", part: "reset-all-button", onClick: __classPrivateFieldGet(this, _GxIdeKbManagerImport_removeFileSelection, "f") }, h("ch-image", { class: "icon-md", src: MENU_DELETE })), h("button", {
435
+ }, h("label", { class: "label", htmlFor: "file-name" }, __classPrivateFieldGet(this, _GxIdeKbManagerImport_componentLocale, "f").header.fileNameLabel), h("ch-edit", { autoFocus: true, id: "file-name", class: "input", part: "file-name", type: "text", readonly: true, value: (_a = this.selectedFile) === null || _a === void 0 ? void 0 : _a.name, placeholder: __classPrivateFieldGet(this, _GxIdeKbManagerImport_componentLocale, "f").header.fileNamePlaceholder, startImgSrc: FILE_ICON, ref: (el) => (__classPrivateFieldSet(this, _GxIdeKbManagerImport_fileInputEl, el, "f")) }), h("input", { hidden: true, type: "file", accept: ".xpz, .xml", onChange: __classPrivateFieldGet(this, _GxIdeKbManagerImport_selectFileInputChangedHandler, "f"), ref: (el) => (__classPrivateFieldSet(this, _GxIdeKbManagerImport_fileInputHiddenEl, el, "f")) })), h("div", { class: "buttons-spacer" }, h("button", { "aria-label": __classPrivateFieldGet(this, _GxIdeKbManagerImport_componentLocale, "f").header.removeFileSelection, title: __classPrivateFieldGet(this, _GxIdeKbManagerImport_componentLocale, "f").header.removeFileSelection, id: "reset-all-button", class: "button-tertiary button-icon-only", part: "reset-all-button", onClick: __classPrivateFieldGet(this, _GxIdeKbManagerImport_removeFileSelection, "f") }, h("ch-image", { class: "icon-md", src: MENU_DELETE })), h("button", {
433
436
  // select file
434
437
  id: "select-file-load-button", class: "button-primary", part: "select-file-load-button", onClick: __classPrivateFieldGet(this, _GxIdeKbManagerImport_selectFileInputHandler, "f"), disabled: this.importingIsInProcess
435
438
  }, __classPrivateFieldGet(this, _GxIdeKbManagerImport_componentLocale, "f").header.selectFileButton))), h("section", {
@@ -447,7 +450,7 @@ const GxIdeKbManagerImport = class {
447
450
  this.objectsTreeModel.length === 0, part: "select-all-checkbox"
448
451
  }), h("div", { class: "buttons-spacer" }, h("button", {
449
452
  // import objects button
450
- id: "import-btn", class: "button-primary ", onClick: __classPrivateFieldGet(this, _GxIdeKbManagerImport_importObjectsHandler, "f"), disabled: this.objectsTreeModel?.length === 0 ||
453
+ id: "import-btn", class: "button-primary ", onClick: __classPrivateFieldGet(this, _GxIdeKbManagerImport_importObjectsHandler, "f"), disabled: ((_b = this.objectsTreeModel) === null || _b === void 0 ? void 0 : _b.length) === 0 ||
451
454
  this.importingIsInProcess
452
455
  }, __classPrivateFieldGet(this, _GxIdeKbManagerImport_componentLocale, "f").main.objectsInFile.importButton), h("button", {
453
456
  // cancel-import button