@genexus/genexus-ide-ui 1.1.5 → 1.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (699) hide show
  1. package/dist/cjs/{code-render-0e9837c4.js → code-render-55d37767.js} +3 -3
  2. package/dist/cjs/code-render-55d37767.js.map +1 -0
  3. package/dist/cjs/{form-validation-ffe2b957.js → form-validation-178cf461.js} +3 -7
  4. package/dist/cjs/form-validation-178cf461.js.map +1 -0
  5. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  6. package/dist/cjs/gx-ide-about.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +15 -9
  8. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +1 -1
  9. package/dist/cjs/gx-ide-ai-message.cjs.entry.js +2 -2
  10. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +4 -3
  11. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js +1 -1
  13. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +5 -3
  14. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js.map +1 -1
  15. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +3 -2
  16. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js.map +1 -1
  17. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +1 -1
  18. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +1 -1
  19. package/dist/cjs/gx-ide-bpm-sync-gam-roles.cjs.entry.js +3 -2
  20. package/dist/cjs/gx-ide-bpm-sync-gam-roles.cjs.entry.js.map +1 -1
  21. package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js +11 -9
  22. package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js.map +1 -1
  23. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +3 -2
  24. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
  25. package/dist/cjs/gx-ide-card.cjs.entry.js +1 -1
  26. package/dist/cjs/gx-ide-chat-container_2.cjs.entry.js +1 -1
  27. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +23 -18
  28. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
  29. package/dist/cjs/gx-ide-container_2.cjs.entry.js +2 -1
  30. package/dist/cjs/gx-ide-container_2.cjs.entry.js.map +1 -1
  31. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +10 -6
  32. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  33. package/dist/cjs/gx-ide-current-user-info.cjs.entry.js +4 -3
  34. package/dist/cjs/gx-ide-current-user-info.cjs.entry.js.map +1 -1
  35. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +5 -4
  36. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
  37. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +4 -3
  38. package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
  39. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js +5 -4
  40. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js.map +1 -1
  41. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js +20 -16
  42. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js.map +1 -1
  43. package/dist/cjs/gx-ide-design-import.cjs.entry.js +29 -21
  44. package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
  45. package/dist/cjs/gx-ide-directory-selector.cjs.entry.js +2 -1
  46. package/dist/cjs/gx-ide-directory-selector.cjs.entry.js.map +1 -1
  47. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +3 -2
  48. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
  49. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +5 -3
  50. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js.map +1 -1
  51. package/dist/cjs/gx-ide-file-uploader.cjs.entry.js +45 -60
  52. package/dist/cjs/gx-ide-file-uploader.cjs.entry.js.map +1 -1
  53. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +3 -2
  54. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
  55. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
  56. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +8 -5
  57. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  58. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +1 -1
  59. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
  60. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +5 -14
  61. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js.map +1 -1
  62. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +3 -3
  63. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
  64. package/dist/cjs/gx-ide-navigation-report.cjs.entry.js +7 -4
  65. package/dist/cjs/gx-ide-navigation-report.cjs.entry.js.map +1 -1
  66. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +18 -13
  67. package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
  68. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +35 -31
  69. package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
  70. package/dist/cjs/gx-ide-new-object.cjs.entry.js +9 -6
  71. package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
  72. package/dist/cjs/gx-ide-new-version.cjs.entry.js +61 -17
  73. package/dist/cjs/gx-ide-new-version.cjs.entry.js.map +1 -1
  74. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +7 -6
  75. package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
  76. package/dist/cjs/gx-ide-open-api-import.cjs.entry.js +9 -5
  77. package/dist/cjs/gx-ide-open-api-import.cjs.entry.js.map +1 -1
  78. package/dist/cjs/gx-ide-references.cjs.entry.js +23 -18
  79. package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
  80. package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js +1 -1
  81. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +29 -16
  82. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
  83. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js +4 -3
  84. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js.map +1 -1
  85. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +7 -4
  86. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  87. package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js +3 -2
  88. package/dist/cjs/gx-ide-sign-in-team.cjs.entry.js.map +1 -1
  89. package/dist/cjs/gx-ide-sign-in.cjs.entry.js +1 -1
  90. package/dist/cjs/gx-ide-splash.cjs.entry.js +4 -3
  91. package/dist/cjs/gx-ide-splash.cjs.entry.js.map +1 -1
  92. package/dist/cjs/gx-ide-start-page.cjs.entry.js +7 -4
  93. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  94. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +1 -1
  95. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +4 -4
  96. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  97. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +270 -0
  98. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js.map +1 -0
  99. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
  100. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +2 -2
  101. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
  102. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
  103. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +4 -3
  104. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  105. package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
  106. package/dist/cjs/gx-ide-welcome-page.cjs.entry.js +8 -6
  107. package/dist/cjs/gx-ide-welcome-page.cjs.entry.js.map +1 -1
  108. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +1 -1
  109. package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js +14 -8
  110. package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js.map +1 -1
  111. package/dist/cjs/gx-ide-ww-files.cjs.entry.js +21 -18
  112. package/dist/cjs/gx-ide-ww-files.cjs.entry.js.map +1 -1
  113. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +7 -18
  114. package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
  115. package/dist/cjs/{helpers-e5a13fa5.js → helpers-30f109a4.js} +6 -6
  116. package/dist/cjs/helpers-30f109a4.js.map +1 -0
  117. package/dist/cjs/index.cjs.js +7 -1
  118. package/dist/cjs/index.cjs.js.map +1 -1
  119. package/dist/cjs/loader.cjs.js +1 -1
  120. package/dist/cjs/{locale-36b93b1b.js → locale-ff30a5f3.js} +4 -4
  121. package/dist/cjs/locale-ff30a5f3.js.map +1 -0
  122. package/dist/collection/collection-manifest.json +1 -0
  123. package/dist/collection/common/common.js +7 -4
  124. package/dist/collection/common/common.js.map +1 -1
  125. package/dist/collection/common/form-validation.js +4 -7
  126. package/dist/collection/common/form-validation.js.map +1 -1
  127. package/dist/collection/common/helpers.js +10 -9
  128. package/dist/collection/common/helpers.js.map +1 -1
  129. package/dist/collection/common/images/ai-avatar.svg +11 -0
  130. package/dist/collection/common/locale.js +3 -3
  131. package/dist/collection/common/locale.js.map +1 -1
  132. package/dist/collection/common/render-suggest.js +1 -1
  133. package/dist/collection/common/render-suggest.js.map +1 -1
  134. package/dist/collection/components/_helpers/container/container.js +2 -1
  135. package/dist/collection/components/_helpers/container/container.js.map +1 -1
  136. package/dist/collection/components/_helpers/directory-selector/directory-selector.js +2 -1
  137. package/dist/collection/components/_helpers/directory-selector/directory-selector.js.map +1 -1
  138. package/dist/collection/components/_helpers/entity-selector/entity-selector.js +4 -2
  139. package/dist/collection/components/_helpers/entity-selector/entity-selector.js.map +1 -1
  140. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +1 -1
  141. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js.map +1 -1
  142. package/dist/collection/components/ai-assistant/ai-assistant.js +14 -8
  143. package/dist/collection/components/ai-assistant/ai-assistant.js.map +1 -1
  144. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js +3 -2
  145. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js.map +1 -1
  146. package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.js +4 -2
  147. package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.js.map +1 -1
  148. package/dist/collection/components/bpm/import-files/bpm-import-files.js +2 -1
  149. package/dist/collection/components/bpm/import-files/bpm-import-files.js.map +1 -1
  150. package/dist/collection/components/bpm/sync-gam-roles/bpm-sync-gam-roles.js +2 -1
  151. package/dist/collection/components/bpm/sync-gam-roles/bpm-sync-gam-roles.js.map +1 -1
  152. package/dist/collection/components/bpm/task-documents/helpers.js +1 -1
  153. package/dist/collection/components/bpm/task-documents/helpers.js.map +1 -1
  154. package/dist/collection/components/bpm/task-documents/task-documents.js +9 -7
  155. package/dist/collection/components/bpm/task-documents/task-documents.js.map +1 -1
  156. package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.js +2 -1
  157. package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.js.map +1 -1
  158. package/dist/collection/components/chat/code-render.js +2 -2
  159. package/dist/collection/components/chat/code-render.js.map +1 -1
  160. package/dist/collection/components/current-user-info/current-user-info.js +3 -2
  161. package/dist/collection/components/current-user-info/current-user-info.js.map +1 -1
  162. package/dist/collection/components/dashboard-home/dashboard-home.js +3 -2
  163. package/dist/collection/components/dashboard-home/dashboard-home.js.map +1 -1
  164. package/dist/collection/components/data-selector/data-selector.js +3 -2
  165. package/dist/collection/components/data-selector/data-selector.js.map +1 -1
  166. package/dist/collection/components/data-type-selector/data-type-selector.js +4 -3
  167. package/dist/collection/components/data-type-selector/data-type-selector.js.map +1 -1
  168. package/dist/collection/components/deployment-tool/deployment-tool.js +18 -11
  169. package/dist/collection/components/deployment-tool/deployment-tool.js.map +1 -1
  170. package/dist/collection/components/deployment-tool/helpers.js +1 -4
  171. package/dist/collection/components/deployment-tool/helpers.js.map +1 -1
  172. package/dist/collection/components/design-import/design-import.js +27 -19
  173. package/dist/collection/components/design-import/design-import.js.map +1 -1
  174. package/dist/collection/components/design-import/helpers.js +1 -1
  175. package/dist/collection/components/design-import/helpers.js.map +1 -1
  176. package/dist/collection/components/file-uploader/file-uploader.js +44 -59
  177. package/dist/collection/components/file-uploader/file-uploader.js.map +1 -1
  178. package/dist/collection/components/gam-installation-settings/gam-installation-settings.js +2 -1
  179. package/dist/collection/components/gam-installation-settings/gam-installation-settings.js.map +1 -1
  180. package/dist/collection/components/kb-manager-import/kb-manager-import.js +7 -4
  181. package/dist/collection/components/kb-manager-import/kb-manager-import.js.map +1 -1
  182. package/dist/collection/components/modules/edit-module-server/edit-module-server.js +2 -1
  183. package/dist/collection/components/modules/edit-module-server/edit-module-server.js.map +1 -1
  184. package/dist/collection/components/modules/manage-module-references/manage-module-references.js +2 -2
  185. package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map +1 -1
  186. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js +4 -13
  187. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references-v2.js.map +1 -1
  188. package/dist/collection/components/navigation-report/navigation-report.js +6 -3
  189. package/dist/collection/components/navigation-report/navigation-report.js.map +1 -1
  190. package/dist/collection/components/new-environment/new-environment.js +15 -10
  191. package/dist/collection/components/new-environment/new-environment.js.map +1 -1
  192. package/dist/collection/components/new-kb/new-kb.js +32 -28
  193. package/dist/collection/components/new-kb/new-kb.js.map +1 -1
  194. package/dist/collection/components/new-object/new-object.js +8 -5
  195. package/dist/collection/components/new-object/new-object.js.map +1 -1
  196. package/dist/collection/components/new-version/gx-ide-assets/new-version/langs/new-version.lang.en.json +3 -1
  197. package/dist/collection/components/new-version/gx-ide-assets/new-version/langs/new-version.lang.ja.json +3 -1
  198. package/dist/collection/components/new-version/gx-ide-assets/new-version/langs/new-version.lang.zh.json +3 -1
  199. package/dist/collection/components/new-version/new-version.css +4 -0
  200. package/dist/collection/components/new-version/new-version.js +126 -20
  201. package/dist/collection/components/new-version/new-version.js.map +1 -1
  202. package/dist/collection/components/object-selector/object-selector.js +5 -4
  203. package/dist/collection/components/object-selector/object-selector.js.map +1 -1
  204. package/dist/collection/components/open-api-import/open-api-import.js +8 -4
  205. package/dist/collection/components/open-api-import/open-api-import.js.map +1 -1
  206. package/dist/collection/components/references/helpers.js +13 -9
  207. package/dist/collection/components/references/helpers.js.map +1 -1
  208. package/dist/collection/components/references/references.js +11 -9
  209. package/dist/collection/components/references/references.js.map +1 -1
  210. package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.en.json +2 -1
  211. package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.ja.json +1 -0
  212. package/dist/collection/components/select-kb-items/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.zh.json +1 -0
  213. package/dist/collection/components/select-kb-items/helpers.js +10 -5
  214. package/dist/collection/components/select-kb-items/helpers.js.map +1 -1
  215. package/dist/collection/components/select-kb-items/select-kb-items.css +22 -27
  216. package/dist/collection/components/select-kb-items/select-kb-items.js +36 -9
  217. package/dist/collection/components/select-kb-items/select-kb-items.js.map +1 -1
  218. package/dist/collection/components/select-user-team/helpers.js +1 -1
  219. package/dist/collection/components/select-user-team/helpers.js.map +1 -1
  220. package/dist/collection/components/select-user-team/select-user-team.js +2 -1
  221. package/dist/collection/components/select-user-team/select-user-team.js.map +1 -1
  222. package/dist/collection/components/sign-in-team/sign-in-team.js +2 -1
  223. package/dist/collection/components/sign-in-team/sign-in-team.js.map +1 -1
  224. package/dist/collection/components/splash/splash.js +3 -2
  225. package/dist/collection/components/splash/splash.js.map +1 -1
  226. package/dist/collection/components/start-page/start-page.js +6 -3
  227. package/dist/collection/components/start-page/start-page.js.map +1 -1
  228. package/dist/collection/components/team-dev/commit/commit.js +2 -2
  229. package/dist/collection/components/team-dev/commit/commit.js.map +1 -1
  230. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js +21 -16
  231. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.js.map +1 -1
  232. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +8 -4
  233. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
  234. package/dist/collection/components/team-dev/history/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.en.json +42 -0
  235. package/dist/collection/components/team-dev/history/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.ja.json +42 -0
  236. package/dist/collection/components/team-dev/history/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.zh.json +42 -0
  237. package/dist/collection/components/team-dev/history/helpers.js +22 -0
  238. package/dist/collection/components/team-dev/history/helpers.js.map +1 -0
  239. package/dist/collection/components/team-dev/history/history.css +124 -0
  240. package/dist/collection/components/team-dev/history/history.js +448 -0
  241. package/dist/collection/components/team-dev/history/history.js.map +1 -0
  242. package/dist/collection/components/team-dev/share-kb/share-kb.js +5 -2
  243. package/dist/collection/components/team-dev/share-kb/share-kb.js.map +1 -1
  244. package/dist/collection/components/team-dev/update/update.js +2 -1
  245. package/dist/collection/components/team-dev/update/update.js.map +1 -1
  246. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js +1 -1
  247. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.js.map +1 -1
  248. package/dist/collection/components/welcome-page/welcome-page.js +7 -5
  249. package/dist/collection/components/welcome-page/welcome-page.js.map +1 -1
  250. package/dist/collection/components/ww-attributes/helpers.js +2 -1
  251. package/dist/collection/components/ww-attributes/helpers.js.map +1 -1
  252. package/dist/collection/components/ww-attributes/ww-attributes.js +11 -6
  253. package/dist/collection/components/ww-attributes/ww-attributes.js.map +1 -1
  254. package/dist/collection/components/ww-files/helpers.js +2 -1
  255. package/dist/collection/components/ww-files/helpers.js.map +1 -1
  256. package/dist/collection/components/ww-files/ww-files.js +18 -16
  257. package/dist/collection/components/ww-files/ww-files.js.map +1 -1
  258. package/dist/collection/components/ww-images/ww-images.js +5 -16
  259. package/dist/collection/components/ww-images/ww-images.js.map +1 -1
  260. package/dist/collection/index.js +4 -0
  261. package/dist/collection/index.js.map +1 -1
  262. package/dist/collection/testing/locale.e2e.js +4 -3
  263. package/dist/collection/testing/locale.e2e.js.map +1 -1
  264. package/dist/components/code-render.js +2 -2
  265. package/dist/components/code-render.js.map +1 -1
  266. package/dist/components/container.js +2 -1
  267. package/dist/components/container.js.map +1 -1
  268. package/dist/components/entity-selector.js +4 -2
  269. package/dist/components/entity-selector.js.map +1 -1
  270. package/dist/components/form-validation.js +2 -6
  271. package/dist/components/form-validation.js.map +1 -1
  272. package/dist/components/gx-ide-ai-assistant.js +14 -8
  273. package/dist/components/gx-ide-ai-assistant.js.map +1 -1
  274. package/dist/components/gx-ide-bpm-app-declaration.js +3 -2
  275. package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
  276. package/dist/components/gx-ide-bpm-export-xpdl.js +4 -2
  277. package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
  278. package/dist/components/gx-ide-bpm-import-files.js +2 -1
  279. package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
  280. package/dist/components/gx-ide-bpm-sync-gam-roles.js +2 -1
  281. package/dist/components/gx-ide-bpm-sync-gam-roles.js.map +1 -1
  282. package/dist/components/gx-ide-bpm-task-documents.js +10 -8
  283. package/dist/components/gx-ide-bpm-task-documents.js.map +1 -1
  284. package/dist/components/gx-ide-bpm-timer-duration.js +2 -1
  285. package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
  286. package/dist/components/gx-ide-connect-gx-server.js +21 -16
  287. package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
  288. package/dist/components/gx-ide-create-kb-from-server.js +8 -4
  289. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  290. package/dist/components/gx-ide-current-user-info.js +3 -2
  291. package/dist/components/gx-ide-current-user-info.js.map +1 -1
  292. package/dist/components/gx-ide-dashboard-home.js +3 -2
  293. package/dist/components/gx-ide-dashboard-home.js.map +1 -1
  294. package/dist/components/gx-ide-data-selector.js +3 -2
  295. package/dist/components/gx-ide-data-selector.js.map +1 -1
  296. package/dist/components/gx-ide-data-type-selector.js +4 -3
  297. package/dist/components/gx-ide-data-type-selector.js.map +1 -1
  298. package/dist/components/gx-ide-deployment-tool.js +19 -15
  299. package/dist/components/gx-ide-deployment-tool.js.map +1 -1
  300. package/dist/components/gx-ide-design-import.js +28 -20
  301. package/dist/components/gx-ide-design-import.js.map +1 -1
  302. package/dist/components/gx-ide-directory-selector.js +2 -1
  303. package/dist/components/gx-ide-directory-selector.js.map +1 -1
  304. package/dist/components/gx-ide-edit-module-server.js +2 -1
  305. package/dist/components/gx-ide-edit-module-server.js.map +1 -1
  306. package/dist/components/gx-ide-file-uploader.js +44 -59
  307. package/dist/components/gx-ide-file-uploader.js.map +1 -1
  308. package/dist/components/gx-ide-gam-installation-settings.js +2 -1
  309. package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
  310. package/dist/components/gx-ide-kb-manager-import.js +7 -4
  311. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  312. package/dist/components/gx-ide-manage-module-references-v2.js +4 -13
  313. package/dist/components/gx-ide-manage-module-references-v2.js.map +1 -1
  314. package/dist/components/gx-ide-manage-module-references.js +2 -2
  315. package/dist/components/gx-ide-manage-module-references.js.map +1 -1
  316. package/dist/components/gx-ide-navigation-report.js +6 -3
  317. package/dist/components/gx-ide-navigation-report.js.map +1 -1
  318. package/dist/components/gx-ide-new-environment.js +15 -10
  319. package/dist/components/gx-ide-new-environment.js.map +1 -1
  320. package/dist/components/gx-ide-new-kb.js +32 -28
  321. package/dist/components/gx-ide-new-kb.js.map +1 -1
  322. package/dist/components/gx-ide-new-object.js +8 -5
  323. package/dist/components/gx-ide-new-object.js.map +1 -1
  324. package/dist/components/gx-ide-new-version.js +67 -17
  325. package/dist/components/gx-ide-new-version.js.map +1 -1
  326. package/dist/components/gx-ide-object-selector.js +5 -4
  327. package/dist/components/gx-ide-object-selector.js.map +1 -1
  328. package/dist/components/gx-ide-open-api-import.js +8 -4
  329. package/dist/components/gx-ide-open-api-import.js.map +1 -1
  330. package/dist/components/gx-ide-references.js +22 -17
  331. package/dist/components/gx-ide-references.js.map +1 -1
  332. package/dist/components/gx-ide-select-kb-items.js +1 -501
  333. package/dist/components/gx-ide-select-kb-items.js.map +1 -1
  334. package/dist/components/gx-ide-select-user-team.js +3 -2
  335. package/dist/components/gx-ide-select-user-team.js.map +1 -1
  336. package/dist/components/gx-ide-share-kb.js +5 -2
  337. package/dist/components/gx-ide-share-kb.js.map +1 -1
  338. package/dist/components/gx-ide-sign-in-team.js +2 -1
  339. package/dist/components/gx-ide-sign-in-team.js.map +1 -1
  340. package/dist/components/gx-ide-splash.js +3 -2
  341. package/dist/components/gx-ide-splash.js.map +1 -1
  342. package/dist/components/gx-ide-start-page.js +6 -3
  343. package/dist/components/gx-ide-start-page.js.map +1 -1
  344. package/dist/components/gx-ide-team-dev-commit.js +2 -2
  345. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  346. package/dist/components/gx-ide-team-dev-history.d.ts +11 -0
  347. package/dist/components/gx-ide-team-dev-history.js +322 -0
  348. package/dist/components/gx-ide-team-dev-history.js.map +1 -0
  349. package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
  350. package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
  351. package/dist/components/gx-ide-team-dev-update.js +2 -1
  352. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  353. package/dist/components/gx-ide-welcome-page.js +7 -5
  354. package/dist/components/gx-ide-welcome-page.js.map +1 -1
  355. package/dist/components/gx-ide-ww-attributes.js +13 -7
  356. package/dist/components/gx-ide-ww-attributes.js.map +1 -1
  357. package/dist/components/gx-ide-ww-files.js +20 -17
  358. package/dist/components/gx-ide-ww-files.js.map +1 -1
  359. package/dist/components/gx-ide-ww-images.js +5 -16
  360. package/dist/components/gx-ide-ww-images.js.map +1 -1
  361. package/dist/components/helpers.js +5 -5
  362. package/dist/components/helpers.js.map +1 -1
  363. package/dist/components/index.js +6 -0
  364. package/dist/components/index.js.map +1 -1
  365. package/dist/components/list-selector-item.js +1 -1
  366. package/dist/components/list-selector-item.js.map +1 -1
  367. package/dist/components/locale.js +3 -3
  368. package/dist/components/locale.js.map +1 -1
  369. package/dist/components/select-kb-items.js +520 -0
  370. package/dist/components/select-kb-items.js.map +1 -0
  371. package/dist/esm/{code-render-f3afd300.js → code-render-53b3b0bd.js} +3 -3
  372. package/dist/esm/code-render-53b3b0bd.js.map +1 -0
  373. package/dist/esm/{form-validation-71dca8c6.js → form-validation-cd0215c6.js} +3 -7
  374. package/dist/{genexus-ide-ui/p-549b8f0c.js.map → esm/form-validation-cd0215c6.js.map} +1 -1
  375. package/dist/esm/genexus-ide-ui.js +1 -1
  376. package/dist/esm/gx-ide-about.entry.js +1 -1
  377. package/dist/esm/gx-ide-ai-assistant.entry.js +15 -9
  378. package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
  379. package/dist/esm/gx-ide-ai-message.entry.js +2 -2
  380. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +4 -3
  381. package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
  382. package/dist/esm/gx-ide-bpm-assign-roles.entry.js +1 -1
  383. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +5 -3
  384. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
  385. package/dist/esm/gx-ide-bpm-import-files.entry.js +3 -2
  386. package/dist/esm/gx-ide-bpm-import-files.entry.js.map +1 -1
  387. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +1 -1
  388. package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
  389. package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js +3 -2
  390. package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js.map +1 -1
  391. package/dist/esm/gx-ide-bpm-task-documents.entry.js +11 -9
  392. package/dist/esm/gx-ide-bpm-task-documents.entry.js.map +1 -1
  393. package/dist/esm/gx-ide-bpm-timer-duration.entry.js +3 -2
  394. package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
  395. package/dist/esm/gx-ide-card.entry.js +1 -1
  396. package/dist/esm/gx-ide-chat-container_2.entry.js +1 -1
  397. package/dist/esm/gx-ide-connect-gx-server.entry.js +23 -18
  398. package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
  399. package/dist/esm/gx-ide-container_2.entry.js +2 -1
  400. package/dist/esm/gx-ide-container_2.entry.js.map +1 -1
  401. package/dist/esm/gx-ide-create-kb-from-server.entry.js +10 -6
  402. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  403. package/dist/esm/gx-ide-current-user-info.entry.js +4 -3
  404. package/dist/esm/gx-ide-current-user-info.entry.js.map +1 -1
  405. package/dist/esm/gx-ide-dashboard-home.entry.js +5 -4
  406. package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
  407. package/dist/esm/gx-ide-data-selector.entry.js +4 -3
  408. package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
  409. package/dist/esm/gx-ide-data-type-selector.entry.js +5 -4
  410. package/dist/esm/gx-ide-data-type-selector.entry.js.map +1 -1
  411. package/dist/esm/gx-ide-deployment-tool.entry.js +20 -16
  412. package/dist/esm/gx-ide-deployment-tool.entry.js.map +1 -1
  413. package/dist/esm/gx-ide-design-import.entry.js +29 -21
  414. package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
  415. package/dist/esm/gx-ide-directory-selector.entry.js +2 -1
  416. package/dist/esm/gx-ide-directory-selector.entry.js.map +1 -1
  417. package/dist/esm/gx-ide-edit-module-server.entry.js +3 -2
  418. package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
  419. package/dist/esm/gx-ide-entity-selector.entry.js +5 -3
  420. package/dist/esm/gx-ide-entity-selector.entry.js.map +1 -1
  421. package/dist/esm/gx-ide-file-uploader.entry.js +45 -60
  422. package/dist/esm/gx-ide-file-uploader.entry.js.map +1 -1
  423. package/dist/esm/gx-ide-gam-installation-settings.entry.js +3 -2
  424. package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
  425. package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
  426. package/dist/esm/gx-ide-kb-manager-import.entry.js +8 -5
  427. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  428. package/dist/esm/gx-ide-list-selector_2.entry.js +1 -1
  429. package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
  430. package/dist/esm/gx-ide-manage-module-references-v2.entry.js +5 -14
  431. package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +1 -1
  432. package/dist/esm/gx-ide-manage-module-references.entry.js +3 -3
  433. package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
  434. package/dist/esm/gx-ide-navigation-report.entry.js +7 -4
  435. package/dist/esm/gx-ide-navigation-report.entry.js.map +1 -1
  436. package/dist/esm/gx-ide-new-environment.entry.js +18 -13
  437. package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
  438. package/dist/esm/gx-ide-new-kb.entry.js +35 -31
  439. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  440. package/dist/esm/gx-ide-new-object.entry.js +9 -6
  441. package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
  442. package/dist/esm/gx-ide-new-version.entry.js +61 -17
  443. package/dist/esm/gx-ide-new-version.entry.js.map +1 -1
  444. package/dist/esm/gx-ide-object-selector.entry.js +7 -6
  445. package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
  446. package/dist/esm/gx-ide-open-api-import.entry.js +9 -5
  447. package/dist/esm/gx-ide-open-api-import.entry.js.map +1 -1
  448. package/dist/esm/gx-ide-references.entry.js +23 -18
  449. package/dist/esm/gx-ide-references.entry.js.map +1 -1
  450. package/dist/esm/gx-ide-sc-chat-container.entry.js +1 -1
  451. package/dist/esm/gx-ide-select-kb-items.entry.js +29 -16
  452. package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
  453. package/dist/esm/gx-ide-select-user-team.entry.js +4 -3
  454. package/dist/esm/gx-ide-select-user-team.entry.js.map +1 -1
  455. package/dist/esm/gx-ide-share-kb.entry.js +7 -4
  456. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  457. package/dist/esm/gx-ide-sign-in-team.entry.js +3 -2
  458. package/dist/esm/gx-ide-sign-in-team.entry.js.map +1 -1
  459. package/dist/esm/gx-ide-sign-in.entry.js +1 -1
  460. package/dist/esm/gx-ide-splash.entry.js +4 -3
  461. package/dist/esm/gx-ide-splash.entry.js.map +1 -1
  462. package/dist/esm/gx-ide-start-page.entry.js +7 -4
  463. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  464. package/dist/esm/gx-ide-status-buttons.entry.js +1 -1
  465. package/dist/esm/gx-ide-team-dev-commit.entry.js +4 -4
  466. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  467. package/dist/esm/gx-ide-team-dev-history.entry.js +266 -0
  468. package/dist/esm/gx-ide-team-dev-history.entry.js.map +1 -0
  469. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
  470. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +2 -2
  471. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
  472. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
  473. package/dist/esm/gx-ide-team-dev-update.entry.js +4 -3
  474. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  475. package/dist/esm/gx-ide-template.entry.js +1 -1
  476. package/dist/esm/gx-ide-welcome-page.entry.js +8 -6
  477. package/dist/esm/gx-ide-welcome-page.entry.js.map +1 -1
  478. package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
  479. package/dist/esm/gx-ide-ww-attributes.entry.js +14 -8
  480. package/dist/esm/gx-ide-ww-attributes.entry.js.map +1 -1
  481. package/dist/esm/gx-ide-ww-files.entry.js +21 -18
  482. package/dist/esm/gx-ide-ww-files.entry.js.map +1 -1
  483. package/dist/esm/gx-ide-ww-images.entry.js +7 -18
  484. package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
  485. package/dist/esm/{helpers-5f1c9a32.js → helpers-10479d69.js} +6 -6
  486. package/dist/esm/helpers-10479d69.js.map +1 -0
  487. package/dist/esm/index.js +7 -1
  488. package/dist/esm/index.js.map +1 -1
  489. package/dist/esm/loader.js +1 -1
  490. package/dist/esm/{locale-643afe17.js → locale-e5107fad.js} +4 -4
  491. package/dist/esm/locale-e5107fad.js.map +1 -0
  492. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  493. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  494. package/dist/genexus-ide-ui/gx-ide-assets/new-version/langs/new-version.lang.en.json +3 -1
  495. package/dist/genexus-ide-ui/gx-ide-assets/new-version/langs/new-version.lang.ja.json +3 -1
  496. package/dist/genexus-ide-ui/gx-ide-assets/new-version/langs/new-version.lang.zh.json +3 -1
  497. package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.en.json +2 -1
  498. package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.ja.json +1 -0
  499. package/dist/genexus-ide-ui/gx-ide-assets/select-kb-items/langs/select-kb-items.lang.zh.json +1 -0
  500. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.en.json +42 -0
  501. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.ja.json +42 -0
  502. package/dist/genexus-ide-ui/gx-ide-assets/team-dev-history/langs/team-dev-history.lang.zh.json +42 -0
  503. package/dist/genexus-ide-ui/index.esm.js +7 -1
  504. package/dist/genexus-ide-ui/index.esm.js.map +1 -1
  505. package/dist/genexus-ide-ui/{p-11dccb8f.entry.js → p-01d96378.entry.js} +16 -17
  506. package/dist/genexus-ide-ui/p-01d96378.entry.js.map +1 -0
  507. package/dist/genexus-ide-ui/{p-75e1aa31.entry.js → p-036d005d.entry.js} +5 -4
  508. package/dist/genexus-ide-ui/p-036d005d.entry.js.map +1 -0
  509. package/dist/genexus-ide-ui/{p-f5a48b33.entry.js → p-04205aa4.entry.js} +6 -5
  510. package/dist/genexus-ide-ui/p-04205aa4.entry.js.map +1 -0
  511. package/dist/genexus-ide-ui/{p-f6ceb01a.entry.js → p-04c6bd23.entry.js} +29 -28
  512. package/dist/genexus-ide-ui/p-04c6bd23.entry.js.map +1 -0
  513. package/dist/genexus-ide-ui/{p-f52bcdac.entry.js → p-0550fd5f.entry.js} +2 -2
  514. package/dist/genexus-ide-ui/{p-e1d75f00.entry.js → p-05b04291.entry.js} +2 -2
  515. package/dist/genexus-ide-ui/{p-e1d75f00.entry.js.map → p-05b04291.entry.js.map} +1 -1
  516. package/dist/genexus-ide-ui/{p-a6029d9a.entry.js → p-0acf517c.entry.js} +129 -117
  517. package/dist/genexus-ide-ui/p-0acf517c.entry.js.map +1 -0
  518. package/dist/genexus-ide-ui/{p-bfd9066c.entry.js → p-0bdf34f2.entry.js} +4 -6
  519. package/dist/genexus-ide-ui/p-0bdf34f2.entry.js.map +1 -0
  520. package/dist/genexus-ide-ui/{p-2be58a7a.entry.js → p-14165308.entry.js} +2 -2
  521. package/dist/genexus-ide-ui/{p-7cedb0f0.entry.js → p-1bc2613e.entry.js} +69 -66
  522. package/dist/genexus-ide-ui/p-1bc2613e.entry.js.map +1 -0
  523. package/dist/genexus-ide-ui/{p-c5cca204.entry.js → p-1c7ea1cb.entry.js} +11 -10
  524. package/dist/genexus-ide-ui/p-1c7ea1cb.entry.js.map +1 -0
  525. package/dist/genexus-ide-ui/{p-daa29451.entry.js → p-1dd7be84.entry.js} +17 -14
  526. package/dist/genexus-ide-ui/p-1dd7be84.entry.js.map +1 -0
  527. package/dist/genexus-ide-ui/{p-549b8f0c.js → p-289c3290.js} +15 -16
  528. package/dist/genexus-ide-ui/p-289c3290.js.map +1 -0
  529. package/dist/genexus-ide-ui/{p-032b4a81.entry.js → p-29c69938.entry.js} +22 -19
  530. package/dist/genexus-ide-ui/p-29c69938.entry.js.map +1 -0
  531. package/dist/genexus-ide-ui/{p-db4f756a.entry.js → p-3085add2.entry.js} +188 -176
  532. package/dist/genexus-ide-ui/p-3085add2.entry.js.map +1 -0
  533. package/dist/genexus-ide-ui/{p-857866f8.js → p-311eedf3.js} +9 -8
  534. package/dist/genexus-ide-ui/p-311eedf3.js.map +1 -0
  535. package/dist/genexus-ide-ui/{p-2e90a13a.entry.js → p-31beae9e.entry.js} +3 -2
  536. package/dist/genexus-ide-ui/p-31beae9e.entry.js.map +1 -0
  537. package/dist/genexus-ide-ui/{p-e37e95e7.entry.js → p-34fd4875.entry.js} +5 -20
  538. package/dist/genexus-ide-ui/p-34fd4875.entry.js.map +1 -0
  539. package/dist/genexus-ide-ui/{p-9a39e49c.entry.js → p-35f9ebbc.entry.js} +2 -2
  540. package/dist/genexus-ide-ui/{p-db4750ff.entry.js → p-385c9544.entry.js} +147 -138
  541. package/dist/genexus-ide-ui/p-385c9544.entry.js.map +1 -0
  542. package/dist/genexus-ide-ui/{p-8f1f4126.entry.js → p-3da8db15.entry.js} +9 -9
  543. package/dist/genexus-ide-ui/p-3da8db15.entry.js.map +1 -0
  544. package/dist/genexus-ide-ui/{p-b1833747.entry.js → p-4538dea5.entry.js} +31 -26
  545. package/dist/genexus-ide-ui/p-4538dea5.entry.js.map +1 -0
  546. package/dist/genexus-ide-ui/{p-6dc05a27.entry.js → p-45996535.entry.js} +4 -3
  547. package/dist/genexus-ide-ui/p-45996535.entry.js.map +1 -0
  548. package/dist/genexus-ide-ui/{p-4d929210.entry.js → p-4b38fffc.entry.js} +2 -2
  549. package/dist/genexus-ide-ui/{p-d1cc4724.entry.js → p-4d0ba4f6.entry.js} +8 -15
  550. package/dist/genexus-ide-ui/p-4d0ba4f6.entry.js.map +1 -0
  551. package/dist/genexus-ide-ui/{p-66d9269a.entry.js → p-4e943649.entry.js} +19 -16
  552. package/dist/genexus-ide-ui/p-4e943649.entry.js.map +1 -0
  553. package/dist/genexus-ide-ui/{p-ec01c70c.entry.js → p-67e0b419.entry.js} +7 -6
  554. package/dist/genexus-ide-ui/p-67e0b419.entry.js.map +1 -0
  555. package/dist/genexus-ide-ui/{p-45d2fa91.entry.js → p-68969051.entry.js} +12 -11
  556. package/dist/genexus-ide-ui/p-68969051.entry.js.map +1 -0
  557. package/dist/genexus-ide-ui/{p-9b238bf7.entry.js → p-690942cb.entry.js} +178 -173
  558. package/dist/genexus-ide-ui/p-690942cb.entry.js.map +1 -0
  559. package/dist/genexus-ide-ui/{p-b211bca8.entry.js → p-6b957e82.entry.js} +2 -2
  560. package/dist/genexus-ide-ui/{p-be794132.entry.js → p-6f898249.entry.js} +233 -228
  561. package/dist/genexus-ide-ui/p-6f898249.entry.js.map +1 -0
  562. package/dist/genexus-ide-ui/{p-29575656.entry.js → p-704499e5.entry.js} +116 -107
  563. package/dist/genexus-ide-ui/p-704499e5.entry.js.map +1 -0
  564. package/dist/genexus-ide-ui/p-74715731.entry.js +541 -0
  565. package/dist/genexus-ide-ui/p-74715731.entry.js.map +1 -0
  566. package/dist/genexus-ide-ui/{p-ac0438d6.entry.js → p-767e0f6d.entry.js} +12 -11
  567. package/dist/genexus-ide-ui/p-767e0f6d.entry.js.map +1 -0
  568. package/dist/genexus-ide-ui/{p-6168d48c.entry.js → p-7abe2214.entry.js} +167 -160
  569. package/dist/genexus-ide-ui/p-7abe2214.entry.js.map +1 -0
  570. package/dist/genexus-ide-ui/{p-50eaa96d.entry.js → p-7d8812b0.entry.js} +99 -89
  571. package/dist/genexus-ide-ui/p-7d8812b0.entry.js.map +1 -0
  572. package/dist/genexus-ide-ui/p-80c1ddc3.entry.js +218 -0
  573. package/dist/genexus-ide-ui/p-80c1ddc3.entry.js.map +1 -0
  574. package/dist/genexus-ide-ui/{p-9c690c36.entry.js → p-88c81f18.entry.js} +13 -12
  575. package/dist/genexus-ide-ui/p-88c81f18.entry.js.map +1 -0
  576. package/dist/genexus-ide-ui/{p-5e05f830.entry.js → p-8cb937b7.entry.js} +35 -31
  577. package/dist/genexus-ide-ui/p-8cb937b7.entry.js.map +1 -0
  578. package/dist/genexus-ide-ui/p-9ddea83b.js +146 -0
  579. package/dist/genexus-ide-ui/p-9ddea83b.js.map +1 -0
  580. package/dist/genexus-ide-ui/{p-0e53f1ef.entry.js → p-a1415a9c.entry.js} +161 -159
  581. package/dist/genexus-ide-ui/p-a1415a9c.entry.js.map +1 -0
  582. package/dist/genexus-ide-ui/{p-c30b2104.entry.js → p-a47d71eb.entry.js} +11 -9
  583. package/dist/genexus-ide-ui/p-a47d71eb.entry.js.map +1 -0
  584. package/dist/genexus-ide-ui/{p-2dbf722d.entry.js → p-a8d0b62e.entry.js} +192 -172
  585. package/dist/genexus-ide-ui/p-a8d0b62e.entry.js.map +1 -0
  586. package/dist/genexus-ide-ui/{p-f315c6e0.entry.js → p-aab809c4.entry.js} +2 -2
  587. package/dist/genexus-ide-ui/{p-f5879a41.entry.js → p-b1851e6b.entry.js} +3 -3
  588. package/dist/genexus-ide-ui/{p-f5879a41.entry.js.map → p-b1851e6b.entry.js.map} +1 -1
  589. package/dist/genexus-ide-ui/{p-95f831a8.entry.js → p-b2928645.entry.js} +2 -2
  590. package/dist/genexus-ide-ui/{p-39c527ff.entry.js → p-b58fb87b.entry.js} +2 -2
  591. package/dist/genexus-ide-ui/{p-a86a8692.entry.js → p-c38ce0bf.entry.js} +36 -32
  592. package/dist/genexus-ide-ui/p-c38ce0bf.entry.js.map +1 -0
  593. package/dist/genexus-ide-ui/{p-3edbf07d.js → p-c5178973.js} +3 -3
  594. package/dist/genexus-ide-ui/{p-3edbf07d.js.map → p-c5178973.js.map} +1 -1
  595. package/dist/genexus-ide-ui/{p-0d83a34d.entry.js → p-c7badbf1.entry.js} +66 -62
  596. package/dist/genexus-ide-ui/p-c7badbf1.entry.js.map +1 -0
  597. package/dist/genexus-ide-ui/{p-8b046b4b.entry.js → p-d095a37c.entry.js} +10 -9
  598. package/dist/genexus-ide-ui/p-d095a37c.entry.js.map +1 -0
  599. package/dist/genexus-ide-ui/{p-353810b8.entry.js → p-d3767a7d.entry.js} +104 -99
  600. package/dist/genexus-ide-ui/p-d3767a7d.entry.js.map +1 -0
  601. package/dist/genexus-ide-ui/{p-02fc47cd.entry.js → p-d8379699.entry.js} +2 -2
  602. package/dist/genexus-ide-ui/{p-cdf8b082.entry.js → p-da473001.entry.js} +2 -2
  603. package/dist/genexus-ide-ui/{p-501c7b1f.entry.js → p-de7f0c1f.entry.js} +22 -19
  604. package/dist/genexus-ide-ui/p-de7f0c1f.entry.js.map +1 -0
  605. package/dist/genexus-ide-ui/{p-5da3e999.entry.js → p-ded7444c.entry.js} +17 -16
  606. package/dist/genexus-ide-ui/p-ded7444c.entry.js.map +1 -0
  607. package/dist/genexus-ide-ui/{p-9a9ee1ee.entry.js → p-e24902a0.entry.js} +2 -2
  608. package/dist/genexus-ide-ui/{p-5a42428d.entry.js → p-e28e6bc4.entry.js} +15 -14
  609. package/dist/genexus-ide-ui/p-e28e6bc4.entry.js.map +1 -0
  610. package/dist/genexus-ide-ui/{p-7782e1b8.entry.js → p-e502c2fd.entry.js} +61 -56
  611. package/dist/genexus-ide-ui/p-e502c2fd.entry.js.map +1 -0
  612. package/dist/genexus-ide-ui/{p-f2bd9044.entry.js → p-e7fb3ee3.entry.js} +2 -2
  613. package/dist/genexus-ide-ui/{p-e5571f49.entry.js → p-eb9e760d.entry.js} +18 -18
  614. package/dist/genexus-ide-ui/p-eb9e760d.entry.js.map +1 -0
  615. package/dist/genexus-ide-ui/{p-eb51429c.entry.js → p-ec0809a7.entry.js} +2 -2
  616. package/dist/genexus-ide-ui/{p-460db3ff.entry.js → p-ecba870e.entry.js} +3 -3
  617. package/dist/genexus-ide-ui/{p-e26e05c7.entry.js → p-f49bb305.entry.js} +18 -12
  618. package/dist/genexus-ide-ui/p-f49bb305.entry.js.map +1 -0
  619. package/dist/genexus-ide-ui/{p-8636a0bd.entry.js → p-f722955f.entry.js} +2 -2
  620. package/dist/genexus-ide-ui/{p-a8cc41e4.entry.js → p-f7421997.entry.js} +61 -58
  621. package/dist/genexus-ide-ui/p-f7421997.entry.js.map +1 -0
  622. package/dist/types/components/new-version/new-version.d.ts +27 -1
  623. package/dist/types/components/select-kb-items/select-kb-items.d.ts +8 -0
  624. package/dist/types/components/team-dev/history/helpers.d.ts +7 -0
  625. package/dist/types/components/team-dev/history/history.d.ts +109 -0
  626. package/dist/types/components.d.ts +141 -18
  627. package/dist/types/index.d.ts +4 -0
  628. package/package.json +3 -3
  629. package/dist/cjs/code-render-0e9837c4.js.map +0 -1
  630. package/dist/cjs/form-validation-ffe2b957.js.map +0 -1
  631. package/dist/cjs/helpers-e5a13fa5.js.map +0 -1
  632. package/dist/cjs/locale-36b93b1b.js.map +0 -1
  633. package/dist/esm/code-render-f3afd300.js.map +0 -1
  634. package/dist/esm/form-validation-71dca8c6.js.map +0 -1
  635. package/dist/esm/helpers-5f1c9a32.js.map +0 -1
  636. package/dist/esm/locale-643afe17.js.map +0 -1
  637. package/dist/genexus-ide-ui/p-032b4a81.entry.js.map +0 -1
  638. package/dist/genexus-ide-ui/p-0d83a34d.entry.js.map +0 -1
  639. package/dist/genexus-ide-ui/p-0e53f1ef.entry.js.map +0 -1
  640. package/dist/genexus-ide-ui/p-11dccb8f.entry.js.map +0 -1
  641. package/dist/genexus-ide-ui/p-29575656.entry.js.map +0 -1
  642. package/dist/genexus-ide-ui/p-2dbf722d.entry.js.map +0 -1
  643. package/dist/genexus-ide-ui/p-2e90a13a.entry.js.map +0 -1
  644. package/dist/genexus-ide-ui/p-353810b8.entry.js.map +0 -1
  645. package/dist/genexus-ide-ui/p-45d2fa91.entry.js.map +0 -1
  646. package/dist/genexus-ide-ui/p-501c7b1f.entry.js.map +0 -1
  647. package/dist/genexus-ide-ui/p-50eaa96d.entry.js.map +0 -1
  648. package/dist/genexus-ide-ui/p-51601b85.js +0 -145
  649. package/dist/genexus-ide-ui/p-51601b85.js.map +0 -1
  650. package/dist/genexus-ide-ui/p-5a42428d.entry.js.map +0 -1
  651. package/dist/genexus-ide-ui/p-5da3e999.entry.js.map +0 -1
  652. package/dist/genexus-ide-ui/p-5e05f830.entry.js.map +0 -1
  653. package/dist/genexus-ide-ui/p-6168d48c.entry.js.map +0 -1
  654. package/dist/genexus-ide-ui/p-66d9269a.entry.js.map +0 -1
  655. package/dist/genexus-ide-ui/p-6dc05a27.entry.js.map +0 -1
  656. package/dist/genexus-ide-ui/p-75e1aa31.entry.js.map +0 -1
  657. package/dist/genexus-ide-ui/p-7782e1b8.entry.js.map +0 -1
  658. package/dist/genexus-ide-ui/p-7cedb0f0.entry.js.map +0 -1
  659. package/dist/genexus-ide-ui/p-857866f8.js.map +0 -1
  660. package/dist/genexus-ide-ui/p-8b046b4b.entry.js.map +0 -1
  661. package/dist/genexus-ide-ui/p-8f1f4126.entry.js.map +0 -1
  662. package/dist/genexus-ide-ui/p-970d16ca.entry.js +0 -149
  663. package/dist/genexus-ide-ui/p-970d16ca.entry.js.map +0 -1
  664. package/dist/genexus-ide-ui/p-9b238bf7.entry.js.map +0 -1
  665. package/dist/genexus-ide-ui/p-9c690c36.entry.js.map +0 -1
  666. package/dist/genexus-ide-ui/p-a6029d9a.entry.js.map +0 -1
  667. package/dist/genexus-ide-ui/p-a86a8692.entry.js.map +0 -1
  668. package/dist/genexus-ide-ui/p-a8cc41e4.entry.js.map +0 -1
  669. package/dist/genexus-ide-ui/p-ac0438d6.entry.js.map +0 -1
  670. package/dist/genexus-ide-ui/p-b1833747.entry.js.map +0 -1
  671. package/dist/genexus-ide-ui/p-be794132.entry.js.map +0 -1
  672. package/dist/genexus-ide-ui/p-bfd9066c.entry.js.map +0 -1
  673. package/dist/genexus-ide-ui/p-c30b2104.entry.js.map +0 -1
  674. package/dist/genexus-ide-ui/p-c5cca204.entry.js.map +0 -1
  675. package/dist/genexus-ide-ui/p-d1cc4724.entry.js.map +0 -1
  676. package/dist/genexus-ide-ui/p-daa29451.entry.js.map +0 -1
  677. package/dist/genexus-ide-ui/p-db4750ff.entry.js.map +0 -1
  678. package/dist/genexus-ide-ui/p-db4f756a.entry.js.map +0 -1
  679. package/dist/genexus-ide-ui/p-e26e05c7.entry.js.map +0 -1
  680. package/dist/genexus-ide-ui/p-e37e95e7.entry.js.map +0 -1
  681. package/dist/genexus-ide-ui/p-e5571f49.entry.js.map +0 -1
  682. package/dist/genexus-ide-ui/p-ec01c70c.entry.js.map +0 -1
  683. package/dist/genexus-ide-ui/p-f5a48b33.entry.js.map +0 -1
  684. package/dist/genexus-ide-ui/p-f6ceb01a.entry.js.map +0 -1
  685. /package/dist/genexus-ide-ui/{p-f52bcdac.entry.js.map → p-0550fd5f.entry.js.map} +0 -0
  686. /package/dist/genexus-ide-ui/{p-2be58a7a.entry.js.map → p-14165308.entry.js.map} +0 -0
  687. /package/dist/genexus-ide-ui/{p-9a39e49c.entry.js.map → p-35f9ebbc.entry.js.map} +0 -0
  688. /package/dist/genexus-ide-ui/{p-4d929210.entry.js.map → p-4b38fffc.entry.js.map} +0 -0
  689. /package/dist/genexus-ide-ui/{p-b211bca8.entry.js.map → p-6b957e82.entry.js.map} +0 -0
  690. /package/dist/genexus-ide-ui/{p-f315c6e0.entry.js.map → p-aab809c4.entry.js.map} +0 -0
  691. /package/dist/genexus-ide-ui/{p-95f831a8.entry.js.map → p-b2928645.entry.js.map} +0 -0
  692. /package/dist/genexus-ide-ui/{p-39c527ff.entry.js.map → p-b58fb87b.entry.js.map} +0 -0
  693. /package/dist/genexus-ide-ui/{p-02fc47cd.entry.js.map → p-d8379699.entry.js.map} +0 -0
  694. /package/dist/genexus-ide-ui/{p-cdf8b082.entry.js.map → p-da473001.entry.js.map} +0 -0
  695. /package/dist/genexus-ide-ui/{p-9a9ee1ee.entry.js.map → p-e24902a0.entry.js.map} +0 -0
  696. /package/dist/genexus-ide-ui/{p-f2bd9044.entry.js.map → p-e7fb3ee3.entry.js.map} +0 -0
  697. /package/dist/genexus-ide-ui/{p-eb51429c.entry.js.map → p-ec0809a7.entry.js.map} +0 -0
  698. /package/dist/genexus-ide-ui/{p-460db3ff.entry.js.map → p-ecba870e.entry.js.map} +0 -0
  699. /package/dist/genexus-ide-ui/{p-8636a0bd.entry.js.map → p-f722955f.entry.js.map} +0 -0
@@ -74,18 +74,20 @@ export class FileUploader {
74
74
  });
75
75
  /** Handles drop event */
76
76
  _FileUploader_handleDrop.set(this, (e) => {
77
+ var _a;
77
78
  e.preventDefault();
78
79
  e.stopPropagation();
79
80
  this.isDragging = false;
80
81
  __classPrivateFieldSet(this, _FileUploader_dragCounter, 0, "f");
81
- const files = e.dataTransfer?.files;
82
+ const files = (_a = e.dataTransfer) === null || _a === void 0 ? void 0 : _a.files;
82
83
  if (files) {
83
84
  __classPrivateFieldGet(this, _FileUploader_handleFiles, "f").call(this, files);
84
85
  }
85
86
  });
86
87
  /** Triggers file input click */
87
88
  _FileUploader_handleFileSelect.set(this, () => {
88
- __classPrivateFieldGet(this, _FileUploader_fileInputEl, "f")?.click();
89
+ var _a;
90
+ (_a = __classPrivateFieldGet(this, _FileUploader_fileInputEl, "f")) === null || _a === void 0 ? void 0 : _a.click();
89
91
  });
90
92
  /** Handles file input change event */
91
93
  _FileUploader_handleFileInput.set(this, (e) => {
@@ -98,6 +100,7 @@ export class FileUploader {
98
100
  _FileUploader_handleFiles.set(this, (files) => {
99
101
  const validFiles = __classPrivateFieldGet(this, _FileUploader_instances, "m", _FileUploader_getValidFiles).call(this, files);
100
102
  validFiles.forEach(async (file) => {
103
+ var _a, _b;
101
104
  const id = __classPrivateFieldGet(this, _FileUploader_generateId, "f").call(this);
102
105
  const fileState = {
103
106
  id,
@@ -115,45 +118,29 @@ export class FileUploader {
115
118
  const uploadPromise = this.uploadFunction(file, progress => {
116
119
  const state = this.fileStates.get(id);
117
120
  if (state) {
118
- const updatedState = {
119
- ...state,
120
- progress: progress,
121
- pending: progress < 100
122
- };
121
+ const updatedState = Object.assign(Object.assign({}, state), { progress: progress, pending: progress < 100 });
123
122
  this.fileStates = new Map(this.fileStates.set(id, updatedState));
124
123
  }
125
124
  });
126
125
  // Store the upload promise/object for potential cancellation
127
- const stateWithPromise = {
128
- ...this.fileStates.get(id),
129
- uploadPromise
130
- };
126
+ const stateWithPromise = Object.assign(Object.assign({}, this.fileStates.get(id)), { uploadPromise });
131
127
  this.fileStates = new Map(this.fileStates.set(id, stateWithPromise));
132
128
  const result = await uploadPromise;
133
129
  console.log("Upload result:", { id, result });
134
130
  const state = this.fileStates.get(id);
135
131
  if (state) {
136
132
  if (result.success && result.remoteId) {
137
- const updatedState = {
138
- ...state,
139
- remoteId: result.remoteId,
140
- pending: false,
141
- progress: 100
142
- };
133
+ const updatedState = Object.assign(Object.assign({}, state), { remoteId: result.remoteId, pending: false, progress: 100 });
143
134
  this.fileStates = new Map(this.fileStates.set(id, updatedState));
144
135
  console.log("File uploaded successfully:", updatedState);
145
- await this.fileUploadedCallback?.({
136
+ await ((_a = this.fileUploadedCallback) === null || _a === void 0 ? void 0 : _a.call(this, {
146
137
  name: state.name,
147
138
  originalName: state.file.name,
148
139
  remoteId: result.remoteId
149
- });
140
+ }));
150
141
  }
151
142
  else {
152
- const updatedState = {
153
- ...state,
154
- error: result.errors?.upload || "Upload failed",
155
- pending: false
156
- };
143
+ const updatedState = Object.assign(Object.assign({}, state), { error: ((_b = result.errors) === null || _b === void 0 ? void 0 : _b.upload) || "Upload failed", pending: false });
157
144
  this.fileStates = new Map(this.fileStates.set(id, updatedState));
158
145
  console.log("File upload failed:", updatedState);
159
146
  }
@@ -162,13 +149,9 @@ export class FileUploader {
162
149
  catch (error) {
163
150
  const state = this.fileStates.get(id);
164
151
  if (state) {
165
- const updatedState = {
166
- ...state,
167
- error: error instanceof Error
152
+ const updatedState = Object.assign(Object.assign({}, state), { error: error instanceof Error
168
153
  ? error.message
169
- : "Unknown error occurred",
170
- pending: false
171
- };
154
+ : "Unknown error occurred", pending: false });
172
155
  this.fileStates = new Map(this.fileStates.set(id, updatedState));
173
156
  console.log("File upload error:", updatedState);
174
157
  }
@@ -181,20 +164,18 @@ export class FileUploader {
181
164
  });
182
165
  /** Handles file name change */
183
166
  _FileUploader_handleNameChange.set(this, async (event) => {
167
+ var _a;
184
168
  const { id, name } = event.detail;
185
169
  const file = this.fileStates.get(id);
186
170
  if (file) {
187
- const updatedFile = {
188
- ...file,
189
- name: name.trim(),
190
- isEditing: false
191
- };
171
+ const updatedFile = Object.assign(Object.assign({}, file), { name: name.trim(), isEditing: false });
192
172
  this.fileStates = new Map(this.fileStates.set(id, updatedFile));
193
- await this.fileRenamedCallback?.({ fileId: id, newName: name.trim() });
173
+ await ((_a = this.fileRenamedCallback) === null || _a === void 0 ? void 0 : _a.call(this, { fileId: id, newName: name.trim() }));
194
174
  }
195
175
  });
196
176
  /** Handles individual file cancellation or deletion */
197
177
  _FileUploader_handleFileCancel.set(this, async (event) => {
178
+ var _a, _b, _c, _d;
198
179
  const id = event.detail;
199
180
  const state = this.fileStates.get(id);
200
181
  if (state) {
@@ -208,7 +189,7 @@ export class FileUploader {
208
189
  else if (this.cancelUploadFunction) {
209
190
  await this.cancelUploadFunction(id);
210
191
  }
211
- await this.uploadCancelledCallback?.(id);
192
+ await ((_a = this.uploadCancelledCallback) === null || _a === void 0 ? void 0 : _a.call(this, id));
212
193
  this.fileStates.delete(id);
213
194
  this.fileStates = new Map(this.fileStates);
214
195
  }
@@ -218,24 +199,25 @@ export class FileUploader {
218
199
  originalName: state.file.name,
219
200
  remoteId: state.remoteId
220
201
  };
221
- const shouldDelete = await this.onBeforeDelete?.(fileToDelete);
202
+ const shouldDelete = await ((_b = this.onBeforeDelete) === null || _b === void 0 ? void 0 : _b.call(this, fileToDelete));
222
203
  if (shouldDelete) {
223
- await this.fileDeletedCallback?.(fileToDelete);
204
+ await ((_c = this.fileDeletedCallback) === null || _c === void 0 ? void 0 : _c.call(this, fileToDelete));
224
205
  this.fileStates.delete(id);
225
206
  this.fileStates = new Map(this.fileStates);
226
207
  }
227
208
  }
228
209
  }
229
210
  catch (error) {
230
- await this.fileDeletionErrorCallback?.({
211
+ await ((_d = this.fileDeletionErrorCallback) === null || _d === void 0 ? void 0 : _d.call(this, {
231
212
  fileName: state.name,
232
213
  error: error instanceof Error ? error.message : "Unknown error occurred"
233
- });
214
+ }));
234
215
  }
235
216
  }
236
217
  });
237
218
  /** Handles dialog confirmation */
238
219
  _FileUploader_handleConfirm.set(this, async () => {
220
+ var _a;
239
221
  // Verificar si hay subidas en progreso
240
222
  const hasPendingUploads = Array.from(this.fileStates.values()).some(file => file.pending);
241
223
  if (hasPendingUploads) {
@@ -262,7 +244,7 @@ export class FileUploader {
262
244
  }));
263
245
  console.log("Files to be confirmed:", uploadedFiles);
264
246
  if (uploadedFiles.length > 0) {
265
- await this.dialogConfirmedCallback?.(uploadedFiles);
247
+ await ((_a = this.dialogConfirmedCallback) === null || _a === void 0 ? void 0 : _a.call(this, uploadedFiles));
266
248
  }
267
249
  // Clear file states
268
250
  this.fileStates.clear();
@@ -274,13 +256,14 @@ export class FileUploader {
274
256
  });
275
257
  /** Handles dialog cancellation */
276
258
  _FileUploader_handleCancel.set(this, async () => {
259
+ var _a, _b, _c;
277
260
  try {
278
261
  // Cancelamos todas las subidas en progreso
279
262
  for (const [id, state] of this.fileStates.entries()) {
280
263
  if (state.pending && this.cancelUploadFunction) {
281
264
  try {
282
265
  await this.cancelUploadFunction(id);
283
- await this.uploadCancelledCallback?.(id);
266
+ await ((_a = this.uploadCancelledCallback) === null || _a === void 0 ? void 0 : _a.call(this, id));
284
267
  }
285
268
  catch (error) {
286
269
  // Error handling for upload cancellation
@@ -293,12 +276,12 @@ export class FileUploader {
293
276
  if (__classPrivateFieldGet(this, _FileUploader_fileInputEl, "f")) {
294
277
  __classPrivateFieldGet(this, _FileUploader_fileInputEl, "f").value = "";
295
278
  }
296
- await this.dialogCanceledCallback?.();
279
+ await ((_b = this.dialogCanceledCallback) === null || _b === void 0 ? void 0 : _b.call(this));
297
280
  }
298
281
  catch (error) {
299
282
  this.fileStates.clear();
300
283
  this.fileStates = new Map();
301
- await this.dialogCanceledCallback?.();
284
+ await ((_c = this.dialogCanceledCallback) === null || _c === void 0 ? void 0 : _c.call(this));
302
285
  }
303
286
  });
304
287
  this.types = [];
@@ -325,11 +308,12 @@ export class FileUploader {
325
308
  }
326
309
  /** Clears the current file selection */
327
310
  async clear() {
311
+ var _a;
328
312
  for (const [id, state] of this.fileStates.entries()) {
329
313
  if (state.pending && this.cancelUploadFunction) {
330
314
  try {
331
315
  await this.cancelUploadFunction(id);
332
- await this.uploadCancelledCallback?.(id);
316
+ await ((_a = this.uploadCancelledCallback) === null || _a === void 0 ? void 0 : _a.call(this, id));
333
317
  }
334
318
  catch (error) {
335
319
  // Error handling for upload cancellation
@@ -339,20 +323,19 @@ export class FileUploader {
339
323
  this.fileStates.clear();
340
324
  }
341
325
  render() {
342
- return (h(Host, { class: "widget" }, h("ch-theme", { model: CSS_BUNDLES }), h("input", { type: "file", class: "hidden-input", multiple: this.multiple, accept: this.types
343
- ?.map(type => (type.startsWith(".") ? type : `.${type}`))
344
- .join(","), onChange: __classPrivateFieldGet(this, _FileUploader_handleFileInput, "f"), ref: el => (__classPrivateFieldSet(this, _FileUploader_fileInputEl, el, "f")), "aria-hidden": "true", tabIndex: -1, style: { display: "none" } }), h("div", { class: "file-uploader-dialog" }, h("div", { class: "dialog-content" }, this.isDragging || this.fileStates.size === 0 ? (h("div", { class: {
326
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m, _o;
327
+ return (h(Host, { class: "widget" }, h("ch-theme", { model: CSS_BUNDLES }), h("input", { type: "file", class: "hidden-input", multiple: this.multiple, accept: (_a = this.types) === null || _a === void 0 ? void 0 : _a.map(type => (type.startsWith(".") ? type : `.${type}`)).join(","), onChange: __classPrivateFieldGet(this, _FileUploader_handleFileInput, "f"), ref: el => (__classPrivateFieldSet(this, _FileUploader_fileInputEl, el, "f")), "aria-hidden": "true", tabIndex: -1, style: { display: "none" } }), h("div", { class: "file-uploader-dialog" }, h("div", { class: "dialog-content" }, this.isDragging || this.fileStates.size === 0 ? (h("div", { class: {
345
328
  "file-uploader__drop-zone": true,
346
329
  "file-uploader__drop-zone--dragging": this.isDragging
347
330
  }, onDragEnter: __classPrivateFieldGet(this, _FileUploader_handleDragEnter, "f"), onDragLeave: __classPrivateFieldGet(this, _FileUploader_handleDragLeave, "f"), onDragOver: __classPrivateFieldGet(this, _FileUploader_handleDragOver, "f"), onDrop: __classPrivateFieldGet(this, _FileUploader_handleDrop, "f") }, h("button", { class: "button-tertiary button-icon-and-text", type: "button", onClick: __classPrivateFieldGet(this, _FileUploader_handleFileSelect, "f") }, h("ch-image", { class: "icon-md", src: PLUS_ICON }), h("label", { class: "label" }, this.multiple
348
- ? __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")?.header.uploadButtonMultiple
349
- : __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")?.header.uploadButtonSingle)), h("div", { class: "text-container" }, h("div", { class: "label-primary-row" }, h("label", { class: "label" }, this.label || __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")?.header.orText), h("label", { class: "label" }, __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")?.header.dragAndDrop)), h("span", { class: "caption" }, this.types && this.types.length > 0
350
- ? __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")?.header.acceptedFiles.replace("{0}", this.types.join(", "))
351
- : __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")?.header.allFilesAccepted)))) : (h("div", { class: "file-uploader__list" }, h("div", { class: "file-uploader__list-header spacing-body-block-end" }, h("div", { class: "file-uploader__list-title-container" }, h("label", { class: "label" }, this.label ||
352
- __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")?.fileList.attachedFiles), h("span", { class: "caption" }, __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")?.fileList.filesCount.replace("{0}", this.fileStates.size.toString()))), this.multiple && (h("button", { class: "button-tertiary button-icon-and-text", type: "button", onClick: __classPrivateFieldGet(this, _FileUploader_handleFileSelect, "f") }, h("ch-image", { class: "icon-md", src: PLUS_ICON }), h("label", { class: "label" }, this.multiple
353
- ? __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")?.header.uploadButtonMultiple
354
- : __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")?.header.uploadButtonSingle)))), h("div", { class: "file-uploader__list-content scrollable" }, Array.from(this.fileStates.values()).map(file => (h("gx-ide-file-item", { key: file.id, file: file, editable: this.canEditName, onFileNameChange: __classPrivateFieldGet(this, _FileUploader_handleNameChange, "f"), onFileDelete: __classPrivateFieldGet(this, _FileUploader_handleFileCancel, "f"), onFileCancel: __classPrivateFieldGet(this, _FileUploader_handleFileCancel, "f") }))))))), h("div", { class: "dialog-footer control-footer control-footer-with-border" }, h("div", { class: "buttons-spacer" }, h("button", { class: "button-secondary", type: "button", onClick: __classPrivateFieldGet(this, _FileUploader_handleCancel, "f") }, __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")?.buttons.cancel), h("button", { class: "button-primary", type: "button", onClick: __classPrivateFieldGet(this, _FileUploader_handleConfirm, "f"), disabled: this.fileStates.size === 0 ||
355
- Array.from(this.fileStates.values()).some(file => file.pending) }, __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")?.buttons.confirm))))));
331
+ ? (_b = __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")) === null || _b === void 0 ? void 0 : _b.header.uploadButtonMultiple
332
+ : (_c = __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")) === null || _c === void 0 ? void 0 : _c.header.uploadButtonSingle)), h("div", { class: "text-container" }, h("div", { class: "label-primary-row" }, h("label", { class: "label" }, this.label || ((_d = __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")) === null || _d === void 0 ? void 0 : _d.header.orText)), h("label", { class: "label" }, (_e = __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")) === null || _e === void 0 ? void 0 : _e.header.dragAndDrop)), h("span", { class: "caption" }, this.types && this.types.length > 0
333
+ ? (_f = __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")) === null || _f === void 0 ? void 0 : _f.header.acceptedFiles.replace("{0}", this.types.join(", "))
334
+ : (_g = __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")) === null || _g === void 0 ? void 0 : _g.header.allFilesAccepted)))) : (h("div", { class: "file-uploader__list" }, h("div", { class: "file-uploader__list-header spacing-body-block-end" }, h("div", { class: "file-uploader__list-title-container" }, h("label", { class: "label" }, this.label ||
335
+ ((_h = __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")) === null || _h === void 0 ? void 0 : _h.fileList.attachedFiles)), h("span", { class: "caption" }, (_j = __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")) === null || _j === void 0 ? void 0 : _j.fileList.filesCount.replace("{0}", this.fileStates.size.toString()))), this.multiple && (h("button", { class: "button-tertiary button-icon-and-text", type: "button", onClick: __classPrivateFieldGet(this, _FileUploader_handleFileSelect, "f") }, h("ch-image", { class: "icon-md", src: PLUS_ICON }), h("label", { class: "label" }, this.multiple
336
+ ? (_k = __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")) === null || _k === void 0 ? void 0 : _k.header.uploadButtonMultiple
337
+ : (_l = __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")) === null || _l === void 0 ? void 0 : _l.header.uploadButtonSingle)))), h("div", { class: "file-uploader__list-content scrollable" }, Array.from(this.fileStates.values()).map(file => (h("gx-ide-file-item", { key: file.id, file: file, editable: this.canEditName, onFileNameChange: __classPrivateFieldGet(this, _FileUploader_handleNameChange, "f"), onFileDelete: __classPrivateFieldGet(this, _FileUploader_handleFileCancel, "f"), onFileCancel: __classPrivateFieldGet(this, _FileUploader_handleFileCancel, "f") }))))))), h("div", { class: "dialog-footer control-footer control-footer-with-border" }, h("div", { class: "buttons-spacer" }, h("button", { class: "button-secondary", type: "button", onClick: __classPrivateFieldGet(this, _FileUploader_handleCancel, "f") }, (_m = __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")) === null || _m === void 0 ? void 0 : _m.buttons.cancel), h("button", { class: "button-primary", type: "button", onClick: __classPrivateFieldGet(this, _FileUploader_handleConfirm, "f"), disabled: this.fileStates.size === 0 ||
338
+ Array.from(this.fileStates.values()).some(file => file.pending) }, (_o = __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")) === null || _o === void 0 ? void 0 : _o.buttons.confirm))))));
356
339
  }
357
340
  static get is() { return "gx-ide-file-uploader"; }
358
341
  static get encapsulation() { return "shadow"; }
@@ -719,6 +702,7 @@ export class FileUploader {
719
702
  static get elementRef() { return "el"; }
720
703
  }
721
704
  _FileUploader__componentLocale = new WeakMap(), _FileUploader_fileInputEl = new WeakMap(), _FileUploader_dragCounter = new WeakMap(), _FileUploader_generateId = new WeakMap(), _FileUploader_handleDragEnter = new WeakMap(), _FileUploader_handleDragLeave = new WeakMap(), _FileUploader_handleDragOver = new WeakMap(), _FileUploader_handleDrop = new WeakMap(), _FileUploader_handleFileSelect = new WeakMap(), _FileUploader_handleFileInput = new WeakMap(), _FileUploader_handleFiles = new WeakMap(), _FileUploader_handleNameChange = new WeakMap(), _FileUploader_handleFileCancel = new WeakMap(), _FileUploader_handleConfirm = new WeakMap(), _FileUploader_handleCancel = new WeakMap(), _FileUploader_instances = new WeakSet(), _FileUploader_isValidFile = function _FileUploader_isValidFile(file) {
705
+ var _a, _b;
722
706
  // If no types specified, accept any file
723
707
  if (!this.types || this.types.length === 0) {
724
708
  return { isValid: true };
@@ -744,17 +728,18 @@ _FileUploader__componentLocale = new WeakMap(), _FileUploader_fileInputEl = new
744
728
  }
745
729
  return {
746
730
  isValid: false,
747
- error: __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")?.errors?.invalidFileType || "Invalid file type"
731
+ error: ((_b = (_a = __classPrivateFieldGet(this, _FileUploader__componentLocale, "f")) === null || _a === void 0 ? void 0 : _a.errors) === null || _b === void 0 ? void 0 : _b.invalidFileType) || "Invalid file type"
748
732
  };
749
733
  }, _FileUploader_getValidFiles = function _FileUploader_getValidFiles(files) {
750
734
  const validFiles = [];
751
735
  Array.from(files).forEach(file => {
736
+ var _a;
752
737
  const validation = __classPrivateFieldGet(this, _FileUploader_instances, "m", _FileUploader_isValidFile).call(this, file);
753
738
  if (validation.isValid) {
754
739
  validFiles.push(file);
755
740
  }
756
741
  else {
757
- this.fileValidationErrorCallback?.({
742
+ (_a = this.fileValidationErrorCallback) === null || _a === void 0 ? void 0 : _a.call(this, {
758
743
  fileName: file.name,
759
744
  error: validation.error
760
745
  });
@@ -1 +1 @@
1
- {"version":3,"file":"file-uploader.js","sourceRoot":"","sources":["../../../src/components/file-uploader/file-uploader.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,mEAAmE;AACnE,iEAAiE;AACjE,qBAAqB;AACrB,OAAO,EACL,SAAS,EACT,IAAI,EACJ,CAAC,EACD,IAAI,EACJ,OAAO,EACP,KAAK,EACL,MAAM,EACP,MAAM,eAAe,CAAC;AAEvB,OAAO,EAAkB,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAC/D,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAG7C,MAAM,SAAS,GAAG,WAAW,CAAC;IAC5B,QAAQ,EAAE,cAAc;IACxB,IAAI,EAAE,KAAK;IACX,SAAS,EAAE,SAAS;CACrB,CAAC,CAAC;AAEH,MAAM,WAAW,GAAmB;IAClC,mBAAmB;IACnB,mBAAmB;IACnB,iBAAiB;IACjB,qBAAqB;IACrB,iBAAiB;IACjB,kBAAkB;IAClB,eAAe;IACf,YAAY;IACZ,cAAc;IACd,iBAAiB;IACjB,qBAAqB;CACtB,CAAC;AAaF,MAAM,OAAO,YAAY;;;QACvB,iDAAuB;QACvB,4CAAgC;QAiEhC,oCAAe,CAAC,EAAC;QAOjB,oDAAoD;QACpD,mCAAc,GAAW,EAAE;YACzB,OAAO,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACjD,CAAC,EAAC;QAuDF,+BAA+B;QAC/B,wCAAmB,CAAC,CAAY,EAAE,EAAE;;YAClC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,wDAAA,CAAA,iEAAiB,EAAjB,IAAmB,IAAA,CAAA,MAAA,CAAC;YACpB,IAAI,CAAC,UAAU,GAAG,IAAI,CAAC;QACzB,CAAC,EAAC;QAEF,+BAA+B;QAC/B,wCAAmB,CAAC,CAAY,EAAE,EAAE;;YAClC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,wDAAA,CAAA,iEAAiB,EAAjB,IAAmB,IAAA,CAAA,MAAA,CAAC;YACpB,IAAI,uBAAA,IAAI,iCAAa,KAAK,CAAC,EAAE;gBAC3B,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;aACzB;QACH,CAAC,EAAC;QAEF,8BAA8B;QAC9B,uCAAkB,CAAC,CAAY,EAAE,EAAE;YACjC,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;QACtB,CAAC,EAAC;QAEF,yBAAyB;QACzB,mCAAc,CAAC,CAAY,EAAE,EAAE;YAC7B,CAAC,CAAC,cAAc,EAAE,CAAC;YACnB,CAAC,CAAC,eAAe,EAAE,CAAC;YACpB,IAAI,CAAC,UAAU,GAAG,KAAK,CAAC;YACxB,uBAAA,IAAI,6BAAgB,CAAC,MAAA,CAAC;YAEtB,MAAM,KAAK,GAAG,CAAC,CAAC,YAAY,EAAE,KAAK,CAAC;YACpC,IAAI,KAAK,EAAE;gBACT,uBAAA,IAAI,iCAAa,MAAjB,IAAI,EAAc,KAAK,CAAC,CAAC;aAC1B;QACH,CAAC,EAAC;QAEF,gCAAgC;QAChC,yCAAoB,GAAG,EAAE;YACvB,uBAAA,IAAI,iCAAa,EAAE,KAAK,EAAE,CAAC;QAC7B,CAAC,EAAC;QAEF,sCAAsC;QACtC,wCAAmB,CAAC,CAAQ,EAAE,EAAE;YAC9B,MAAM,KAAK,GAAI,CAAC,CAAC,MAA2B,CAAC,KAAK,CAAC;YACnD,IAAI,KAAK,EAAE;gBACT,uBAAA,IAAI,iCAAa,MAAjB,IAAI,EAAc,KAAK,CAAC,CAAC;aAC1B;QACH,CAAC,EAAC;QAEF,wCAAwC;QACxC,oCAAe,CAAC,KAAe,EAAE,EAAE;YACjC,MAAM,UAAU,GAAW,uBAAA,IAAI,4DAAe,MAAnB,IAAI,EAAgB,KAAK,CAAC,CAAC;YAEtD,UAAU,CAAC,OAAO,CAAC,KAAK,EAAC,IAAI,EAAC,EAAE;gBAC9B,MAAM,EAAE,GAAG,uBAAA,IAAI,gCAAY,MAAhB,IAAI,CAAc,CAAC;gBAC9B,MAAM,SAAS,GAAoB;oBACjC,EAAE;oBACF,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,IAAI;oBACJ,OAAO,EAAE,IAAI;oBACb,QAAQ,EAAE,CAAC;iBACZ,CAAC;gBAEF,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE;oBAClB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;iBACzB;gBAED,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,SAAS,CAAC,CAAC,CAAC;gBAE9D,IAAI,IAAI,CAAC,cAAc,EAAE;oBACvB,IAAI;wBACF,MAAM,aAAa,GAAG,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE;4BACzD,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;4BACtC,IAAI,KAAK,EAAE;gCACT,MAAM,YAAY,GAAG;oCACnB,GAAG,KAAK;oCACR,QAAQ,EAAE,QAAQ;oCAClB,OAAO,EAAE,QAAQ,GAAG,GAAG;iCACxB,CAAC;gCACF,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;6BAClE;wBACH,CAAC,CAAC,CAAC;wBAEH,6DAA6D;wBAC7D,MAAM,gBAAgB,GAAG;4BACvB,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC;4BAC1B,aAAa;yBACd,CAAC;wBACF,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,gBAAgB,CAAC,CAAC,CAAC;wBAErE,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC;wBACnC,OAAO,CAAC,GAAG,CAAC,gBAAgB,EAAE,EAAE,EAAE,EAAE,MAAM,EAAE,CAAC,CAAC;wBAE9C,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBACtC,IAAI,KAAK,EAAE;4BACT,IAAI,MAAM,CAAC,OAAO,IAAI,MAAM,CAAC,QAAQ,EAAE;gCACrC,MAAM,YAAY,GAAG;oCACnB,GAAG,KAAK;oCACR,QAAQ,EAAE,MAAM,CAAC,QAAQ;oCACzB,OAAO,EAAE,KAAK;oCACd,QAAQ,EAAE,GAAG;iCACd,CAAC;gCACF,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;gCACjE,OAAO,CAAC,GAAG,CAAC,6BAA6B,EAAE,YAAY,CAAC,CAAC;gCACzD,MAAM,IAAI,CAAC,oBAAoB,EAAE,CAAC;oCAChC,IAAI,EAAE,KAAK,CAAC,IAAI;oCAChB,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;oCAC7B,QAAQ,EAAE,MAAM,CAAC,QAAQ;iCAC1B,CAAC,CAAC;6BACJ;iCAAM;gCACL,MAAM,YAAY,GAAG;oCACnB,GAAG,KAAK;oCACR,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,IAAI,eAAe;oCAC/C,OAAO,EAAE,KAAK;iCACf,CAAC;gCACF,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;gCACjE,OAAO,CAAC,GAAG,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;6BAClD;yBACF;qBACF;oBAAC,OAAO,KAAK,EAAE;wBACd,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;wBACtC,IAAI,KAAK,EAAE;4BACT,MAAM,YAAY,GAAG;gCACnB,GAAG,KAAK;gCACR,KAAK,EACH,KAAK,YAAY,KAAK;oCACpB,CAAC,CAAC,KAAK,CAAC,OAAO;oCACf,CAAC,CAAC,wBAAwB;gCAC9B,OAAO,EAAE,KAAK;6BACf,CAAC;4BACF,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,YAAY,CAAC,CAAC,CAAC;4BACjE,OAAO,CAAC,GAAG,CAAC,oBAAoB,EAAE,YAAY,CAAC,CAAC;yBACjD;qBACF;iBACF;YACH,CAAC,CAAC,CAAC;YAEH,IAAI,uBAAA,IAAI,iCAAa,EAAE;gBACrB,uBAAA,IAAI,iCAAa,CAAC,KAAK,GAAG,EAAE,CAAC;aAC9B;QACH,CAAC,EAAC;QAEF,+BAA+B;QAC/B,yCAAoB,KAAK,EACvB,KAAgD,EAChD,EAAE;YACF,MAAM,EAAE,EAAE,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;YAClC,MAAM,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YAErC,IAAI,IAAI,EAAE;gBACR,MAAM,WAAW,GAAG;oBAClB,GAAG,IAAI;oBACP,IAAI,EAAE,IAAI,CAAC,IAAI,EAAE;oBACjB,SAAS,EAAE,KAAK;iBACjB,CAAC;gBAEF,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,EAAE,WAAW,CAAC,CAAC,CAAC;gBAChE,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC,EAAE,MAAM,EAAE,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;aACxE;QACH,CAAC,EAAC;QAEF,uDAAuD;QACvD,yCAAoB,KAAK,EAAE,KAA0B,EAAE,EAAE;YACvD,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC;YACxB,MAAM,KAAK,GAAG,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;YACtC,IAAI,KAAK,EAAE;gBACT,IAAI;oBACF,IAAI,KAAK,CAAC,OAAO,EAAE;wBACjB,4BAA4B;wBAC5B,IACE,KAAK,CAAC,aAAa;4BACnB,OAAO,KAAK,CAAC,aAAa,CAAC,MAAM,KAAK,UAAU,EAChD;4BACA,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;yBAC9B;6BAAM,IAAI,IAAI,CAAC,oBAAoB,EAAE;4BACpC,MAAM,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;yBACrC;wBAED,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC,EAAE,CAAC,CAAC;wBAEzC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;wBAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;qBAC5C;yBAAM;wBACL,MAAM,YAAY,GAAiB;4BACjC,IAAI,EAAE,KAAK,CAAC,IAAI;4BAChB,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI;4BAC7B,QAAQ,EAAE,KAAK,CAAC,QAAQ;yBACzB,CAAC;wBAEF,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC,YAAY,CAAC,CAAC;wBAE/D,IAAI,YAAY,EAAE;4BAChB,MAAM,IAAI,CAAC,mBAAmB,EAAE,CAAC,YAAY,CAAC,CAAC;4BAC/C,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;4BAC3B,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;yBAC5C;qBACF;iBACF;gBAAC,OAAO,KAAK,EAAE;oBACd,MAAM,IAAI,CAAC,yBAAyB,EAAE,CAAC;wBACrC,QAAQ,EAAE,KAAK,CAAC,IAAI;wBACpB,KAAK,EACH,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,wBAAwB;qBACpE,CAAC,CAAC;iBACJ;aACF;QACH,CAAC,EAAC;QAEF,kCAAkC;QAClC,sCAAiB,KAAK,IAAI,EAAE;YAC1B,uCAAuC;YACvC,MAAM,iBAAiB,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACjE,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CACrB,CAAC;YAEF,IAAI,iBAAiB,EAAE;gBACrB,OAAO,CAAC,mDAAmD;aAC5D;YAED,6DAA6D;YAC7D,MAAM,aAAa,GAAmB,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC;iBACvE,MAAM,CAAC,IAAI,CAAC,EAAE;gBACb,MAAM,OAAO,GAAG,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC9D,OAAO,CAAC,GAAG,CAAC,kBAAkB,EAAE;oBAC9B,EAAE,EAAE,IAAI,CAAC,EAAE;oBACX,IAAI,EAAE,IAAI,CAAC,IAAI;oBACf,OAAO,EAAE,IAAI,CAAC,OAAO;oBACrB,QAAQ,EAAE,IAAI,CAAC,QAAQ;oBACvB,KAAK,EAAE,IAAI,CAAC,KAAK;oBACjB,OAAO;iBACR,CAAC,CAAC;gBACH,OAAO,OAAO,CAAC;YACjB,CAAC,CAAC;iBACD,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;gBACZ,IAAI,EAAE,IAAI,CAAC,IAAI;gBACf,YAAY,EAAE,IAAI,CAAC,IAAI,CAAC,IAAI;gBAC5B,QAAQ,EAAE,IAAI,CAAC,QAAkB;aAClC,CAAC,CAAC,CAAC;YAEN,OAAO,CAAC,GAAG,CAAC,wBAAwB,EAAE,aAAa,CAAC,CAAC;YAErD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC5B,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC,aAAa,CAAC,CAAC;aACrD;YAED,oBAAoB;YACpB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACxB,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;YAE5B,mBAAmB;YACnB,IAAI,uBAAA,IAAI,iCAAa,EAAE;gBACrB,uBAAA,IAAI,iCAAa,CAAC,KAAK,GAAG,EAAE,CAAC;aAC9B;QACH,CAAC,EAAC;QAEF,kCAAkC;QAClC,qCAAgB,KAAK,IAAI,EAAE;YACzB,IAAI;gBACF,2CAA2C;gBAC3C,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE;oBACnD,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,oBAAoB,EAAE;wBAC9C,IAAI;4BACF,MAAM,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;4BACpC,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC,EAAE,CAAC,CAAC;yBAC1C;wBAAC,OAAO,KAAK,EAAE;4BACd,yCAAyC;yBAC1C;qBACF;iBACF;gBAED,8BAA8B;gBAC9B,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACxB,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;gBAE5B,IAAI,uBAAA,IAAI,iCAAa,EAAE;oBACrB,uBAAA,IAAI,iCAAa,CAAC,KAAK,GAAG,EAAE,CAAC;iBAC9B;gBAED,MAAM,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC;aACvC;YAAC,OAAO,KAAK,EAAE;gBACd,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;gBACxB,IAAI,CAAC,UAAU,GAAG,IAAI,GAAG,EAAE,CAAC;gBAC5B,MAAM,IAAI,CAAC,sBAAsB,EAAE,EAAE,CAAC;aACvC;QACH,CAAC,EAAC;qBAzZkC,EAAE;wBAGD,KAAK;2BAGF,KAAK;;;;;;;;;;;;;0BAoDe,IAAI,GAAG,EAAE;0BAC9B,KAAK;;IAG5C,gDAAgD;IAChD,KAAK,CAAC,iBAAiB;QACrB,uBAAA,IAAI,kCAAqB,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAA,CAAC;IACrE,CAAC;IA0VD,wCAAwC;IAExC,KAAK,CAAC,KAAK;QACT,KAAK,MAAM,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE;YACnD,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC,oBAAoB,EAAE;gBAC9C,IAAI;oBACF,MAAM,IAAI,CAAC,oBAAoB,CAAC,EAAE,CAAC,CAAC;oBACpC,MAAM,IAAI,CAAC,uBAAuB,EAAE,CAAC,EAAE,CAAC,CAAC;iBAC1C;gBAAC,OAAO,KAAK,EAAE;oBACd,yCAAyC;iBAC1C;aACF;SACF;QACD,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;IAC1B,CAAC;IAED,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,IAAC,KAAK,EAAC,QAAQ;YAClB,gBAAU,KAAK,EAAE,WAAW,GAAa;YACzC,aACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,cAAc,EACpB,QAAQ,EAAE,IAAI,CAAC,QAAQ,EACvB,MAAM,EAAE,IAAI,CAAC,KAAK;oBAChB,EAAE,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;qBACxD,IAAI,CAAC,GAAG,CAAC,EACZ,QAAQ,EAAE,uBAAA,IAAI,qCAAiB,EAC/B,GAAG,EAAE,EAAE,CAAC,EAAE,CAAC,CAAC,uBAAA,IAAI,6BAAgB,EAAsB,MAAA,CAAC,iBAC3C,MAAM,EAClB,QAAQ,EAAE,CAAC,CAAC,EACZ,KAAK,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,GAC1B;YACF,WAAK,KAAK,EAAC,sBAAsB;gBAC/B,WAAK,KAAK,EAAC,gBAAgB,IACxB,IAAI,CAAC,UAAU,IAAI,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,CAC/C,WACE,KAAK,EAAE;wBACL,0BAA0B,EAAE,IAAI;wBAChC,oCAAoC,EAAE,IAAI,CAAC,UAAU;qBACtD,EACD,WAAW,EAAE,uBAAA,IAAI,qCAAiB,EAClC,WAAW,EAAE,uBAAA,IAAI,qCAAiB,EAClC,UAAU,EAAE,uBAAA,IAAI,oCAAgB,EAChC,MAAM,EAAE,uBAAA,IAAI,gCAAY;oBAExB,cACE,KAAK,EAAC,sCAAsC,EAC5C,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,uBAAA,IAAI,sCAAkB;wBAE/B,gBAAU,KAAK,EAAC,SAAS,EAAC,GAAG,EAAE,SAAS,GAAa;wBACrD,aAAO,KAAK,EAAC,OAAO,IACjB,IAAI,CAAC,QAAQ;4BACZ,CAAC,CAAC,uBAAA,IAAI,sCAAkB,EAAE,MAAM,CAAC,oBAAoB;4BACrD,CAAC,CAAC,uBAAA,IAAI,sCAAkB,EAAE,MAAM,CAAC,kBAAkB,CAC/C,CACD;oBACT,WAAK,KAAK,EAAC,gBAAgB;wBACzB,WAAK,KAAK,EAAC,mBAAmB;4BAC5B,aAAO,KAAK,EAAC,OAAO,IACjB,IAAI,CAAC,KAAK,IAAI,uBAAA,IAAI,sCAAkB,EAAE,MAAM,CAAC,MAAM,CAC9C;4BACR,aAAO,KAAK,EAAC,OAAO,IACjB,uBAAA,IAAI,sCAAkB,EAAE,MAAM,CAAC,WAAW,CACrC,CACJ;wBACN,YAAM,KAAK,EAAC,SAAS,IAClB,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;4BAClC,CAAC,CAAC,uBAAA,IAAI,sCAAkB,EAAE,MAAM,CAAC,aAAa,CAAC,OAAO,CAClD,KAAK,EACL,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CACtB;4BACH,CAAC,CAAC,uBAAA,IAAI,sCAAkB,EAAE,MAAM,CAAC,gBAAgB,CAC9C,CACH,CACF,CACP,CAAC,CAAC,CAAC,CACF,WAAK,KAAK,EAAC,qBAAqB;oBAC9B,WAAK,KAAK,EAAC,mDAAmD;wBAC5D,WAAK,KAAK,EAAC,qCAAqC;4BAC9C,aAAO,KAAK,EAAC,OAAO,IACjB,IAAI,CAAC,KAAK;gCACT,uBAAA,IAAI,sCAAkB,EAAE,QAAQ,CAAC,aAAa,CAC1C;4BACR,YAAM,KAAK,EAAC,SAAS,IAClB,uBAAA,IAAI,sCAAkB,EAAE,QAAQ,CAAC,UAAU,CAAC,OAAO,CAClD,KAAK,EACL,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,EAAE,CAChC,CACI,CACH;wBACL,IAAI,CAAC,QAAQ,IAAI,CAChB,cACE,KAAK,EAAC,sCAAsC,EAC5C,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,uBAAA,IAAI,sCAAkB;4BAE/B,gBAAU,KAAK,EAAC,SAAS,EAAC,GAAG,EAAE,SAAS,GAAa;4BACrD,aAAO,KAAK,EAAC,OAAO,IACjB,IAAI,CAAC,QAAQ;gCACZ,CAAC,CAAC,uBAAA,IAAI,sCAAkB,EAAE,MAAM,CAAC,oBAAoB;gCACrD,CAAC,CAAC,uBAAA,IAAI,sCAAkB,EAAE,MAAM,CAAC,kBAAkB,CAC/C,CACD,CACV,CACG;oBACN,WAAK,KAAK,EAAC,wCAAwC,IAChD,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,CAChD,wBACE,GAAG,EAAE,IAAI,CAAC,EAAE,EACZ,IAAI,EAAE,IAAI,EACV,QAAQ,EAAE,IAAI,CAAC,WAAW,EAC1B,gBAAgB,EAAE,uBAAA,IAAI,sCAAkB,EACxC,YAAY,EAAE,uBAAA,IAAI,sCAAkB,EACpC,YAAY,EAAE,uBAAA,IAAI,sCAAkB,GACpC,CACH,CAAC,CACE,CACF,CACP,CACG;gBACN,WAAK,KAAK,EAAC,yDAAyD;oBAClE,WAAK,KAAK,EAAC,gBAAgB;wBACzB,cACE,KAAK,EAAC,kBAAkB,EACxB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,uBAAA,IAAI,kCAAc,IAE1B,uBAAA,IAAI,sCAAkB,EAAE,OAAO,CAAC,MAAM,CAChC;wBACT,cACE,KAAK,EAAC,gBAAgB,EACtB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,uBAAA,IAAI,mCAAe,EAC5B,QAAQ,EACN,IAAI,CAAC,UAAU,CAAC,IAAI,KAAK,CAAC;gCAC1B,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,CAAC,IAAI,CACvC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CACrB,IAGF,uBAAA,IAAI,sCAAkB,EAAE,OAAO,CAAC,OAAO,CACjC,CACL,CACF,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF;ixBAxec,IAAU;IACrB,yCAAyC;IACzC,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE;QAC1C,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;KAC1B;IAED,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,EAAE;QAC7B,kCAAkC;QAClC,IAAI,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE;YACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE;gBAClC,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;aAC1B;SACF;QACD,gCAAgC;aAC3B,IAAI,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,EAAE;YAC7B,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC,EAAE;gBACxD,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;aAC1B;SACF;QACD,6BAA6B;aACxB,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,IAAI,CAAC,IAAI,KAAK,eAAe,IAAI,EAAE,EAAE;YAClE,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;SAC1B;KACF;IAED,OAAO;QACL,OAAO,EAAE,KAAK;QACd,KAAK,EACH,uBAAA,IAAI,sCAAkB,EAAE,MAAM,EAAE,eAAe,IAAI,mBAAmB;KACzE,CAAC;AACJ,CAAC,qEAGc,KAAe;IAC5B,MAAM,UAAU,GAAW,EAAE,CAAC;IAE9B,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC/B,MAAM,UAAU,GAAG,uBAAA,IAAI,0DAAa,MAAjB,IAAI,EAAc,IAAI,CAAC,CAAC;QAC3C,IAAI,UAAU,CAAC,OAAO,EAAE;YACtB,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;SACvB;aAAM;YACL,IAAI,CAAC,2BAA2B,EAAE,CAAC;gBACjC,QAAQ,EAAE,IAAI,CAAC,IAAI;gBACnB,KAAK,EAAE,UAAU,CAAC,KAAK;aACxB,CAAC,CAAC;SACJ;IACH,CAAC,CAAC,CAAC;IAEH,OAAO,UAAU,CAAC;AACpB,CAAC","sourcesContent":["/* 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"]}
1
+ {"version":3,"file":"file-uploader.js","sourceRoot":"","sources":["../../../src/components/file-uploader/file-uploader.tsx"],"names":[],"mappings":"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","sourcesContent":["/* 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"]}
@@ -54,7 +54,8 @@ export class GxIdeGamInstallationSettings {
54
54
  }
55
55
  });
56
56
  _GxIdeGamInstallationSettings_renderFilters.set(this, () => {
57
- 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
57
+ var _a;
58
+ 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)
58
59
  ? "webPanels"
59
60
  : 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 &&
60
61
  this.canSelectPanels
@@ -1 +1 @@
1
- {"version":3,"file":"gam-installation-settings.js","sourceRoot":"","sources":["../../../src/components/gam-installation-settings/gam-installation-settings.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iEAAiE;AACjE,qBAAqB;AACrB,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAIlE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,MAAM,WAAW,GAAmB;IAClC,mBAAmB;IACnB,mBAAmB;IACnB,qBAAqB;IACrB,sBAAsB;IACtB,iBAAiB;IACjB,YAAY;IACZ,cAAc;IACd,kBAAkB;CACnB,CAAC;AAOF,MAAM,OAAO,4BAA4B;;QACvC;;WAEG;QACH,iEAAuB;QAIvB,sEAAqD;QACrD,iEAA0C;QAC1C,oEAA6C;QA0C7C,8DAAyB,GAAG,EAAE;YAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,EAAC;QAEF,8DAAyB,KAAK,IAAI,EAAE;YAClC,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,MAAM,IAAI,GAAkB;oBAC1B,eAAe,EAAE,CAAC,CAAC,uBAAA,IAAI,yDAAqB,CAAC,KAAK;oBAClD,YAAY,EAAE,CAAC,CAAC,uBAAA,IAAI,sDAAkB,CAAC,KAAK;oBAC5C,cAAc,EAAE,uBAAA,IAAI,2DAAuB,CAAC,KAAK;wBAC/C,CAAC,CAAE,uBAAA,IAAI,2DAAuB,CAAC,KAAqB;wBACpD,CAAC,CAAC,IAAI;iBACT,CAAC;gBACF,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;aACjC;QACH,CAAC,EAAC;QAEF,sDAAiB,GAAG,EAAE;YACpB,OAAO,CACL,WACE,KAAK,EAAC,aAAa,EACnB,IAAI,EAAC,QAAQ,gBACD,uBAAA,IAAI,sDAAkB,CAAC,OAAO,CAAC,cAAc;gBAEzD,UAAI,KAAK,EAAC,uCAAuC,IAC9C,uBAAA,IAAI,sDAAkB,CAAC,OAAO,CAAC,cAAc,CAC3C;gBAEL,WAAK,KAAK,EAAC,kBAAkB;oBAC3B,WACE,KAAK,EAAC,aAAa,EACnB,IAAI,EAAC,OAAO,qBACI,wBAAwB;wBAExC,WAAK,KAAK,EAAC,mBAAmB;4BAC5B,aAAO,EAAE,EAAC,wBAAwB,EAAC,KAAK,EAAC,OAAO,IAC7C,uBAAA,IAAI,sDAAkB,CAAC,OAAO,CAAC,eAAe,CACzC;4BAER,WAAK,KAAK,EAAC,oBAAoB;gCAC7B,mBACE,KAAK,EAAC,UAAU,EAChB,YAAY,EAAC,WAAW,EACxB,KAAK,EACH,IAAI,CAAC,oBAAoB,EAAE,eAAe;wCACxC,CAAC,CAAC,WAAW;wCACb,CAAC,CAAC,SAAS,EAEf,OAAO,EAAE,uBAAA,IAAI,sDAAkB,CAAC,OAAO,CAAC,iBAAiB,EACzD,GAAG,EAAE,CAAC,EAAyB,EAAE,EAAE,CACjC,CAAC,uBAAA,IAAI,qDAAwB,EAA2B,MAAA,CAAC,EAE3D,IAAI,EAAC,qBAAqB,GACb;gCAEf,mBACE,KAAK,EAAC,UAAU,EAChB,YAAY,EAAC,QAAQ,EACrB,KAAK,EACH,IAAI,CAAC,oBAAoB,CAAC,YAAY;wCACtC,IAAI,CAAC,eAAe;wCAClB,CAAC,CAAC,QAAQ;wCACV,CAAC,CAAC,SAAS,EAEf,OAAO,EAAE,uBAAA,IAAI,sDAAkB,CAAC,OAAO,CAAC,cAAc,EACtD,QAAQ,EAAE,CAAC,IAAI,CAAC,eAAe,EAC/B,GAAG,EAAE,CAAC,EAAyB,EAAE,EAAE,CACjC,CAAC,uBAAA,IAAI,kDAAqB,EAA2B,MAAA,CAAC,EAExD,IAAI,EAAC,iBAAiB,GACT,CACX,CACF;wBAEN,WAAK,KAAK,EAAC,mBAAmB;4BAC5B,aAAO,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,uBAAuB,IACjD,uBAAA,IAAI,sDAAkB,CAAC,OAAO,CAAC,wBAAwB,CAClD;4BACR,2BACE,EAAE,EAAC,uBAAuB,EAC1B,KAAK,EAAC,WAAW,EACjB,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAC/C,GAAG,EAAE,CAAC,EAA+B,EAAE,EAAE,CACvC,CAAC,uBAAA,IAAI,uDACH,EAAiC,MAAA,CAAC,EAEtC,KAAK,EAAE;oCACL;wCACE,KAAK,EAAE,WAAW;wCAClB,OAAO,EACL,uBAAA,IAAI,sDAAkB,CAAC,oBAAoB;6CACxC,oBAAoB;qCAC1B;oCACD;wCACE,KAAK,EAAE,QAAQ;wCACf,OAAO,EACL,uBAAA,IAAI,sDAAkB,CAAC,oBAAoB,CAAC,QAAQ;qCACvD;oCACD;wCACE,KAAK,EAAE,OAAO;wCACd,OAAO,EACL,uBAAA,IAAI,sDAAkB,CAAC,oBAAoB,CAAC,WAAW;qCAC1D;iCACF,EACD,IAAI,EAAC,uBAAuB,GACP,CACnB,CACF,CACF,CACF,CACP,CAAC;QACJ,CAAC,EAAC;QAEF,0DAAqB,GAAG,EAAE;YACxB,OAAO,CACL,WAAK,KAAK,EAAC,aAAa,IACrB,IAAI,CAAC,iBAAiB,KAAK,cAAc;gBACxC,CAAC,CAAC;oBACE,SAAG,KAAK,EAAC,WAAW,IAEhB,uBAAA,IAAI,sDAAkB,CAAC,MAAM,CAAC,sBAAsB;yBACjD,aAAa,CAEhB;oBACJ,SAAG,KAAK,EAAC,WAAW,IAEhB,uBAAA,IAAI,sDAAkB,CAAC,MAAM,CAAC,sBAAsB;yBACjD,cAAc,CAEjB;oBACJ,SAAG,KAAK,EAAC,WAAW,IAEhB,uBAAA,IAAI,sDAAkB,CAAC,MAAM,CAAC,sBAAsB;yBACjD,aAAa,CAEhB;iBACL;gBACH,CAAC,CAAC;oBACE,SAAG,KAAK,EAAC,WAAW,IACjB,uBAAA,IAAI,sDAAkB,CAAC,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAC3D;oBACJ,SAAG,KAAK,EAAC,WAAW,IACjB,uBAAA,IAAI,sDAAkB,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAC5D;iBACL,CAED,CACP,CAAC;QACJ,CAAC,EAAC;QAEF,4DAAuB,KAAK,IAAI,EAAE;YAChC,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,MAAM,IAAI,GAAkB;oBAC1B,eAAe,EAAE,CAAC,CAAC,uBAAA,IAAI,yDAAqB,CAAC,KAAK;oBAClD,YAAY,EAAE,CAAC,CAAC,uBAAA,IAAI,sDAAkB,CAAC,KAAK;oBAC5C,cAAc,EAAE,uBAAA,IAAI,2DAAuB,CAAC,KAAK;wBAC/C,CAAC,CAAE,uBAAA,IAAI,2DAAuB,CAAC,KAAqB;wBACpD,CAAC,CAAC,IAAI;iBACT,CAAC;gBACF,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aAC/B;QACH,CAAC,EAAC;;+BAhM0C,KAAK;iCAM/C,cAAc;oCAKmD;YACjE,eAAe,EAAE,IAAI;YACrB,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,QAAQ;SACzB;;;;IAYD,KAAK,CAAC,iBAAiB;QACrB,uBAAA,IAAI,kDAAqB,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAA,CAAC;IACrE,CAAC;IAqKD,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,IAAC,KAAK,EAAC,qBAAqB;YAC/B,gBAAU,KAAK,EAAE,WAAW,GAAa;YAEzC,WAAK,KAAK,EAAC,2CAA2C,IACnD,uBAAA,IAAI,uDAAmB,MAAvB,IAAI,CAAqB,CACtB;YACN,WAAK,KAAK,EAAC,0BAA0B,IAAE,uBAAA,IAAI,mDAAe,MAAnB,IAAI,CAAiB,CAAO;YAEnE,WAAK,KAAK,EAAC,QAAQ;gBAChB,IAAI,CAAC,iBAAiB,KAAK,QAAQ,IAAI,CACtC,WAAK,KAAK,EAAC,aAAa;oBACtB,yDAAgD,CAC5C,CACP;gBAED,WAAK,KAAK,EAAC,yDAAyD;oBACjE,IAAI,CAAC,iBAAiB,KAAK,QAAQ,IAAI,CACtC,cACE,EAAE,EAAC,eAAe,EAClB,KAAK,EAAC,kBAAkB,EACxB,OAAO,EAAE,uBAAA,IAAI,2DAAuB,EACpC,IAAI,EAAC,uBAAuB,aAGrB,CACV;oBACD,WAAK,KAAK,EAAC,gBAAgB;wBACzB,cACE,EAAE,EAAC,eAAe,EAClB,KAAK,EAAC,kBAAkB,EACxB,OAAO,EAAE,uBAAA,IAAI,2DAAuB,EACpC,IAAI,EAAC,uBAAuB,aAGrB;wBACT,cACE,EAAE,EAAC,gBAAgB,EACnB,KAAK,EAAC,gBAAgB,EACtB,OAAO,EAAE,uBAAA,IAAI,yDAAqB,EAClC,IAAI,EAAC,wBAAwB,WAGtB,CACL,CACF,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["/* 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"]}
1
+ {"version":3,"file":"gam-installation-settings.js","sourceRoot":"","sources":["../../../src/components/gam-installation-settings/gam-installation-settings.tsx"],"names":[],"mappings":";;;;;;;;;;;;AAAA,iEAAiE;AACjE,qBAAqB;AACrB,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAIlE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAC;AAE7C,MAAM,WAAW,GAAmB;IAClC,mBAAmB;IACnB,mBAAmB;IACnB,qBAAqB;IACrB,sBAAsB;IACtB,iBAAiB;IACjB,YAAY;IACZ,cAAc;IACd,kBAAkB;CACnB,CAAC;AAOF,MAAM,OAAO,4BAA4B;;QACvC;;WAEG;QACH,iEAAuB;QAIvB,sEAAqD;QACrD,iEAA0C;QAC1C,oEAA6C;QA0C7C,8DAAyB,GAAG,EAAE;YAC5B,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,EAAC;QAEF,8DAAyB,KAAK,IAAI,EAAE;YAClC,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,MAAM,IAAI,GAAkB;oBAC1B,eAAe,EAAE,CAAC,CAAC,uBAAA,IAAI,yDAAqB,CAAC,KAAK;oBAClD,YAAY,EAAE,CAAC,CAAC,uBAAA,IAAI,sDAAkB,CAAC,KAAK;oBAC5C,cAAc,EAAE,uBAAA,IAAI,2DAAuB,CAAC,KAAK;wBAC/C,CAAC,CAAE,uBAAA,IAAI,2DAAuB,CAAC,KAAqB;wBACpD,CAAC,CAAC,IAAI;iBACT,CAAC;gBACF,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;aACjC;QACH,CAAC,EAAC;QAEF,sDAAiB,GAAG,EAAE;;YACpB,OAAO,CACL,WACE,KAAK,EAAC,aAAa,EACnB,IAAI,EAAC,QAAQ,gBACD,uBAAA,IAAI,sDAAkB,CAAC,OAAO,CAAC,cAAc;gBAEzD,UAAI,KAAK,EAAC,uCAAuC,IAC9C,uBAAA,IAAI,sDAAkB,CAAC,OAAO,CAAC,cAAc,CAC3C;gBAEL,WAAK,KAAK,EAAC,kBAAkB;oBAC3B,WACE,KAAK,EAAC,aAAa,EACnB,IAAI,EAAC,OAAO,qBACI,wBAAwB;wBAExC,WAAK,KAAK,EAAC,mBAAmB;4BAC5B,aAAO,EAAE,EAAC,wBAAwB,EAAC,KAAK,EAAC,OAAO,IAC7C,uBAAA,IAAI,sDAAkB,CAAC,OAAO,CAAC,eAAe,CACzC;4BAER,WAAK,KAAK,EAAC,oBAAoB;gCAC7B,mBACE,KAAK,EAAC,UAAU,EAChB,YAAY,EAAC,WAAW,EACxB,KAAK,EACH,CAAA,MAAA,IAAI,CAAC,oBAAoB,0CAAE,eAAe;wCACxC,CAAC,CAAC,WAAW;wCACb,CAAC,CAAC,SAAS,EAEf,OAAO,EAAE,uBAAA,IAAI,sDAAkB,CAAC,OAAO,CAAC,iBAAiB,EACzD,GAAG,EAAE,CAAC,EAAyB,EAAE,EAAE,CACjC,CAAC,uBAAA,IAAI,qDAAwB,EAA2B,MAAA,CAAC,EAE3D,IAAI,EAAC,qBAAqB,GACb;gCAEf,mBACE,KAAK,EAAC,UAAU,EAChB,YAAY,EAAC,QAAQ,EACrB,KAAK,EACH,IAAI,CAAC,oBAAoB,CAAC,YAAY;wCACtC,IAAI,CAAC,eAAe;wCAClB,CAAC,CAAC,QAAQ;wCACV,CAAC,CAAC,SAAS,EAEf,OAAO,EAAE,uBAAA,IAAI,sDAAkB,CAAC,OAAO,CAAC,cAAc,EACtD,QAAQ,EAAE,CAAC,IAAI,CAAC,eAAe,EAC/B,GAAG,EAAE,CAAC,EAAyB,EAAE,EAAE,CACjC,CAAC,uBAAA,IAAI,kDAAqB,EAA2B,MAAA,CAAC,EAExD,IAAI,EAAC,iBAAiB,GACT,CACX,CACF;wBAEN,WAAK,KAAK,EAAC,mBAAmB;4BAC5B,aAAO,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,uBAAuB,IACjD,uBAAA,IAAI,sDAAkB,CAAC,OAAO,CAAC,wBAAwB,CAClD;4BACR,2BACE,EAAE,EAAC,uBAAuB,EAC1B,KAAK,EAAC,WAAW,EACjB,KAAK,EAAE,IAAI,CAAC,oBAAoB,CAAC,cAAc,EAC/C,GAAG,EAAE,CAAC,EAA+B,EAAE,EAAE,CACvC,CAAC,uBAAA,IAAI,uDACH,EAAiC,MAAA,CAAC,EAEtC,KAAK,EAAE;oCACL;wCACE,KAAK,EAAE,WAAW;wCAClB,OAAO,EACL,uBAAA,IAAI,sDAAkB,CAAC,oBAAoB;6CACxC,oBAAoB;qCAC1B;oCACD;wCACE,KAAK,EAAE,QAAQ;wCACf,OAAO,EACL,uBAAA,IAAI,sDAAkB,CAAC,oBAAoB,CAAC,QAAQ;qCACvD;oCACD;wCACE,KAAK,EAAE,OAAO;wCACd,OAAO,EACL,uBAAA,IAAI,sDAAkB,CAAC,oBAAoB,CAAC,WAAW;qCAC1D;iCACF,EACD,IAAI,EAAC,uBAAuB,GACP,CACnB,CACF,CACF,CACF,CACP,CAAC;QACJ,CAAC,EAAC;QAEF,0DAAqB,GAAG,EAAE;YACxB,OAAO,CACL,WAAK,KAAK,EAAC,aAAa,IACrB,IAAI,CAAC,iBAAiB,KAAK,cAAc;gBACxC,CAAC,CAAC;oBACE,SAAG,KAAK,EAAC,WAAW,IAEhB,uBAAA,IAAI,sDAAkB,CAAC,MAAM,CAAC,sBAAsB;yBACjD,aAAa,CAEhB;oBACJ,SAAG,KAAK,EAAC,WAAW,IAEhB,uBAAA,IAAI,sDAAkB,CAAC,MAAM,CAAC,sBAAsB;yBACjD,cAAc,CAEjB;oBACJ,SAAG,KAAK,EAAC,WAAW,IAEhB,uBAAA,IAAI,sDAAkB,CAAC,MAAM,CAAC,sBAAsB;yBACjD,aAAa,CAEhB;iBACL;gBACH,CAAC,CAAC;oBACE,SAAG,KAAK,EAAC,WAAW,IACjB,uBAAA,IAAI,sDAAkB,CAAC,MAAM,CAAC,gBAAgB,CAAC,aAAa,CAC3D;oBACJ,SAAG,KAAK,EAAC,WAAW,IACjB,uBAAA,IAAI,sDAAkB,CAAC,MAAM,CAAC,gBAAgB,CAAC,cAAc,CAC5D;iBACL,CAED,CACP,CAAC;QACJ,CAAC,EAAC;QAEF,4DAAuB,KAAK,IAAI,EAAE;YAChC,IAAI,IAAI,CAAC,YAAY,EAAE;gBACrB,MAAM,IAAI,GAAkB;oBAC1B,eAAe,EAAE,CAAC,CAAC,uBAAA,IAAI,yDAAqB,CAAC,KAAK;oBAClD,YAAY,EAAE,CAAC,CAAC,uBAAA,IAAI,sDAAkB,CAAC,KAAK;oBAC5C,cAAc,EAAE,uBAAA,IAAI,2DAAuB,CAAC,KAAK;wBAC/C,CAAC,CAAE,uBAAA,IAAI,2DAAuB,CAAC,KAAqB;wBACpD,CAAC,CAAC,IAAI;iBACT,CAAC;gBACF,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;aAC/B;QACH,CAAC,EAAC;;+BAhM0C,KAAK;iCAM/C,cAAc;oCAKmD;YACjE,eAAe,EAAE,IAAI;YACrB,YAAY,EAAE,KAAK;YACnB,cAAc,EAAE,QAAQ;SACzB;;;;IAYD,KAAK,CAAC,iBAAiB;QACrB,uBAAA,IAAI,kDAAqB,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAA,CAAC;IACrE,CAAC;IAqKD,MAAM;QACJ,OAAO,CACL,EAAC,IAAI,IAAC,KAAK,EAAC,qBAAqB;YAC/B,gBAAU,KAAK,EAAE,WAAW,GAAa;YAEzC,WAAK,KAAK,EAAC,2CAA2C,IACnD,uBAAA,IAAI,uDAAmB,MAAvB,IAAI,CAAqB,CACtB;YACN,WAAK,KAAK,EAAC,0BAA0B,IAAE,uBAAA,IAAI,mDAAe,MAAnB,IAAI,CAAiB,CAAO;YAEnE,WAAK,KAAK,EAAC,QAAQ;gBAChB,IAAI,CAAC,iBAAiB,KAAK,QAAQ,IAAI,CACtC,WAAK,KAAK,EAAC,aAAa;oBACtB,yDAAgD,CAC5C,CACP;gBAED,WAAK,KAAK,EAAC,yDAAyD;oBACjE,IAAI,CAAC,iBAAiB,KAAK,QAAQ,IAAI,CACtC,cACE,EAAE,EAAC,eAAe,EAClB,KAAK,EAAC,kBAAkB,EACxB,OAAO,EAAE,uBAAA,IAAI,2DAAuB,EACpC,IAAI,EAAC,uBAAuB,aAGrB,CACV;oBACD,WAAK,KAAK,EAAC,gBAAgB;wBACzB,cACE,EAAE,EAAC,eAAe,EAClB,KAAK,EAAC,kBAAkB,EACxB,OAAO,EAAE,uBAAA,IAAI,2DAAuB,EACpC,IAAI,EAAC,uBAAuB,aAGrB;wBACT,cACE,EAAE,EAAC,gBAAgB,EACnB,KAAK,EAAC,gBAAgB,EACtB,OAAO,EAAE,uBAAA,IAAI,yDAAqB,EAClC,IAAI,EAAC,wBAAwB,WAGtB,CACL,CACF,CACF,CACD,CACR,CAAC;IACJ,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CACF","sourcesContent":["/* 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"]}
@@ -82,7 +82,8 @@ export class GxIdeKbManagerImport {
82
82
  this.statusInfo.success.number = 0;
83
83
  });
84
84
  _GxIdeKbManagerImport_evaluateImport.set(this, () => {
85
- this.noImport = !!(this.importTreeState?.length === 0 || !this.importTreeState);
85
+ var _a;
86
+ this.noImport = !!(((_a = this.importTreeState) === null || _a === void 0 ? void 0 : _a.length) === 0 || !this.importTreeState);
86
87
  });
87
88
  _GxIdeKbManagerImport_evaluateImportStatusMessage.set(this, () => {
88
89
  this.someStatusVisible =
@@ -167,8 +168,9 @@ export class GxIdeKbManagerImport {
167
168
  __classPrivateFieldGet(this, _GxIdeKbManagerImport_fileInputHiddenEl, "f").click();
168
169
  });
169
170
  _GxIdeKbManagerImport_selectFileInputChangedHandler.set(this, (event) => {
171
+ var _a;
170
172
  const target = event.target;
171
- if (target.files?.length > 0) {
173
+ if (((_a = target.files) === null || _a === void 0 ? void 0 : _a.length) > 0) {
172
174
  this.selectedFile = target.files[0];
173
175
  }
174
176
  });
@@ -314,13 +316,14 @@ export class GxIdeKbManagerImport {
314
316
  __classPrivateFieldGet(this, _GxIdeKbManagerImport_updateStatusItemsState, "f").call(this);
315
317
  }
316
318
  render() {
319
+ var _a, _b;
317
320
  return (h(Host, { class: "widget" }, h("ch-theme", { model: CSS_BUNDLES }), h("section", { class: "section" }, h("header", {
318
321
  // header
319
322
  class: "field-group control-header-with-border header header-two-cols spacing-body-block-start spacing-body-inline", slot: "header"
320
323
  }, h("div", {
321
324
  // select a file
322
325
  class: "field field-inline"
323
- }, 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", {
326
+ }, 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", {
324
327
  // select file
325
328
  id: "select-file-load-button", class: "button-primary", part: "select-file-load-button", onClick: __classPrivateFieldGet(this, _GxIdeKbManagerImport_selectFileInputHandler, "f"), disabled: this.importingIsInProcess
326
329
  }, __classPrivateFieldGet(this, _GxIdeKbManagerImport_componentLocale, "f").header.selectFileButton))), h("section", {
@@ -338,7 +341,7 @@ export class GxIdeKbManagerImport {
338
341
  this.objectsTreeModel.length === 0, part: "select-all-checkbox"
339
342
  }), h("div", { class: "buttons-spacer" }, h("button", {
340
343
  // import objects button
341
- id: "import-btn", class: "button-primary ", onClick: __classPrivateFieldGet(this, _GxIdeKbManagerImport_importObjectsHandler, "f"), disabled: this.objectsTreeModel?.length === 0 ||
344
+ 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 ||
342
345
  this.importingIsInProcess
343
346
  }, __classPrivateFieldGet(this, _GxIdeKbManagerImport_componentLocale, "f").main.objectsInFile.importButton), h("button", {
344
347
  // cancel-import button