@genexus/genexus-ide-ui 1.1.2 → 1.1.4

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 (293) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +1 -1
  3. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +180 -166
  5. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +1 -1
  9. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +1 -1
  13. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js.map +1 -1
  14. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +1 -1
  15. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js.map +1 -1
  16. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +1 -1
  17. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
  18. package/dist/cjs/gx-ide-card.cjs.entry.js +1 -1
  19. package/dist/cjs/gx-ide-card.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +1 -1
  21. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
  22. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js +1 -1
  23. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js.map +1 -1
  24. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +1 -1
  25. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
  26. package/dist/cjs/gx-ide-empty-state.cjs.entry.js +1 -1
  27. package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -1
  28. package/dist/cjs/gx-ide-file-item.cjs.entry.js +110 -0
  29. package/dist/cjs/gx-ide-file-item.cjs.entry.js.map +1 -0
  30. package/dist/cjs/gx-ide-file-uploader.cjs.entry.js +399 -0
  31. package/dist/cjs/gx-ide-file-uploader.cjs.entry.js.map +1 -0
  32. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +1 -1
  33. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
  34. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +1 -1
  35. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
  36. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +1 -1
  37. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js.map +1 -1
  38. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +1 -1
  39. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
  40. package/dist/cjs/gx-ide-references.cjs.entry.js +1 -1
  41. package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
  42. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
  43. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  44. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
  45. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js.map +1 -1
  46. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
  47. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
  48. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
  49. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js.map +1 -1
  50. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
  51. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  52. package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
  53. package/dist/cjs/gx-ide-template.cjs.entry.js.map +1 -1
  54. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +1 -1
  55. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js.map +1 -1
  56. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  57. package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
  58. package/dist/cjs/loader.cjs.js +1 -1
  59. package/dist/collection/collection-manifest.json +2 -0
  60. package/dist/collection/components/_helpers/card/card.css +9 -0
  61. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +9 -0
  62. package/dist/collection/components/_helpers/list-selector/list-selector.css +9 -0
  63. package/dist/collection/components/_starting-template/template.css +9 -0
  64. package/dist/collection/components/ai-assistant/ai-assistant.css +9 -0
  65. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.css +36 -27
  66. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js +217 -181
  67. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.js.map +1 -1
  68. package/dist/collection/components/bpm/application-declaration/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.en.json +14 -2
  69. package/dist/collection/components/bpm/application-declaration/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.ja.json +15 -3
  70. package/dist/collection/components/bpm/application-declaration/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.zh.json +14 -2
  71. package/dist/collection/components/bpm/assign-roles/bpm-assign-roles.css +9 -0
  72. package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.css +9 -0
  73. package/dist/collection/components/bpm/import-files/bpm-import-files.css +9 -0
  74. package/dist/collection/components/bpm/import-gxpm/bpm-import-gxpm.css +9 -0
  75. package/dist/collection/components/bpm/objects-selector/bpm-objects-selector.css +9 -0
  76. package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.css +9 -0
  77. package/dist/collection/components/dashboard-home/dashboard-home.css +9 -0
  78. package/dist/collection/components/deployment-tool/deployment-tool.css +9 -0
  79. package/dist/collection/components/file-uploader/file-item/file-item.css +97 -0
  80. package/dist/collection/components/file-uploader/file-item/file-item.js +246 -0
  81. package/dist/collection/components/file-uploader/file-item/file-item.js.map +1 -0
  82. package/dist/collection/components/file-uploader/file-uploader.css +687 -0
  83. package/dist/collection/components/file-uploader/file-uploader.js +750 -0
  84. package/dist/collection/components/file-uploader/file-uploader.js.map +1 -0
  85. package/dist/collection/components/file-uploader/gx-ide-assets/file-uploader/langs/file-uploader.lang.en.json +36 -0
  86. package/dist/collection/components/file-uploader/gx-ide-assets/file-uploader/langs/file-uploader.lang.ja.json +36 -0
  87. package/dist/collection/components/file-uploader/gx-ide-assets/file-uploader/langs/file-uploader.lang.zh.json +36 -0
  88. package/dist/collection/components/file-uploader/types.js +2 -0
  89. package/dist/collection/components/file-uploader/types.js.map +1 -0
  90. package/dist/collection/components/gam-installation-settings/gam-installation-settings.css +9 -0
  91. package/dist/collection/components/modules/edit-module-server/edit-module-server.css +9 -0
  92. package/dist/collection/components/modules/manage-module-references/manage-module-references.css +9 -0
  93. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references.css +9 -0
  94. package/dist/collection/components/references/references.css +9 -0
  95. package/dist/collection/components/team-dev/commit/commit.css +9 -0
  96. package/dist/collection/components/team-dev/select-recent-comment/select-recent-comment.css +9 -0
  97. package/dist/collection/components/team-dev/update/update.css +9 -0
  98. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +9 -0
  99. package/dist/collection/components/team-dev/update-to-revision/update-to-revision.css +9 -0
  100. package/dist/collection/components/wf-settings/wf-settings.css +9 -0
  101. package/dist/collection/components/ww-images/ww-images.css +9 -0
  102. package/dist/collection/testing/locale.e2e.js +4 -1
  103. package/dist/collection/testing/locale.e2e.js.map +1 -1
  104. package/dist/components/bpm-objects-selector.js +1 -1
  105. package/dist/components/bpm-objects-selector.js.map +1 -1
  106. package/dist/components/file-item.js +130 -0
  107. package/dist/components/file-item.js.map +1 -0
  108. package/dist/components/gx-ide-ai-assistant.js +1 -1
  109. package/dist/components/gx-ide-ai-assistant.js.map +1 -1
  110. package/dist/components/gx-ide-bpm-app-declaration.js +189 -184
  111. package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
  112. package/dist/components/gx-ide-bpm-assign-roles.js +1 -1
  113. package/dist/components/gx-ide-bpm-assign-roles.js.map +1 -1
  114. package/dist/components/gx-ide-bpm-export-xpdl.js +1 -1
  115. package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
  116. package/dist/components/gx-ide-bpm-import-files.js +1 -1
  117. package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
  118. package/dist/components/gx-ide-bpm-import-gxpm.js +1 -1
  119. package/dist/components/gx-ide-bpm-import-gxpm.js.map +1 -1
  120. package/dist/components/gx-ide-bpm-timer-duration.js +1 -1
  121. package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
  122. package/dist/components/gx-ide-card.js +1 -1
  123. package/dist/components/gx-ide-card.js.map +1 -1
  124. package/dist/components/gx-ide-dashboard-home.js +1 -1
  125. package/dist/components/gx-ide-dashboard-home.js.map +1 -1
  126. package/dist/components/gx-ide-deployment-tool.js +1 -1
  127. package/dist/components/gx-ide-deployment-tool.js.map +1 -1
  128. package/dist/components/gx-ide-edit-module-server.js +1 -1
  129. package/dist/components/gx-ide-edit-module-server.js.map +1 -1
  130. package/dist/components/gx-ide-empty-state2.js +1 -1
  131. package/dist/components/gx-ide-empty-state2.js.map +1 -1
  132. package/dist/components/gx-ide-file-item.d.ts +11 -0
  133. package/dist/components/gx-ide-file-item.js +8 -0
  134. package/dist/components/gx-ide-file-item.js.map +1 -0
  135. package/dist/components/gx-ide-file-uploader.d.ts +11 -0
  136. package/dist/components/gx-ide-file-uploader.js +438 -0
  137. package/dist/components/gx-ide-file-uploader.js.map +1 -0
  138. package/dist/components/gx-ide-gam-installation-settings.js +1 -1
  139. package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
  140. package/dist/components/gx-ide-manage-module-references-v2.js +1 -1
  141. package/dist/components/gx-ide-manage-module-references-v2.js.map +1 -1
  142. package/dist/components/gx-ide-manage-module-references.js +1 -1
  143. package/dist/components/gx-ide-manage-module-references.js.map +1 -1
  144. package/dist/components/gx-ide-references.js +1 -1
  145. package/dist/components/gx-ide-references.js.map +1 -1
  146. package/dist/components/gx-ide-team-dev-commit.js +1 -1
  147. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  148. package/dist/components/gx-ide-team-dev-select-recent-comment.js +1 -1
  149. package/dist/components/gx-ide-team-dev-select-recent-comment.js.map +1 -1
  150. package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
  151. package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
  152. package/dist/components/gx-ide-team-dev-update-to-revision.js +1 -1
  153. package/dist/components/gx-ide-team-dev-update-to-revision.js.map +1 -1
  154. package/dist/components/gx-ide-team-dev-update.js +1 -1
  155. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  156. package/dist/components/gx-ide-template.js +1 -1
  157. package/dist/components/gx-ide-template.js.map +1 -1
  158. package/dist/components/gx-ide-wf-settings.js +1 -1
  159. package/dist/components/gx-ide-wf-settings.js.map +1 -1
  160. package/dist/components/gx-ide-ww-images.js +1 -1
  161. package/dist/components/gx-ide-ww-images.js.map +1 -1
  162. package/dist/components/list-selector.js +1 -1
  163. package/dist/components/list-selector.js.map +1 -1
  164. package/dist/esm/genexus-ide-ui.js +1 -1
  165. package/dist/esm/gx-ide-ai-assistant.entry.js +1 -1
  166. package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
  167. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +181 -167
  168. package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
  169. package/dist/esm/gx-ide-bpm-assign-roles.entry.js +1 -1
  170. package/dist/esm/gx-ide-bpm-assign-roles.entry.js.map +1 -1
  171. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +1 -1
  172. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
  173. package/dist/esm/gx-ide-bpm-import-files.entry.js +1 -1
  174. package/dist/esm/gx-ide-bpm-import-files.entry.js.map +1 -1
  175. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +1 -1
  176. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js.map +1 -1
  177. package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
  178. package/dist/esm/gx-ide-bpm-objects-selector.entry.js.map +1 -1
  179. package/dist/esm/gx-ide-bpm-timer-duration.entry.js +1 -1
  180. package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
  181. package/dist/esm/gx-ide-card.entry.js +1 -1
  182. package/dist/esm/gx-ide-card.entry.js.map +1 -1
  183. package/dist/esm/gx-ide-dashboard-home.entry.js +1 -1
  184. package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
  185. package/dist/esm/gx-ide-deployment-tool.entry.js +1 -1
  186. package/dist/esm/gx-ide-deployment-tool.entry.js.map +1 -1
  187. package/dist/esm/gx-ide-edit-module-server.entry.js +1 -1
  188. package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
  189. package/dist/esm/gx-ide-empty-state.entry.js +1 -1
  190. package/dist/esm/gx-ide-empty-state.entry.js.map +1 -1
  191. package/dist/esm/gx-ide-file-item.entry.js +106 -0
  192. package/dist/esm/gx-ide-file-item.entry.js.map +1 -0
  193. package/dist/esm/gx-ide-file-uploader.entry.js +395 -0
  194. package/dist/esm/gx-ide-file-uploader.entry.js.map +1 -0
  195. package/dist/esm/gx-ide-gam-installation-settings.entry.js +1 -1
  196. package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
  197. package/dist/esm/gx-ide-list-selector_2.entry.js +1 -1
  198. package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
  199. package/dist/esm/gx-ide-manage-module-references-v2.entry.js +1 -1
  200. package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +1 -1
  201. package/dist/esm/gx-ide-manage-module-references.entry.js +1 -1
  202. package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
  203. package/dist/esm/gx-ide-references.entry.js +1 -1
  204. package/dist/esm/gx-ide-references.entry.js.map +1 -1
  205. package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
  206. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  207. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
  208. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js.map +1 -1
  209. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
  210. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
  211. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
  212. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js.map +1 -1
  213. package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
  214. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  215. package/dist/esm/gx-ide-template.entry.js +1 -1
  216. package/dist/esm/gx-ide-template.entry.js.map +1 -1
  217. package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
  218. package/dist/esm/gx-ide-wf-settings.entry.js.map +1 -1
  219. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  220. package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
  221. package/dist/esm/loader.js +1 -1
  222. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  223. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  224. package/dist/genexus-ide-ui/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.en.json +14 -2
  225. package/dist/genexus-ide-ui/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.ja.json +15 -3
  226. package/dist/genexus-ide-ui/gx-ide-assets/bpm-app-declaration/langs/bpm-app-declaration.lang.zh.json +14 -2
  227. package/dist/genexus-ide-ui/gx-ide-assets/file-uploader/langs/file-uploader.lang.en.json +36 -0
  228. package/dist/genexus-ide-ui/gx-ide-assets/file-uploader/langs/file-uploader.lang.ja.json +36 -0
  229. package/dist/genexus-ide-ui/gx-ide-assets/file-uploader/langs/file-uploader.lang.zh.json +36 -0
  230. package/dist/genexus-ide-ui/{p-1e8f5da5.entry.js → p-04c6bd23.entry.js} +29 -29
  231. package/dist/genexus-ide-ui/{p-3e936f26.entry.js → p-05b04291.entry.js} +2 -2
  232. package/dist/genexus-ide-ui/{p-3ecdb582.entry.js → p-1072bf33.entry.js} +2 -2
  233. package/dist/genexus-ide-ui/{p-683cb15e.entry.js → p-14165308.entry.js} +2 -2
  234. package/dist/genexus-ide-ui/{p-2027c939.entry.js → p-2b3938b4.entry.js} +2 -2
  235. package/dist/genexus-ide-ui/{p-48826a6f.entry.js → p-3085add2.entry.js} +99 -99
  236. package/dist/genexus-ide-ui/{p-e4c2e200.entry.js → p-35f9ebbc.entry.js} +5 -5
  237. package/dist/genexus-ide-ui/{p-038c3f9b.entry.js → p-45996535.entry.js} +2 -2
  238. package/dist/genexus-ide-ui/{p-50b22f23.entry.js → p-4b38fffc.entry.js} +2 -2
  239. package/dist/genexus-ide-ui/{p-8f00263d.entry.js → p-6d2174ed.entry.js} +2 -2
  240. package/dist/genexus-ide-ui/{p-3d4355b4.entry.js → p-767e0f6d.entry.js} +8 -8
  241. package/dist/genexus-ide-ui/{p-bac13202.entry.js → p-844b7117.entry.js} +17 -17
  242. package/dist/genexus-ide-ui/{p-a790c4c9.entry.js → p-961bb2cc.entry.js} +2 -2
  243. package/dist/genexus-ide-ui/p-a1d73ca3.entry.js +310 -0
  244. package/dist/genexus-ide-ui/p-a1d73ca3.entry.js.map +1 -0
  245. package/dist/genexus-ide-ui/{p-9b5cb6b9.entry.js → p-a47d71eb.entry.js} +5 -5
  246. package/dist/genexus-ide-ui/{p-a05d4963.entry.js → p-b1851e6b.entry.js} +8 -8
  247. package/dist/genexus-ide-ui/{p-c6c955a3.entry.js → p-b2928645.entry.js} +2 -2
  248. package/dist/genexus-ide-ui/{p-3b8db39e.entry.js → p-b58fb87b.entry.js} +2 -2
  249. package/dist/genexus-ide-ui/p-bbf88f43.entry.js +475 -0
  250. package/dist/genexus-ide-ui/p-bbf88f43.entry.js.map +1 -0
  251. package/dist/genexus-ide-ui/{p-59ed3f39.entry.js → p-d8379699.entry.js} +2 -2
  252. package/dist/genexus-ide-ui/{p-beea29fa.entry.js → p-e24902a0.entry.js} +2 -2
  253. package/dist/genexus-ide-ui/{p-54fbb568.entry.js → p-edf889d2.entry.js} +2 -2
  254. package/dist/genexus-ide-ui/p-ef5dfd35.entry.js +157 -0
  255. package/dist/genexus-ide-ui/p-ef5dfd35.entry.js.map +1 -0
  256. package/dist/genexus-ide-ui/{p-a59a07e2.entry.js → p-f49bb305.entry.js} +2 -2
  257. package/dist/genexus-ide-ui/{p-cd397078.entry.js → p-f51adb3d.entry.js} +2 -2
  258. package/dist/genexus-ide-ui/{p-74c81ca3.entry.js → p-f722955f.entry.js} +2 -2
  259. package/dist/genexus-ide-ui/{p-2a6683e1.entry.js → p-f7421997.entry.js} +2 -2
  260. package/dist/genexus-ide-ui/{p-22b8bdb1.entry.js → p-fcecdafa.entry.js} +2 -2
  261. package/dist/types/components/bpm/application-declaration/bpm-app-declaration.d.ts +22 -44
  262. package/dist/types/components/file-uploader/file-item/file-item.d.ts +31 -0
  263. package/dist/types/components/file-uploader/file-uploader.d.ts +51 -0
  264. package/dist/types/components/file-uploader/types.d.ts +31 -0
  265. package/dist/types/components.d.ts +249 -10
  266. package/package.json +1 -1
  267. package/dist/genexus-ide-ui/p-55c87f23.entry.js +0 -287
  268. package/dist/genexus-ide-ui/p-55c87f23.entry.js.map +0 -1
  269. /package/dist/genexus-ide-ui/{p-1e8f5da5.entry.js.map → p-04c6bd23.entry.js.map} +0 -0
  270. /package/dist/genexus-ide-ui/{p-3e936f26.entry.js.map → p-05b04291.entry.js.map} +0 -0
  271. /package/dist/genexus-ide-ui/{p-3ecdb582.entry.js.map → p-1072bf33.entry.js.map} +0 -0
  272. /package/dist/genexus-ide-ui/{p-683cb15e.entry.js.map → p-14165308.entry.js.map} +0 -0
  273. /package/dist/genexus-ide-ui/{p-2027c939.entry.js.map → p-2b3938b4.entry.js.map} +0 -0
  274. /package/dist/genexus-ide-ui/{p-48826a6f.entry.js.map → p-3085add2.entry.js.map} +0 -0
  275. /package/dist/genexus-ide-ui/{p-e4c2e200.entry.js.map → p-35f9ebbc.entry.js.map} +0 -0
  276. /package/dist/genexus-ide-ui/{p-038c3f9b.entry.js.map → p-45996535.entry.js.map} +0 -0
  277. /package/dist/genexus-ide-ui/{p-50b22f23.entry.js.map → p-4b38fffc.entry.js.map} +0 -0
  278. /package/dist/genexus-ide-ui/{p-8f00263d.entry.js.map → p-6d2174ed.entry.js.map} +0 -0
  279. /package/dist/genexus-ide-ui/{p-3d4355b4.entry.js.map → p-767e0f6d.entry.js.map} +0 -0
  280. /package/dist/genexus-ide-ui/{p-bac13202.entry.js.map → p-844b7117.entry.js.map} +0 -0
  281. /package/dist/genexus-ide-ui/{p-a790c4c9.entry.js.map → p-961bb2cc.entry.js.map} +0 -0
  282. /package/dist/genexus-ide-ui/{p-9b5cb6b9.entry.js.map → p-a47d71eb.entry.js.map} +0 -0
  283. /package/dist/genexus-ide-ui/{p-a05d4963.entry.js.map → p-b1851e6b.entry.js.map} +0 -0
  284. /package/dist/genexus-ide-ui/{p-c6c955a3.entry.js.map → p-b2928645.entry.js.map} +0 -0
  285. /package/dist/genexus-ide-ui/{p-3b8db39e.entry.js.map → p-b58fb87b.entry.js.map} +0 -0
  286. /package/dist/genexus-ide-ui/{p-59ed3f39.entry.js.map → p-d8379699.entry.js.map} +0 -0
  287. /package/dist/genexus-ide-ui/{p-beea29fa.entry.js.map → p-e24902a0.entry.js.map} +0 -0
  288. /package/dist/genexus-ide-ui/{p-54fbb568.entry.js.map → p-edf889d2.entry.js.map} +0 -0
  289. /package/dist/genexus-ide-ui/{p-a59a07e2.entry.js.map → p-f49bb305.entry.js.map} +0 -0
  290. /package/dist/genexus-ide-ui/{p-cd397078.entry.js.map → p-f51adb3d.entry.js.map} +0 -0
  291. /package/dist/genexus-ide-ui/{p-74c81ca3.entry.js.map → p-f722955f.entry.js.map} +0 -0
  292. /package/dist/genexus-ide-ui/{p-2a6683e1.entry.js.map → p-f7421997.entry.js.map} +0 -0
  293. /package/dist/genexus-ide-ui/{p-22b8bdb1.entry.js.map → p-fcecdafa.entry.js.map} +0 -0
@@ -0,0 +1,750 @@
1
+ var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
2
+ if (kind === "a" && !f)
3
+ throw new TypeError("Private accessor was defined without a getter");
4
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
5
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
6
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
7
+ };
8
+ var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
9
+ if (kind === "m")
10
+ throw new TypeError("Private method is not writable");
11
+ if (kind === "a" && !f)
12
+ throw new TypeError("Private accessor was defined without a setter");
13
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
14
+ throw new TypeError("Cannot write private member to an object whose class did not declare it");
15
+ return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
16
+ };
17
+ var _FileUploader_instances, _FileUploader__componentLocale, _FileUploader_fileInputEl, _FileUploader_dragCounter, _FileUploader_generateId, _FileUploader_isValidFile, _FileUploader_getValidFiles, _FileUploader_handleDragEnter, _FileUploader_handleDragLeave, _FileUploader_handleDragOver, _FileUploader_handleDrop, _FileUploader_handleFileSelect, _FileUploader_handleFileInput, _FileUploader_handleFiles, _FileUploader_handleNameChange, _FileUploader_handleFileCancel, _FileUploader_handleConfirm, _FileUploader_handleCancel;
18
+ /* eslint-disable @stencil-community/own-methods-must-be-private */
19
+ /* eslint-disable @stencil-community/own-props-must-be-private */
20
+ /* STENCIL IMPORTS */
21
+ import { Host, h } from "@stencil/core";
22
+ import { getIconPath } from "@genexus/mercury";
23
+ import { Locale } from "../../common/locale";
24
+ const PLUS_ICON = getIconPath({
25
+ category: "gemini-tools",
26
+ name: "add",
27
+ colorType: "primary"
28
+ });
29
+ const CSS_BUNDLES = [
30
+ "resets/box-sizing",
31
+ "components/button",
32
+ "components/icon",
33
+ "components/list-box",
34
+ "components/edit",
35
+ "utils/typography",
36
+ "utils/spacing",
37
+ "utils/form",
38
+ "utils/layout",
39
+ "utils/elevation",
40
+ "chameleon/scrollbar"
41
+ ];
42
+ export class FileUploader {
43
+ constructor() {
44
+ _FileUploader_instances.add(this);
45
+ _FileUploader__componentLocale.set(this, void 0);
46
+ _FileUploader_fileInputEl.set(this, void 0);
47
+ _FileUploader_dragCounter.set(this, 0);
48
+ /** Generates a unique ID for file identification */
49
+ _FileUploader_generateId.set(this, () => {
50
+ return Math.random().toString(36).substr(2, 9);
51
+ });
52
+ /** Handles drag enter event */
53
+ _FileUploader_handleDragEnter.set(this, (e) => {
54
+ var _a;
55
+ e.preventDefault();
56
+ e.stopPropagation();
57
+ __classPrivateFieldSet(this, _FileUploader_dragCounter, (_a = __classPrivateFieldGet(this, _FileUploader_dragCounter, "f"), _a++, _a), "f");
58
+ this.isDragging = true;
59
+ });
60
+ /** Handles drag leave event */
61
+ _FileUploader_handleDragLeave.set(this, (e) => {
62
+ var _a;
63
+ e.preventDefault();
64
+ e.stopPropagation();
65
+ __classPrivateFieldSet(this, _FileUploader_dragCounter, (_a = __classPrivateFieldGet(this, _FileUploader_dragCounter, "f"), _a--, _a), "f");
66
+ if (__classPrivateFieldGet(this, _FileUploader_dragCounter, "f") === 0) {
67
+ this.isDragging = false;
68
+ }
69
+ });
70
+ /** Handles drag over event */
71
+ _FileUploader_handleDragOver.set(this, (e) => {
72
+ e.preventDefault();
73
+ e.stopPropagation();
74
+ });
75
+ /** Handles drop event */
76
+ _FileUploader_handleDrop.set(this, (e) => {
77
+ var _a;
78
+ e.preventDefault();
79
+ e.stopPropagation();
80
+ this.isDragging = false;
81
+ __classPrivateFieldSet(this, _FileUploader_dragCounter, 0, "f");
82
+ const files = (_a = e.dataTransfer) === null || _a === void 0 ? void 0 : _a.files;
83
+ if (files) {
84
+ __classPrivateFieldGet(this, _FileUploader_handleFiles, "f").call(this, files);
85
+ }
86
+ });
87
+ /** Triggers file input click */
88
+ _FileUploader_handleFileSelect.set(this, () => {
89
+ var _a;
90
+ (_a = __classPrivateFieldGet(this, _FileUploader_fileInputEl, "f")) === null || _a === void 0 ? void 0 : _a.click();
91
+ });
92
+ /** Handles file input change event */
93
+ _FileUploader_handleFileInput.set(this, (e) => {
94
+ const files = e.target.files;
95
+ if (files) {
96
+ __classPrivateFieldGet(this, _FileUploader_handleFiles, "f").call(this, files);
97
+ }
98
+ });
99
+ /** Processes files and starts upload */
100
+ _FileUploader_handleFiles.set(this, (files) => {
101
+ const validFiles = __classPrivateFieldGet(this, _FileUploader_instances, "m", _FileUploader_getValidFiles).call(this, files);
102
+ validFiles.forEach(async (file) => {
103
+ var _a, _b;
104
+ const id = __classPrivateFieldGet(this, _FileUploader_generateId, "f").call(this);
105
+ const fileState = {
106
+ id,
107
+ name: file.name,
108
+ file,
109
+ pending: true,
110
+ progress: 0
111
+ };
112
+ if (!this.multiple) {
113
+ this.fileStates.clear();
114
+ }
115
+ this.fileStates = new Map(this.fileStates.set(id, fileState));
116
+ if (this.uploadFunction) {
117
+ try {
118
+ const uploadPromise = this.uploadFunction(file, progress => {
119
+ const state = this.fileStates.get(id);
120
+ if (state) {
121
+ const updatedState = Object.assign(Object.assign({}, state), { progress: progress, pending: progress < 100 });
122
+ this.fileStates = new Map(this.fileStates.set(id, updatedState));
123
+ }
124
+ });
125
+ // Store the upload promise/object for potential cancellation
126
+ const stateWithPromise = Object.assign(Object.assign({}, this.fileStates.get(id)), { uploadPromise });
127
+ this.fileStates = new Map(this.fileStates.set(id, stateWithPromise));
128
+ const result = await uploadPromise;
129
+ console.log("Upload result:", { id, result });
130
+ const state = this.fileStates.get(id);
131
+ if (state) {
132
+ if (result.success && result.remoteId) {
133
+ const updatedState = Object.assign(Object.assign({}, state), { remoteId: result.remoteId, pending: false, progress: 100 });
134
+ this.fileStates = new Map(this.fileStates.set(id, updatedState));
135
+ console.log("File uploaded successfully:", updatedState);
136
+ await ((_a = this.fileUploadedCallback) === null || _a === void 0 ? void 0 : _a.call(this, {
137
+ name: state.name,
138
+ originalName: state.file.name,
139
+ remoteId: result.remoteId
140
+ }));
141
+ }
142
+ else {
143
+ const updatedState = Object.assign(Object.assign({}, state), { error: ((_b = result.errors) === null || _b === void 0 ? void 0 : _b.upload) || "Upload failed", pending: false });
144
+ this.fileStates = new Map(this.fileStates.set(id, updatedState));
145
+ console.log("File upload failed:", updatedState);
146
+ }
147
+ }
148
+ }
149
+ catch (error) {
150
+ const state = this.fileStates.get(id);
151
+ if (state) {
152
+ const updatedState = Object.assign(Object.assign({}, state), { error: error instanceof Error
153
+ ? error.message
154
+ : "Unknown error occurred", pending: false });
155
+ this.fileStates = new Map(this.fileStates.set(id, updatedState));
156
+ console.log("File upload error:", updatedState);
157
+ }
158
+ }
159
+ }
160
+ });
161
+ if (__classPrivateFieldGet(this, _FileUploader_fileInputEl, "f")) {
162
+ __classPrivateFieldGet(this, _FileUploader_fileInputEl, "f").value = "";
163
+ }
164
+ });
165
+ /** Handles file name change */
166
+ _FileUploader_handleNameChange.set(this, async (event) => {
167
+ var _a;
168
+ const { id, name } = event.detail;
169
+ const file = this.fileStates.get(id);
170
+ if (file) {
171
+ const updatedFile = Object.assign(Object.assign({}, file), { name: name.trim(), isEditing: false });
172
+ this.fileStates = new Map(this.fileStates.set(id, updatedFile));
173
+ await ((_a = this.fileRenamedCallback) === null || _a === void 0 ? void 0 : _a.call(this, { fileId: id, newName: name.trim() }));
174
+ }
175
+ });
176
+ /** Handles individual file cancellation or deletion */
177
+ _FileUploader_handleFileCancel.set(this, async (event) => {
178
+ var _a, _b, _c, _d;
179
+ const id = event.detail;
180
+ const state = this.fileStates.get(id);
181
+ if (state) {
182
+ try {
183
+ if (state.pending) {
184
+ // Cancel upload in progress
185
+ if (state.uploadPromise &&
186
+ typeof state.uploadPromise.cancel === "function") {
187
+ state.uploadPromise.cancel();
188
+ }
189
+ else if (this.cancelUploadFunction) {
190
+ await this.cancelUploadFunction(id);
191
+ }
192
+ await ((_a = this.uploadCancelledCallback) === null || _a === void 0 ? void 0 : _a.call(this, id));
193
+ this.fileStates.delete(id);
194
+ this.fileStates = new Map(this.fileStates);
195
+ }
196
+ else {
197
+ const fileToDelete = {
198
+ name: state.name,
199
+ originalName: state.file.name,
200
+ remoteId: state.remoteId
201
+ };
202
+ const shouldDelete = await ((_b = this.onBeforeDelete) === null || _b === void 0 ? void 0 : _b.call(this, fileToDelete));
203
+ if (shouldDelete) {
204
+ await ((_c = this.fileDeletedCallback) === null || _c === void 0 ? void 0 : _c.call(this, fileToDelete));
205
+ this.fileStates.delete(id);
206
+ this.fileStates = new Map(this.fileStates);
207
+ }
208
+ }
209
+ }
210
+ catch (error) {
211
+ await ((_d = this.fileDeletionErrorCallback) === null || _d === void 0 ? void 0 : _d.call(this, {
212
+ fileName: state.name,
213
+ error: error instanceof Error ? error.message : "Unknown error occurred"
214
+ }));
215
+ }
216
+ }
217
+ });
218
+ /** Handles dialog confirmation */
219
+ _FileUploader_handleConfirm.set(this, async () => {
220
+ var _a;
221
+ // Verificar si hay subidas en progreso
222
+ const hasPendingUploads = Array.from(this.fileStates.values()).some(file => file.pending);
223
+ if (hasPendingUploads) {
224
+ return; // No permitir confirmar si hay subidas en progreso
225
+ }
226
+ // Obtener todos los archivos que están completamente subidos
227
+ const uploadedFiles = Array.from(this.fileStates.values())
228
+ .filter(file => {
229
+ const isValid = !file.pending && file.remoteId && !file.error;
230
+ console.log("File validation:", {
231
+ id: file.id,
232
+ name: file.name,
233
+ pending: file.pending,
234
+ remoteId: file.remoteId,
235
+ error: file.error,
236
+ isValid
237
+ });
238
+ return isValid;
239
+ })
240
+ .map(file => ({
241
+ name: file.name,
242
+ originalName: file.file.name,
243
+ remoteId: file.remoteId
244
+ }));
245
+ console.log("Files to be confirmed:", uploadedFiles);
246
+ if (uploadedFiles.length > 0) {
247
+ await ((_a = this.dialogConfirmedCallback) === null || _a === void 0 ? void 0 : _a.call(this, uploadedFiles));
248
+ }
249
+ // Clear file states
250
+ this.fileStates.clear();
251
+ this.fileStates = new Map();
252
+ // Reset file input
253
+ if (__classPrivateFieldGet(this, _FileUploader_fileInputEl, "f")) {
254
+ __classPrivateFieldGet(this, _FileUploader_fileInputEl, "f").value = "";
255
+ }
256
+ });
257
+ /** Handles dialog cancellation */
258
+ _FileUploader_handleCancel.set(this, async () => {
259
+ var _a, _b, _c;
260
+ try {
261
+ // Cancelamos todas las subidas en progreso
262
+ for (const [id, state] of this.fileStates.entries()) {
263
+ if (state.pending && this.cancelUploadFunction) {
264
+ try {
265
+ await this.cancelUploadFunction(id);
266
+ await ((_a = this.uploadCancelledCallback) === null || _a === void 0 ? void 0 : _a.call(this, id));
267
+ }
268
+ catch (error) {
269
+ // Error handling for upload cancellation
270
+ }
271
+ }
272
+ }
273
+ // Limpiamos todos los estados
274
+ this.fileStates.clear();
275
+ this.fileStates = new Map();
276
+ if (__classPrivateFieldGet(this, _FileUploader_fileInputEl, "f")) {
277
+ __classPrivateFieldGet(this, _FileUploader_fileInputEl, "f").value = "";
278
+ }
279
+ await ((_b = this.dialogCanceledCallback) === null || _b === void 0 ? void 0 : _b.call(this));
280
+ }
281
+ catch (error) {
282
+ this.fileStates.clear();
283
+ this.fileStates = new Map();
284
+ await ((_c = this.dialogCanceledCallback) === null || _c === void 0 ? void 0 : _c.call(this));
285
+ }
286
+ });
287
+ this.types = [];
288
+ this.multiple = false;
289
+ this.canEditName = false;
290
+ this.label = undefined;
291
+ this.uploadFunction = undefined;
292
+ this.cancelUploadFunction = undefined;
293
+ this.fileUploadedCallback = undefined;
294
+ this.dialogCanceledCallback = undefined;
295
+ this.dialogConfirmedCallback = undefined;
296
+ this.uploadCancelledCallback = undefined;
297
+ this.fileRenamedCallback = undefined;
298
+ this.fileValidationErrorCallback = undefined;
299
+ this.fileDeletionErrorCallback = undefined;
300
+ this.fileDeletedCallback = undefined;
301
+ this.onBeforeDelete = undefined;
302
+ this.fileStates = new Map();
303
+ this.isDragging = false;
304
+ }
305
+ /** Initializes component with locale strings */
306
+ async componentWillLoad() {
307
+ __classPrivateFieldSet(this, _FileUploader__componentLocale, await Locale.getComponentStrings(this.el), "f");
308
+ }
309
+ /** Clears the current file selection */
310
+ async clear() {
311
+ var _a;
312
+ for (const [id, state] of this.fileStates.entries()) {
313
+ if (state.pending && this.cancelUploadFunction) {
314
+ try {
315
+ await this.cancelUploadFunction(id);
316
+ await ((_a = this.uploadCancelledCallback) === null || _a === void 0 ? void 0 : _a.call(this, id));
317
+ }
318
+ catch (error) {
319
+ // Error handling for upload cancellation
320
+ }
321
+ }
322
+ }
323
+ this.fileStates.clear();
324
+ }
325
+ render() {
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: {
328
+ "file-uploader__drop-zone": true,
329
+ "file-uploader__drop-zone--dragging": this.isDragging
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
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))))));
339
+ }
340
+ static get is() { return "gx-ide-file-uploader"; }
341
+ static get encapsulation() { return "shadow"; }
342
+ static get originalStyleUrls() {
343
+ return {
344
+ "$": ["file-uploader.scss"]
345
+ };
346
+ }
347
+ static get styleUrls() {
348
+ return {
349
+ "$": ["file-uploader.css"]
350
+ };
351
+ }
352
+ static get assetsDirs() { return ["gx-ide-assets/file-uploader"]; }
353
+ static get properties() {
354
+ return {
355
+ "types": {
356
+ "type": "unknown",
357
+ "mutable": false,
358
+ "complexType": {
359
+ "original": "string[]",
360
+ "resolved": "string[]",
361
+ "references": {}
362
+ },
363
+ "required": false,
364
+ "optional": true,
365
+ "docs": {
366
+ "tags": [],
367
+ "text": "Allowed file types/extensions (e.g. ['.jpg', '.png', 'image/*', 'application/pdf'])"
368
+ },
369
+ "defaultValue": "[]"
370
+ },
371
+ "multiple": {
372
+ "type": "boolean",
373
+ "mutable": false,
374
+ "complexType": {
375
+ "original": "boolean",
376
+ "resolved": "boolean",
377
+ "references": {}
378
+ },
379
+ "required": false,
380
+ "optional": false,
381
+ "docs": {
382
+ "tags": [],
383
+ "text": "Whether multiple files can be selected"
384
+ },
385
+ "attribute": "multiple",
386
+ "reflect": false,
387
+ "defaultValue": "false"
388
+ },
389
+ "canEditName": {
390
+ "type": "boolean",
391
+ "mutable": false,
392
+ "complexType": {
393
+ "original": "boolean",
394
+ "resolved": "boolean",
395
+ "references": {}
396
+ },
397
+ "required": false,
398
+ "optional": false,
399
+ "docs": {
400
+ "tags": [],
401
+ "text": "Whether file names can be edited"
402
+ },
403
+ "attribute": "can-edit-name",
404
+ "reflect": false,
405
+ "defaultValue": "false"
406
+ },
407
+ "label": {
408
+ "type": "string",
409
+ "mutable": false,
410
+ "complexType": {
411
+ "original": "string",
412
+ "resolved": "string",
413
+ "references": {}
414
+ },
415
+ "required": false,
416
+ "optional": true,
417
+ "docs": {
418
+ "tags": [],
419
+ "text": "Label to display in the uploader dialog"
420
+ },
421
+ "attribute": "label",
422
+ "reflect": false
423
+ },
424
+ "uploadFunction": {
425
+ "type": "unknown",
426
+ "mutable": false,
427
+ "complexType": {
428
+ "original": "(\n file: File,\n progressCallback: (progress: number) => void\n ) => Promise<UploadResult>",
429
+ "resolved": "(file: File, progressCallback: (progress: number) => void) => Promise<UploadResult>",
430
+ "references": {
431
+ "File": {
432
+ "location": "global",
433
+ "id": "global::File"
434
+ },
435
+ "Promise": {
436
+ "location": "global",
437
+ "id": "global::Promise"
438
+ },
439
+ "UploadResult": {
440
+ "location": "import",
441
+ "path": "./types",
442
+ "id": "src/components/file-uploader/types.ts::UploadResult"
443
+ }
444
+ }
445
+ },
446
+ "required": true,
447
+ "optional": false,
448
+ "docs": {
449
+ "tags": [],
450
+ "text": "Function to handle file upload"
451
+ }
452
+ },
453
+ "cancelUploadFunction": {
454
+ "type": "unknown",
455
+ "mutable": false,
456
+ "complexType": {
457
+ "original": "(fileId: string) => Promise<void>",
458
+ "resolved": "(fileId: string) => Promise<void>",
459
+ "references": {
460
+ "Promise": {
461
+ "location": "global",
462
+ "id": "global::Promise"
463
+ }
464
+ }
465
+ },
466
+ "required": false,
467
+ "optional": true,
468
+ "docs": {
469
+ "tags": [],
470
+ "text": "Function to cancel file upload"
471
+ }
472
+ },
473
+ "fileUploadedCallback": {
474
+ "type": "unknown",
475
+ "mutable": false,
476
+ "complexType": {
477
+ "original": "(file: UploadedFile) => Promise<void>",
478
+ "resolved": "(file: UploadedFile) => Promise<void>",
479
+ "references": {
480
+ "UploadedFile": {
481
+ "location": "import",
482
+ "path": "./types",
483
+ "id": "src/components/file-uploader/types.ts::UploadedFile"
484
+ },
485
+ "Promise": {
486
+ "location": "global",
487
+ "id": "global::Promise"
488
+ }
489
+ }
490
+ },
491
+ "required": false,
492
+ "optional": true,
493
+ "docs": {
494
+ "tags": [],
495
+ "text": "Callback when a file is uploaded successfully"
496
+ }
497
+ },
498
+ "dialogCanceledCallback": {
499
+ "type": "unknown",
500
+ "mutable": false,
501
+ "complexType": {
502
+ "original": "() => Promise<void>",
503
+ "resolved": "() => Promise<void>",
504
+ "references": {
505
+ "Promise": {
506
+ "location": "global",
507
+ "id": "global::Promise"
508
+ }
509
+ }
510
+ },
511
+ "required": false,
512
+ "optional": true,
513
+ "docs": {
514
+ "tags": [],
515
+ "text": "Callback when the dialog is canceled"
516
+ }
517
+ },
518
+ "dialogConfirmedCallback": {
519
+ "type": "unknown",
520
+ "mutable": false,
521
+ "complexType": {
522
+ "original": "(\n files: UploadedFile[]\n ) => Promise<void>",
523
+ "resolved": "(files: UploadedFile[]) => Promise<void>",
524
+ "references": {
525
+ "UploadedFile": {
526
+ "location": "import",
527
+ "path": "./types",
528
+ "id": "src/components/file-uploader/types.ts::UploadedFile"
529
+ },
530
+ "Promise": {
531
+ "location": "global",
532
+ "id": "global::Promise"
533
+ }
534
+ }
535
+ },
536
+ "required": false,
537
+ "optional": true,
538
+ "docs": {
539
+ "tags": [],
540
+ "text": "Callback when the dialog is confirmed with files"
541
+ }
542
+ },
543
+ "uploadCancelledCallback": {
544
+ "type": "unknown",
545
+ "mutable": false,
546
+ "complexType": {
547
+ "original": "(fileId: string) => Promise<void>",
548
+ "resolved": "(fileId: string) => Promise<void>",
549
+ "references": {
550
+ "Promise": {
551
+ "location": "global",
552
+ "id": "global::Promise"
553
+ }
554
+ }
555
+ },
556
+ "required": false,
557
+ "optional": true,
558
+ "docs": {
559
+ "tags": [],
560
+ "text": "Callback when upload is cancelled"
561
+ }
562
+ },
563
+ "fileRenamedCallback": {
564
+ "type": "unknown",
565
+ "mutable": false,
566
+ "complexType": {
567
+ "original": "(data: {\n fileId: string;\n newName: string;\n }) => Promise<void>",
568
+ "resolved": "(data: { fileId: string; newName: string; }) => Promise<void>",
569
+ "references": {
570
+ "Promise": {
571
+ "location": "global",
572
+ "id": "global::Promise"
573
+ }
574
+ }
575
+ },
576
+ "required": false,
577
+ "optional": true,
578
+ "docs": {
579
+ "tags": [],
580
+ "text": "Callback when file is renamed"
581
+ }
582
+ },
583
+ "fileValidationErrorCallback": {
584
+ "type": "unknown",
585
+ "mutable": false,
586
+ "complexType": {
587
+ "original": "(data: {\n fileName: string;\n error: string;\n }) => Promise<void>",
588
+ "resolved": "(data: { fileName: string; error: string; }) => Promise<void>",
589
+ "references": {
590
+ "Promise": {
591
+ "location": "global",
592
+ "id": "global::Promise"
593
+ }
594
+ }
595
+ },
596
+ "required": false,
597
+ "optional": true,
598
+ "docs": {
599
+ "tags": [],
600
+ "text": "Callback when a file validation error occurs"
601
+ }
602
+ },
603
+ "fileDeletionErrorCallback": {
604
+ "type": "unknown",
605
+ "mutable": false,
606
+ "complexType": {
607
+ "original": "(data: {\n fileName: string;\n error: string;\n }) => Promise<void>",
608
+ "resolved": "(data: { fileName: string; error: string; }) => Promise<void>",
609
+ "references": {
610
+ "Promise": {
611
+ "location": "global",
612
+ "id": "global::Promise"
613
+ }
614
+ }
615
+ },
616
+ "required": false,
617
+ "optional": true,
618
+ "docs": {
619
+ "tags": [],
620
+ "text": "Callback when a file deletion error occurs"
621
+ }
622
+ },
623
+ "fileDeletedCallback": {
624
+ "type": "unknown",
625
+ "mutable": false,
626
+ "complexType": {
627
+ "original": "(file: UploadedFile) => Promise<void>",
628
+ "resolved": "(file: UploadedFile) => Promise<void>",
629
+ "references": {
630
+ "UploadedFile": {
631
+ "location": "import",
632
+ "path": "./types",
633
+ "id": "src/components/file-uploader/types.ts::UploadedFile"
634
+ },
635
+ "Promise": {
636
+ "location": "global",
637
+ "id": "global::Promise"
638
+ }
639
+ }
640
+ },
641
+ "required": false,
642
+ "optional": true,
643
+ "docs": {
644
+ "tags": [],
645
+ "text": "Callback when a file is deleted"
646
+ }
647
+ },
648
+ "onBeforeDelete": {
649
+ "type": "unknown",
650
+ "mutable": false,
651
+ "complexType": {
652
+ "original": "(file: UploadedFile) => Promise<boolean>",
653
+ "resolved": "(file: UploadedFile) => Promise<boolean>",
654
+ "references": {
655
+ "UploadedFile": {
656
+ "location": "import",
657
+ "path": "./types",
658
+ "id": "src/components/file-uploader/types.ts::UploadedFile"
659
+ },
660
+ "Promise": {
661
+ "location": "global",
662
+ "id": "global::Promise"
663
+ }
664
+ }
665
+ },
666
+ "required": false,
667
+ "optional": true,
668
+ "docs": {
669
+ "tags": [],
670
+ "text": "Callback before deleting a file to get confirmation"
671
+ }
672
+ }
673
+ };
674
+ }
675
+ static get states() {
676
+ return {
677
+ "fileStates": {},
678
+ "isDragging": {}
679
+ };
680
+ }
681
+ static get methods() {
682
+ return {
683
+ "clear": {
684
+ "complexType": {
685
+ "signature": "() => Promise<void>",
686
+ "parameters": [],
687
+ "references": {
688
+ "Promise": {
689
+ "location": "global",
690
+ "id": "global::Promise"
691
+ }
692
+ },
693
+ "return": "Promise<void>"
694
+ },
695
+ "docs": {
696
+ "text": "Clears the current file selection",
697
+ "tags": []
698
+ }
699
+ }
700
+ };
701
+ }
702
+ static get elementRef() { return "el"; }
703
+ }
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;
706
+ // If no types specified, accept any file
707
+ if (!this.types || this.types.length === 0) {
708
+ return { isValid: true };
709
+ }
710
+ for (const type of this.types) {
711
+ // Handle wildcards like 'image/*'
712
+ if (type.includes("/*")) {
713
+ const baseType = type.split("/")[0];
714
+ if (file.type.startsWith(baseType)) {
715
+ return { isValid: true };
716
+ }
717
+ }
718
+ // Handle extensions like '.jpg'
719
+ else if (type.startsWith(".")) {
720
+ if (file.name.toLowerCase().endsWith(type.toLowerCase())) {
721
+ return { isValid: true };
722
+ }
723
+ }
724
+ // Handle specific MIME types
725
+ else if (file.type === type || file.type === `application/${type}`) {
726
+ return { isValid: true };
727
+ }
728
+ }
729
+ return {
730
+ isValid: false,
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"
732
+ };
733
+ }, _FileUploader_getValidFiles = function _FileUploader_getValidFiles(files) {
734
+ const validFiles = [];
735
+ Array.from(files).forEach(file => {
736
+ var _a;
737
+ const validation = __classPrivateFieldGet(this, _FileUploader_instances, "m", _FileUploader_isValidFile).call(this, file);
738
+ if (validation.isValid) {
739
+ validFiles.push(file);
740
+ }
741
+ else {
742
+ (_a = this.fileValidationErrorCallback) === null || _a === void 0 ? void 0 : _a.call(this, {
743
+ fileName: file.name,
744
+ error: validation.error
745
+ });
746
+ }
747
+ });
748
+ return validFiles;
749
+ };
750
+ //# sourceMappingURL=file-uploader.js.map