@genexus/genexus-ide-ui 1.1.22 → 1.1.24

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 (332) hide show
  1. package/dist/cjs/MERCURY_ASSETS-f14e91ff.js +9 -0
  2. package/dist/cjs/{MERCURY_ASSETS-15c5c1ac.js.map → MERCURY_ASSETS-f14e91ff.js.map} +1 -1
  3. package/dist/cjs/gx-ide-about.cjs.entry.js +1 -1
  4. package/dist/cjs/gx-ide-about.cjs.entry.js.map +1 -1
  5. package/dist/cjs/gx-ide-ai-message.cjs.entry.js +1 -1
  6. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +1 -1
  8. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js.map +1 -1
  9. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +1 -1
  10. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js.map +1 -1
  11. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +1 -1
  12. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js.map +1 -1
  13. package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js +5 -5
  14. package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js.map +1 -1
  15. package/dist/cjs/gx-ide-chat-container_2.cjs.entry.js +2 -2
  16. package/dist/cjs/gx-ide-chat-container_2.cjs.entry.js.map +1 -1
  17. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +2 -2
  18. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  19. package/dist/cjs/gx-ide-current-user-info.cjs.entry.js +1 -1
  20. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +1 -1
  21. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +1 -1
  22. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js +1 -1
  23. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js.map +1 -1
  24. package/dist/cjs/gx-ide-design-import.cjs.entry.js +1 -1
  25. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +1 -1
  26. package/dist/cjs/gx-ide-file-item.cjs.entry.js +1 -1
  27. package/dist/cjs/gx-ide-file-uploader.cjs.entry.js +1 -1
  28. package/dist/cjs/gx-ide-json-import.cjs.entry.js +1 -1
  29. package/dist/cjs/gx-ide-json-import.cjs.entry.js.map +1 -1
  30. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
  31. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +2 -2
  32. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  33. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +1 -1
  34. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +1 -1
  35. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
  36. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
  37. package/dist/cjs/gx-ide-open-api-import.cjs.entry.js +2 -2
  38. package/dist/cjs/gx-ide-open-api-import.cjs.entry.js.map +1 -1
  39. package/dist/cjs/gx-ide-plugin-details.cjs.entry.js +29 -8
  40. package/dist/cjs/gx-ide-plugin-details.cjs.entry.js.map +1 -1
  41. package/dist/cjs/gx-ide-plugin-explorer.cjs.entry.js +1 -1
  42. package/dist/cjs/gx-ide-references.cjs.entry.js +2 -2
  43. package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
  44. package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js +144 -112
  45. package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js.map +1 -1
  46. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +1 -1
  47. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +2 -2
  48. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  49. package/dist/cjs/gx-ide-splash.cjs.entry.js +1 -1
  50. package/dist/cjs/gx-ide-start-page.cjs.entry.js +1 -1
  51. package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js +3 -3
  52. package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js.map +1 -1
  53. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +2 -2
  54. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +2 -2
  55. package/dist/cjs/gx-ide-test.cjs.entry.js +1 -1
  56. package/dist/cjs/gx-ide-test.cjs.entry.js.map +1 -1
  57. package/dist/cjs/gx-ide-welcome-page.cjs.entry.js +1 -1
  58. package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js +1 -1
  59. package/dist/cjs/index.cjs.js +2 -5
  60. package/dist/cjs/index.cjs.js.map +1 -1
  61. package/dist/cjs/render-item.lit-3f18e009.js +329 -0
  62. package/dist/cjs/render-item.lit-3f18e009.js.map +1 -0
  63. package/dist/cjs/{utilities-6118dc24.js → utilities-0b308992.js} +2 -2
  64. package/dist/cjs/{utilities-6118dc24.js.map → utilities-0b308992.js.map} +1 -1
  65. package/dist/collection/components/_test/test.js +1 -1
  66. package/dist/collection/components/_test/test.js.map +1 -1
  67. package/dist/collection/components/about/about.css +1 -0
  68. package/dist/collection/components/bpm/import-files/bpm-import-files.js +1 -1
  69. package/dist/collection/components/bpm/import-files/bpm-import-files.js.map +1 -1
  70. package/dist/collection/components/bpm/import-gxpm/bpm-import-gxpm.js +1 -1
  71. package/dist/collection/components/bpm/import-gxpm/bpm-import-gxpm.js.map +1 -1
  72. package/dist/collection/components/bpm/objects-selector/bpm-objects-selector.js +1 -1
  73. package/dist/collection/components/bpm/objects-selector/bpm-objects-selector.js.map +1 -1
  74. package/dist/collection/components/bpm/task-documents/task-documents.js +4 -4
  75. package/dist/collection/components/bpm/task-documents/task-documents.js.map +1 -1
  76. package/dist/collection/components/chat/chat-container/chat-container.css +0 -5
  77. package/dist/collection/components/chat/lit-custom-render/actions.lit.js +27 -0
  78. package/dist/collection/components/chat/lit-custom-render/actions.lit.js.map +1 -0
  79. package/dist/collection/components/chat/lit-custom-render/code-block.lit.js +46 -0
  80. package/dist/collection/components/chat/lit-custom-render/code-block.lit.js.map +1 -0
  81. package/dist/collection/components/chat/lit-custom-render/dots-animation.js +61 -0
  82. package/dist/collection/components/chat/lit-custom-render/dots-animation.js.map +1 -0
  83. package/dist/collection/components/chat/lit-custom-render/render-item.lit.js +122 -0
  84. package/dist/collection/components/chat/lit-custom-render/render-item.lit.js.map +1 -0
  85. package/dist/collection/components/chat/lit-custom-render/spinner-animation.js +58 -0
  86. package/dist/collection/components/chat/lit-custom-render/spinner-animation.js.map +1 -0
  87. package/dist/collection/components/chat/lit-custom-render/types.js +2 -0
  88. package/dist/collection/components/chat/lit-custom-render/types.js.map +1 -0
  89. package/dist/collection/components/chat/lit-custom-render/utils.js +50 -0
  90. package/dist/collection/components/chat/lit-custom-render/utils.js.map +1 -0
  91. package/dist/collection/components/data-type-selector/data-type-selector.js.map +1 -1
  92. package/dist/collection/components/json-import/json-import.js.map +1 -1
  93. package/dist/collection/components/kb-manager-import/kb-manager-import.js +2 -2
  94. package/dist/collection/components/kb-manager-import/kb-manager-import.js.map +1 -1
  95. package/dist/collection/components/open-api-import/open-api-import.js +1 -1
  96. package/dist/collection/components/open-api-import/open-api-import.js.map +1 -1
  97. package/dist/collection/components/plugin-details/plugin-details.js +28 -7
  98. package/dist/collection/components/plugin-details/plugin-details.js.map +1 -1
  99. package/dist/collection/components/references/references.js +1 -1
  100. package/dist/collection/components/references/references.js.map +1 -1
  101. package/dist/collection/components/team-dev/bring-changes/bring-changes.js +1 -1
  102. package/dist/collection/components/team-dev/bring-changes/bring-changes.js.map +1 -1
  103. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +1 -1
  104. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
  105. package/dist/collection/components/team-dev/share-kb/share-kb.js +1 -1
  106. package/dist/collection/components/team-dev/share-kb/share-kb.js.map +1 -1
  107. package/dist/collection/components/team-dev/update/update.js +1 -1
  108. package/dist/collection/index.js +2 -1
  109. package/dist/collection/index.js.map +1 -1
  110. package/dist/collection/showcase/chat-container/callbacks.js +44 -187
  111. package/dist/collection/showcase/chat-container/callbacks.js.map +1 -1
  112. package/dist/collection/showcase/chat-container/chat.showcase.js +7 -6
  113. package/dist/collection/showcase/chat-container/chat.showcase.js.map +1 -1
  114. package/dist/collection/showcase/chat-container/models.js +321 -0
  115. package/dist/collection/showcase/chat-container/models.js.map +1 -0
  116. package/dist/components/MERCURY_ASSETS.js +1 -1
  117. package/dist/components/MERCURY_ASSETS.js.map +1 -1
  118. package/dist/components/bpm-objects-selector.js +1 -1
  119. package/dist/components/bpm-objects-selector.js.map +1 -1
  120. package/dist/components/chat-container.js +1 -1
  121. package/dist/components/chat-container.js.map +1 -1
  122. package/dist/components/gx-ide-about.js +1 -1
  123. package/dist/components/gx-ide-about.js.map +1 -1
  124. package/dist/components/gx-ide-bpm-import-files.js +1 -1
  125. package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
  126. package/dist/components/gx-ide-bpm-import-gxpm.js +1 -1
  127. package/dist/components/gx-ide-bpm-import-gxpm.js.map +1 -1
  128. package/dist/components/gx-ide-bpm-task-documents.js +4 -4
  129. package/dist/components/gx-ide-bpm-task-documents.js.map +1 -1
  130. package/dist/components/gx-ide-create-kb-from-server.js +1 -1
  131. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  132. package/dist/components/gx-ide-data-type-selector.js.map +1 -1
  133. package/dist/components/gx-ide-json-import.js.map +1 -1
  134. package/dist/components/gx-ide-kb-manager-import.js +1 -1
  135. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  136. package/dist/components/gx-ide-open-api-import.js +1 -1
  137. package/dist/components/gx-ide-open-api-import.js.map +1 -1
  138. package/dist/components/gx-ide-plugin-details.js +28 -7
  139. package/dist/components/gx-ide-plugin-details.js.map +1 -1
  140. package/dist/components/gx-ide-references.js +1 -1
  141. package/dist/components/gx-ide-references.js.map +1 -1
  142. package/dist/components/gx-ide-sc-chat-container.js +145 -112
  143. package/dist/components/gx-ide-sc-chat-container.js.map +1 -1
  144. package/dist/components/gx-ide-share-kb.js +1 -1
  145. package/dist/components/gx-ide-share-kb.js.map +1 -1
  146. package/dist/components/gx-ide-team-dev-bring-changes.js +1 -1
  147. package/dist/components/gx-ide-team-dev-bring-changes.js.map +1 -1
  148. package/dist/components/gx-ide-test.js +1 -1
  149. package/dist/components/gx-ide-test.js.map +1 -1
  150. package/dist/components/index.js +1 -1
  151. package/dist/components/index.js.map +1 -1
  152. package/dist/components/render-item.lit.js +327 -0
  153. package/dist/components/render-item.lit.js.map +1 -0
  154. package/dist/esm/MERCURY_ASSETS-ccf43ae3.js +7 -0
  155. package/dist/esm/{MERCURY_ASSETS-7c06e424.js.map → MERCURY_ASSETS-ccf43ae3.js.map} +1 -1
  156. package/dist/esm/gx-ide-about.entry.js +1 -1
  157. package/dist/esm/gx-ide-about.entry.js.map +1 -1
  158. package/dist/esm/gx-ide-ai-message.entry.js +1 -1
  159. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
  160. package/dist/esm/gx-ide-bpm-import-files.entry.js +1 -1
  161. package/dist/esm/gx-ide-bpm-import-files.entry.js.map +1 -1
  162. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +1 -1
  163. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js.map +1 -1
  164. package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
  165. package/dist/esm/gx-ide-bpm-objects-selector.entry.js.map +1 -1
  166. package/dist/esm/gx-ide-bpm-task-documents.entry.js +5 -5
  167. package/dist/esm/gx-ide-bpm-task-documents.entry.js.map +1 -1
  168. package/dist/esm/gx-ide-chat-container_2.entry.js +2 -2
  169. package/dist/esm/gx-ide-chat-container_2.entry.js.map +1 -1
  170. package/dist/esm/gx-ide-create-kb-from-server.entry.js +2 -2
  171. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  172. package/dist/esm/gx-ide-current-user-info.entry.js +1 -1
  173. package/dist/esm/gx-ide-dashboard-home.entry.js +1 -1
  174. package/dist/esm/gx-ide-data-selector.entry.js +1 -1
  175. package/dist/esm/gx-ide-data-type-selector.entry.js +1 -1
  176. package/dist/esm/gx-ide-data-type-selector.entry.js.map +1 -1
  177. package/dist/esm/gx-ide-design-import.entry.js +1 -1
  178. package/dist/esm/gx-ide-entity-selector.entry.js +1 -1
  179. package/dist/esm/gx-ide-file-item.entry.js +1 -1
  180. package/dist/esm/gx-ide-file-uploader.entry.js +1 -1
  181. package/dist/esm/gx-ide-json-import.entry.js +1 -1
  182. package/dist/esm/gx-ide-json-import.entry.js.map +1 -1
  183. package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
  184. package/dist/esm/gx-ide-kb-manager-import.entry.js +2 -2
  185. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  186. package/dist/esm/gx-ide-manage-module-references-v2.entry.js +1 -1
  187. package/dist/esm/gx-ide-manage-module-references.entry.js +1 -1
  188. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  189. package/dist/esm/gx-ide-object-selector.entry.js +1 -1
  190. package/dist/esm/gx-ide-open-api-import.entry.js +2 -2
  191. package/dist/esm/gx-ide-open-api-import.entry.js.map +1 -1
  192. package/dist/esm/gx-ide-plugin-details.entry.js +29 -8
  193. package/dist/esm/gx-ide-plugin-details.entry.js.map +1 -1
  194. package/dist/esm/gx-ide-plugin-explorer.entry.js +1 -1
  195. package/dist/esm/gx-ide-references.entry.js +2 -2
  196. package/dist/esm/gx-ide-references.entry.js.map +1 -1
  197. package/dist/esm/gx-ide-sc-chat-container.entry.js +145 -113
  198. package/dist/esm/gx-ide-sc-chat-container.entry.js.map +1 -1
  199. package/dist/esm/gx-ide-select-kb-items.entry.js +1 -1
  200. package/dist/esm/gx-ide-share-kb.entry.js +2 -2
  201. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  202. package/dist/esm/gx-ide-splash.entry.js +1 -1
  203. package/dist/esm/gx-ide-start-page.entry.js +1 -1
  204. package/dist/esm/gx-ide-team-dev-bring-changes.entry.js +3 -3
  205. package/dist/esm/gx-ide-team-dev-bring-changes.entry.js.map +1 -1
  206. package/dist/esm/gx-ide-team-dev-commit.entry.js +2 -2
  207. package/dist/esm/gx-ide-team-dev-history.entry.js +2 -2
  208. package/dist/esm/gx-ide-test.entry.js +1 -1
  209. package/dist/esm/gx-ide-test.entry.js.map +1 -1
  210. package/dist/esm/gx-ide-welcome-page.entry.js +1 -1
  211. package/dist/esm/gx-ide-ww-attributes.entry.js +1 -1
  212. package/dist/esm/index.js +1 -3
  213. package/dist/esm/index.js.map +1 -1
  214. package/dist/esm/render-item.lit-449f2946.js +327 -0
  215. package/dist/esm/render-item.lit-449f2946.js.map +1 -0
  216. package/dist/esm/{utilities-6fdb43e4.js → utilities-00ec1b22.js} +2 -2
  217. package/dist/esm/{utilities-6fdb43e4.js.map → utilities-00ec1b22.js.map} +1 -1
  218. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  219. package/dist/genexus-ide-ui/index.esm.js +1 -5
  220. package/dist/genexus-ide-ui/index.esm.js.map +1 -1
  221. package/dist/genexus-ide-ui/p-04c6bd23.entry.js.map +1 -1
  222. package/dist/genexus-ide-ui/{p-476b74a1.entry.js → p-05f1ff03.entry.js} +2 -2
  223. package/dist/genexus-ide-ui/p-05f1ff03.entry.js.map +1 -0
  224. package/dist/genexus-ide-ui/{p-863ef4de.entry.js → p-0937c905.entry.js} +2 -2
  225. package/dist/genexus-ide-ui/{p-0cd3ab87.entry.js → p-0a0ab008.entry.js} +3 -3
  226. package/dist/genexus-ide-ui/p-0a0ab008.entry.js.map +1 -0
  227. package/dist/genexus-ide-ui/{p-1292a6b9.entry.js → p-1664d366.entry.js} +2 -2
  228. package/dist/genexus-ide-ui/{p-1292a6b9.entry.js.map → p-1664d366.entry.js.map} +1 -1
  229. package/dist/genexus-ide-ui/{p-884e0ed9.entry.js → p-2ad98d24.entry.js} +3 -3
  230. package/dist/genexus-ide-ui/{p-884e0ed9.entry.js.map → p-2ad98d24.entry.js.map} +1 -1
  231. package/dist/genexus-ide-ui/{p-d4ef0c35.entry.js → p-2d04b927.entry.js} +3 -3
  232. package/dist/genexus-ide-ui/{p-8bb9242a.entry.js → p-36c7a87b.entry.js} +2 -2
  233. package/dist/genexus-ide-ui/p-36c7a87b.entry.js.map +1 -0
  234. package/dist/genexus-ide-ui/{p-ca706700.entry.js → p-3dbd3842.entry.js} +3 -3
  235. package/dist/genexus-ide-ui/{p-2987a259.js → p-401bfc97.js} +4430 -4318
  236. package/dist/genexus-ide-ui/p-401bfc97.js.map +1 -0
  237. package/dist/genexus-ide-ui/p-46ffec64.entry.js.map +1 -1
  238. package/dist/genexus-ide-ui/{p-45539ad0.entry.js → p-494b3955.entry.js} +2 -2
  239. package/dist/genexus-ide-ui/{p-45539ad0.entry.js.map → p-494b3955.entry.js.map} +1 -1
  240. package/dist/genexus-ide-ui/{p-d77582b8.entry.js → p-4ad7826c.entry.js} +2 -2
  241. package/dist/genexus-ide-ui/{p-72b5d3e4.entry.js → p-4bb2c398.entry.js} +2 -2
  242. package/dist/genexus-ide-ui/{p-810ad95f.entry.js → p-538594e2.entry.js} +2 -2
  243. package/dist/genexus-ide-ui/{p-641c79a9.entry.js → p-5e7f8ae6.entry.js} +2 -2
  244. package/dist/genexus-ide-ui/{p-c50b9883.entry.js → p-5ff6fe1d.entry.js} +2 -2
  245. package/dist/genexus-ide-ui/{p-c50b9883.entry.js.map → p-5ff6fe1d.entry.js.map} +1 -1
  246. package/dist/genexus-ide-ui/{p-7ae2a57f.entry.js → p-6e958b79.entry.js} +2 -2
  247. package/dist/genexus-ide-ui/{p-4e6425f3.entry.js → p-731b8947.entry.js} +183 -142
  248. package/dist/genexus-ide-ui/p-731b8947.entry.js.map +1 -0
  249. package/dist/genexus-ide-ui/{p-012cfb1d.entry.js → p-75d6c740.entry.js} +2 -2
  250. package/dist/genexus-ide-ui/{p-7d7cf30d.entry.js → p-8714eeb1.entry.js} +2 -2
  251. package/dist/genexus-ide-ui/{p-ca9978e1.entry.js → p-88581fe4.entry.js} +2 -2
  252. package/dist/genexus-ide-ui/{p-1be1db4e.entry.js → p-8e34e92b.entry.js} +2 -2
  253. package/dist/genexus-ide-ui/p-8e34e92b.entry.js.map +1 -0
  254. package/dist/genexus-ide-ui/{p-ea02e5cf.entry.js → p-960d9108.entry.js} +2 -2
  255. package/dist/genexus-ide-ui/{p-ea02e5cf.entry.js.map → p-960d9108.entry.js.map} +1 -1
  256. package/dist/genexus-ide-ui/{p-7053c38e.entry.js → p-9d985956.entry.js} +11 -11
  257. package/dist/genexus-ide-ui/{p-7f65f9e3.entry.js → p-a708a870.entry.js} +2 -2
  258. package/dist/genexus-ide-ui/{p-c92332af.entry.js → p-b0aa8cdb.entry.js} +2 -2
  259. package/dist/genexus-ide-ui/{p-93cdb6f8.entry.js → p-bfe3277f.entry.js} +2 -2
  260. package/dist/genexus-ide-ui/{p-760d8f2a.entry.js → p-c3abc0f5.entry.js} +2 -2
  261. package/dist/genexus-ide-ui/{p-760d8f2a.entry.js.map → p-c3abc0f5.entry.js.map} +1 -1
  262. package/dist/genexus-ide-ui/{p-52f37ec7.entry.js → p-caa5ee2f.entry.js} +8 -8
  263. package/dist/genexus-ide-ui/{p-a869ec48.entry.js → p-d4ca8530.entry.js} +2 -2
  264. package/dist/genexus-ide-ui/{p-0f8a8202.js → p-d7a91333.js} +2 -2
  265. package/dist/genexus-ide-ui/p-d8379699.entry.js.map +1 -1
  266. package/dist/genexus-ide-ui/{p-c9bca7c0.entry.js → p-dce532ea.entry.js} +2 -2
  267. package/dist/genexus-ide-ui/{p-bbb5b0fb.entry.js → p-e02e3694.entry.js} +2 -2
  268. package/dist/genexus-ide-ui/{p-84c1c1bb.entry.js → p-e162771e.entry.js} +73 -60
  269. package/dist/genexus-ide-ui/p-e162771e.entry.js.map +1 -0
  270. package/dist/genexus-ide-ui/p-e24902a0.entry.js.map +1 -1
  271. package/dist/genexus-ide-ui/{p-7d107d2f.entry.js → p-f3f068f6.entry.js} +2 -2
  272. package/dist/genexus-ide-ui/{p-fd440291.entry.js → p-f4a60017.entry.js} +2 -2
  273. package/dist/genexus-ide-ui/{p-7cece7a8.entry.js → p-f52ea9d4.entry.js} +2 -2
  274. package/dist/genexus-ide-ui/{p-7cece7a8.entry.js.map → p-f52ea9d4.entry.js.map} +1 -1
  275. package/dist/genexus-ide-ui/{p-54fb1287.entry.js → p-f83ceb69.entry.js} +2 -2
  276. package/dist/genexus-ide-ui/p-fd4f9904.js +955 -0
  277. package/dist/genexus-ide-ui/p-fd4f9904.js.map +1 -0
  278. package/dist/types/components/chat/lit-custom-render/actions.lit.d.ts +2 -0
  279. package/dist/types/components/chat/lit-custom-render/code-block.lit.d.ts +2 -0
  280. package/dist/types/components/chat/lit-custom-render/dots-animation.d.ts +5 -0
  281. package/dist/types/components/chat/lit-custom-render/render-item.lit.d.ts +3 -0
  282. package/dist/types/components/chat/lit-custom-render/spinner-animation.d.ts +5 -0
  283. package/dist/types/components/chat/lit-custom-render/types.d.ts +4 -0
  284. package/dist/types/components/chat/lit-custom-render/utils.d.ts +23 -0
  285. package/dist/types/components/plugin-details/plugin-details.d.ts +1 -0
  286. package/dist/types/index.d.ts +2 -1
  287. package/dist/types/showcase/chat-container/callbacks.d.ts +2 -5
  288. package/dist/types/showcase/chat-container/models.d.ts +15 -0
  289. package/package.json +8 -7
  290. package/dist/cjs/MERCURY_ASSETS-15c5c1ac.js +0 -9
  291. package/dist/cjs/code-render-2af31443.js +0 -86
  292. package/dist/cjs/code-render-2af31443.js.map +0 -1
  293. package/dist/collection/components/chat/code-render.js +0 -65
  294. package/dist/collection/components/chat/code-render.js.map +0 -1
  295. package/dist/components/code-render.js +0 -83
  296. package/dist/components/code-render.js.map +0 -1
  297. package/dist/esm/MERCURY_ASSETS-7c06e424.js +0 -7
  298. package/dist/esm/code-render-e6bf0562.js +0 -83
  299. package/dist/esm/code-render-e6bf0562.js.map +0 -1
  300. package/dist/genexus-ide-ui/p-0cd3ab87.entry.js.map +0 -1
  301. package/dist/genexus-ide-ui/p-1be1db4e.entry.js.map +0 -1
  302. package/dist/genexus-ide-ui/p-2987a259.js.map +0 -1
  303. package/dist/genexus-ide-ui/p-476b74a1.entry.js.map +0 -1
  304. package/dist/genexus-ide-ui/p-4e6425f3.entry.js.map +0 -1
  305. package/dist/genexus-ide-ui/p-60221a44.js +0 -109
  306. package/dist/genexus-ide-ui/p-60221a44.js.map +0 -1
  307. package/dist/genexus-ide-ui/p-84c1c1bb.entry.js.map +0 -1
  308. package/dist/genexus-ide-ui/p-8bb9242a.entry.js.map +0 -1
  309. package/dist/types/components/chat/code-render.d.ts +0 -4
  310. /package/dist/genexus-ide-ui/{p-863ef4de.entry.js.map → p-0937c905.entry.js.map} +0 -0
  311. /package/dist/genexus-ide-ui/{p-d4ef0c35.entry.js.map → p-2d04b927.entry.js.map} +0 -0
  312. /package/dist/genexus-ide-ui/{p-ca706700.entry.js.map → p-3dbd3842.entry.js.map} +0 -0
  313. /package/dist/genexus-ide-ui/{p-d77582b8.entry.js.map → p-4ad7826c.entry.js.map} +0 -0
  314. /package/dist/genexus-ide-ui/{p-72b5d3e4.entry.js.map → p-4bb2c398.entry.js.map} +0 -0
  315. /package/dist/genexus-ide-ui/{p-810ad95f.entry.js.map → p-538594e2.entry.js.map} +0 -0
  316. /package/dist/genexus-ide-ui/{p-641c79a9.entry.js.map → p-5e7f8ae6.entry.js.map} +0 -0
  317. /package/dist/genexus-ide-ui/{p-7ae2a57f.entry.js.map → p-6e958b79.entry.js.map} +0 -0
  318. /package/dist/genexus-ide-ui/{p-012cfb1d.entry.js.map → p-75d6c740.entry.js.map} +0 -0
  319. /package/dist/genexus-ide-ui/{p-7d7cf30d.entry.js.map → p-8714eeb1.entry.js.map} +0 -0
  320. /package/dist/genexus-ide-ui/{p-ca9978e1.entry.js.map → p-88581fe4.entry.js.map} +0 -0
  321. /package/dist/genexus-ide-ui/{p-7053c38e.entry.js.map → p-9d985956.entry.js.map} +0 -0
  322. /package/dist/genexus-ide-ui/{p-7f65f9e3.entry.js.map → p-a708a870.entry.js.map} +0 -0
  323. /package/dist/genexus-ide-ui/{p-c92332af.entry.js.map → p-b0aa8cdb.entry.js.map} +0 -0
  324. /package/dist/genexus-ide-ui/{p-93cdb6f8.entry.js.map → p-bfe3277f.entry.js.map} +0 -0
  325. /package/dist/genexus-ide-ui/{p-52f37ec7.entry.js.map → p-caa5ee2f.entry.js.map} +0 -0
  326. /package/dist/genexus-ide-ui/{p-a869ec48.entry.js.map → p-d4ca8530.entry.js.map} +0 -0
  327. /package/dist/genexus-ide-ui/{p-0f8a8202.js.map → p-d7a91333.js.map} +0 -0
  328. /package/dist/genexus-ide-ui/{p-c9bca7c0.entry.js.map → p-dce532ea.entry.js.map} +0 -0
  329. /package/dist/genexus-ide-ui/{p-bbb5b0fb.entry.js.map → p-e02e3694.entry.js.map} +0 -0
  330. /package/dist/genexus-ide-ui/{p-7d107d2f.entry.js.map → p-f3f068f6.entry.js.map} +0 -0
  331. /package/dist/genexus-ide-ui/{p-fd440291.entry.js.map → p-f4a60017.entry.js.map} +0 -0
  332. /package/dist/genexus-ide-ui/{p-54fb1287.entry.js.map → p-f83ceb69.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["objectsToListItemData","objects","itemsData","forEach","object","itemId","id","itemValue","name","itemIcon","icon","itemChecked","push","bpmObjectsSelectorCss","GxIdeBpmExportXpdl","this","renderedFirstTime","includeAll","objectSelectionChangedHandler","selectedItem","selectedObjects","Array","isArray","detail","map","item","removeObjectsHandler","filter","includes","updateSelection","removeAllObjectsHandler","includeAllHandler","includeAllCheckboxEl","value","selectionChanged","emit","addCallbackHandler","async","addCallback","resultObjects","newObjects","resultObj","some","existingObj","referencesCallbackHandler","referencesCallback","length","ids","obj","data","objectIds","selection","componentWillLoad","_componentLocale","Locale","getComponentStrings","el","componentDidRender","componentDidRenderFirstTime","render","h","Host","class","containerTitle","displayTitle","componentName","slimmerFooter","config","gxIdeContainer","type","listName","ordered","onSelectionChanged","renderListItems","htmlFor","main","includeAllLabel","accessibleName","checkedValue","unCheckedValue","onInput","ref","onClick","disabled","addButton","referencesButton","removeButton","slot","clearButton"],"sources":["src/components/bpm/objects-selector/helpers.ts","src/components/bpm/objects-selector/bpm-objects-selector.scss?tag=gx-ide-bpm-objects-selector&encapsulation=shadow","src/components/bpm/objects-selector/bpm-objects-selector.tsx"],"sourcesContent":["import { ItemData } from \"../../_helpers/list-selector/list-selector-item/list-selector-item\";\n\nexport type ObjectData = {\n id: string;\n icon: string;\n name: string;\n};\n\nexport const objectsToListItemData = (objects: ObjectData[]): ItemData[] => {\n const itemsData: ItemData[] = [];\n objects.forEach(object => {\n const itemId = object.id;\n const itemValue = object.name;\n const itemIcon: string = object.icon;\n const itemChecked: boolean = false;\n itemsData.push({\n itemId: itemId,\n itemValue: itemValue,\n itemIcon: itemIcon,\n itemChecked: itemChecked\n });\n });\n return itemsData;\n};\n","@import \"../../../global/gx-ide-common.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n@import \"../../../global/temporary-tokens-chameleon.scss\";\n\n:host {\n display: block;\n}\n\n.header {\n display: grid;\n grid-template-columns: 1fr min-content min-content;\n grid-template-areas:\n \"label label label\"\n \"input cancel export\";\n grid-gap: var(--gx-ide-grid-column-gap);\n\n .label {\n grid-area: label;\n }\n .input {\n grid-area: input;\n }\n .cancel {\n grid-area: cancel;\n }\n .export {\n grid-area: export;\n }\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { CheckedItemsInfo } from \"../../_helpers/list-selector/list-selector\";\n\n/* CUSTOM IMPORTS */\nimport { config } from \"../../../common/config\";\nimport { Locale } from \"../../../common/locale\";\nimport { renderListItems } from \"../../../common/render-list-item\";\nimport { ObjectData, objectsToListItemData } from \"./helpers\";\n\n@Component({\n tag: \"gx-ide-bpm-objects-selector\",\n styleUrl: \"bpm-objects-selector.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/bpm-objects-selector\"]\n})\nexport class GxIdeBpmExportXpdl {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n\n private includeAll = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeBpmObjectsSelectorElement;\n private includeAllCheckboxEl: HTMLChCheckboxElement;\n\n // 3.STATE() VARIABLES //\n\n @State() objects: ObjectData[] = [];\n\n /**\n * Contains the list of selected object ids\n */\n @State() selectedObjects: string[] = [];\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n *The current selection in the list of objects\n */\n @Prop({ mutable: true }) selection: SelectionData;\n\n /**\n * Callback invoked when the user presses the 'Add' button.\n * This function is expected to return a list of selected objects' basic information.\n * @returns {Promise<ObjectData[]>} A Promise that resolves to an array of ObjectData. Each ObjectData contains the ID, icon, and name of an object.\n */\n @Prop() readonly addCallback: () => Promise<ObjectData[]>;\n\n /**\n * Callback invoked when the user presses the 'References' button.\n * Receives a parameter which is an array of IDs of the objects currently added to the list.\n * Returns a Promise that resolves to an array of ObjectData, where each ObjectData contains the ID, icon, and name of an object.\n * @param {string[]} ids - An array of IDs of the objects currently added to the list.\n * @returns {Promise<ObjectData[]>} A Promise that resolves to an array of ObjectData. Each ObjectData contains the ID, icon, and name of an object.\n */\n @Prop() readonly referencesCallback: (ids: string[]) => Promise<ObjectData[]>;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event()\n componentDidRenderFirstTime: EventEmitter<HTMLGxIdeBpmObjectsSelectorElement>;\n\n /**\n * @description Gets fired when the objects selection list change or when 'Select All' checkbox state changes.\n */\n @Event() selectionChanged: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(this.el);\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private objectSelectionChangedHandler = (\n selectedItem: CustomEvent<CheckedItemsInfo>\n ) => {\n const selectedObjects = Array.isArray(selectedItem.detail)\n ? selectedItem.detail\n : [selectedItem.detail];\n\n this.selectedObjects = selectedObjects.map(item => item.itemId);\n };\n\n private removeObjectsHandler = () => {\n this.objects = this.objects.filter(\n object => !this.selectedObjects.includes(object.id)\n );\n\n this.selectedObjects = [];\n this.updateSelection(false);\n };\n\n private removeAllObjectsHandler = () => {\n this.objects = [];\n this.selectedObjects = [];\n this.updateSelection(false);\n };\n\n private includeAllHandler = () => {\n this.includeAll = this.includeAllCheckboxEl.value === \"true\";\n if (this.includeAll) {\n this.selectedObjects = this.objects.map(object => object.id);\n this.objects = [];\n this.updateSelection(true);\n } else {\n this.selectedObjects = [];\n this.updateSelection(false);\n }\n\n this.selectionChanged.emit();\n };\n private addCallbackHandler = async () => {\n if (this.addCallback) {\n const resultObjects = await this.addCallback();\n const newObjects = resultObjects.filter(\n resultObj =>\n !this.objects.some(existingObj => existingObj.id === resultObj.id)\n );\n this.objects = [...this.objects, ...newObjects];\n this.updateSelection(false);\n }\n };\n\n private referencesCallbackHandler = async () => {\n if (this.referencesCallback && this.objects.length > 0) {\n const ids = this.objects.map(obj => obj.id);\n\n const resultObjects = await this.referencesCallback(ids);\n\n const newObjects = resultObjects.filter(\n resultObj =>\n !this.objects.some(existingObj => existingObj.id === resultObj.id)\n );\n\n this.objects = [...this.objects, ...newObjects];\n this.updateSelection(false);\n }\n };\n\n private updateSelection = (includeAll: boolean) => {\n const data: SelectionData = {\n includeAll: this.includeAllCheckboxEl.value === \"true\",\n objectIds: includeAll\n ? this.selectedObjects\n : this.objects.map(object => object.id)\n };\n\n this.selection = data;\n this.selectionChanged.emit();\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component gx-ide-bpm-objects-selector\">\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <gx-ide-list-selector\n id=\"path-list\"\n type=\"multi-selection\"\n listName=\"path-list\"\n ordered\n onSelectionChanged={this.objectSelectionChangedHandler}\n class=\"path-list\"\n >\n {renderListItems(objectsToListItemData(this.objects))}\n </gx-ide-list-selector>\n\n <div class=\"controls-wrapper\">\n <label htmlFor=\"include-all\">\n {this._componentLocale.main.includeAllLabel}\n </label>\n <ch-checkbox\n id=\"include-all\"\n accessibleName={this._componentLocale.main.includeAllLabel}\n checkedValue=\"true\"\n unCheckedValue=\"false\"\n value=\"checked\"\n onInput={this.includeAllHandler}\n ref={el =>\n (this.includeAllCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n <button\n onClick={this.addCallbackHandler}\n disabled={this.includeAll}\n >\n {this._componentLocale.main.addButton}\n </button>\n <button\n onClick={this.referencesCallbackHandler}\n disabled={this.objects.length === 0}\n >\n {this._componentLocale.main.referencesButton}\n </button>\n <button\n onClick={this.removeObjectsHandler}\n disabled={this.selectedObjects.length === 0 || this.includeAll}\n >\n {this._componentLocale.main.removeButton} (\n {this.selectedObjects.length})\n </button>\n </div>\n\n <button\n slot=\"footer-end\"\n onClick={this.removeAllObjectsHandler}\n disabled={this.includeAll}\n >\n {this._componentLocale.main.clearButton}\n </button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type SelectionData = {\n includeAll: boolean;\n objectIds: string[];\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["objectsToListItemData","objects","itemsData","forEach","object","itemId","id","itemValue","name","itemIcon","icon","itemChecked","push","bpmObjectsSelectorCss","GxIdeBpmExportXpdl","this","renderedFirstTime","includeAll","objectSelectionChangedHandler","selectedItem","selectedObjects","Array","isArray","detail","map","item","removeObjectsHandler","filter","includes","updateSelection","removeAllObjectsHandler","includeAllHandler","includeAllCheckboxEl","value","selectionChanged","emit","addCallbackHandler","async","addCallback","resultObjects","newObjects","resultObj","some","existingObj","referencesCallbackHandler","referencesCallback","length","ids","obj","data","objectIds","selection","componentWillLoad","_componentLocale","Locale","getComponentStrings","el","componentDidRender","componentDidRenderFirstTime","render","h","Host","class","containerTitle","displayTitle","componentName","slimmerFooter","config","gxIdeContainer","type","listName","ordered","onSelectionChanged","renderListItems","htmlFor","main","includeAllLabel","accessibleName","checkedValue","unCheckedValue","onInput","ref","onClick","disabled","addButton","referencesButton","removeButton","slot","clearButton"],"sources":["src/components/bpm/objects-selector/helpers.ts","src/components/bpm/objects-selector/bpm-objects-selector.scss?tag=gx-ide-bpm-objects-selector&encapsulation=shadow","src/components/bpm/objects-selector/bpm-objects-selector.tsx"],"sourcesContent":["import { ItemData } from \"../../_helpers/list-selector/list-selector-item/list-selector-item\";\n\nexport type ObjectData = {\n id: string;\n icon: string;\n name: string;\n};\n\nexport const objectsToListItemData = (objects: ObjectData[]): ItemData[] => {\n const itemsData: ItemData[] = [];\n objects.forEach(object => {\n const itemId = object.id;\n const itemValue = object.name;\n const itemIcon: string = object.icon;\n const itemChecked: boolean = false;\n itemsData.push({\n itemId: itemId,\n itemValue: itemValue,\n itemIcon: itemIcon,\n itemChecked: itemChecked\n });\n });\n return itemsData;\n};\n","@import \"../../../global/gx-ide-common.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n@import \"../../../global/temporary-tokens-chameleon.scss\";\n\n:host {\n display: block;\n}\n\n.header {\n display: grid;\n grid-template-columns: 1fr min-content min-content;\n grid-template-areas:\n \"label label label\"\n \"input cancel export\";\n grid-gap: var(--gx-ide-grid-column-gap);\n\n .label {\n grid-area: label;\n }\n .input {\n grid-area: input;\n }\n .cancel {\n grid-area: cancel;\n }\n .export {\n grid-area: export;\n }\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { CheckedItemsInfo } from \"../../_helpers/list-selector/list-selector\";\n\n/* CUSTOM IMPORTS */\nimport { config } from \"../../../common/config\";\nimport { Locale } from \"../../../common/locale\";\nimport { renderListItems } from \"../../../common/render-list-item\";\nimport { ObjectData, objectsToListItemData } from \"./helpers\";\n\n@Component({\n tag: \"gx-ide-bpm-objects-selector\",\n styleUrl: \"bpm-objects-selector.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/bpm-objects-selector\"]\n})\nexport class GxIdeBpmExportXpdl {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n\n private includeAll = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeBpmObjectsSelectorElement;\n private includeAllCheckboxEl: HTMLChCheckboxElement;\n\n // 3.STATE() VARIABLES //\n\n @State() objects: ObjectData[] = [];\n\n /**\n * Contains the list of selected object ids\n */\n @State() selectedObjects: string[] = [];\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n *The current selection in the list of objects\n */\n @Prop({ mutable: true }) selection: SelectionData;\n\n /**\n * Callback invoked when the user presses the 'Add' button.\n * This function is expected to return a list of selected objects' basic information.\n * @returns {Promise<ObjectData[]>} A Promise that resolves to an array of ObjectData. Each ObjectData contains the ID, icon, and name of an object.\n */\n @Prop() readonly addCallback: () => Promise<ObjectData[]>;\n\n /**\n * Callback invoked when the user presses the 'References' button.\n * Receives a parameter which is an array of IDs of the objects currently added to the list.\n * Returns a Promise that resolves to an array of ObjectData, where each ObjectData contains the ID, icon, and name of an object.\n * @param {string[]} ids - An array of IDs of the objects currently added to the list.\n * @returns {Promise<ObjectData[]>} A Promise that resolves to an array of ObjectData. Each ObjectData contains the ID, icon, and name of an object.\n */\n @Prop() readonly referencesCallback: (ids: string[]) => Promise<ObjectData[]>;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event()\n componentDidRenderFirstTime: EventEmitter<HTMLGxIdeBpmObjectsSelectorElement>;\n\n /**\n * @description Gets fired when the objects selection list change or when 'Select All' checkbox state changes.\n */\n @Event() selectionChanged: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(this.el);\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private objectSelectionChangedHandler = (\n selectedItem: CustomEvent<CheckedItemsInfo>\n ) => {\n const selectedObjects = Array.isArray(selectedItem.detail)\n ? selectedItem.detail\n : [selectedItem.detail];\n\n this.selectedObjects = selectedObjects.map(item => item.itemId);\n };\n\n private removeObjectsHandler = () => {\n this.objects = this.objects.filter(\n object => !this.selectedObjects.includes(object.id)\n );\n\n this.selectedObjects = [];\n this.updateSelection(false);\n };\n\n private removeAllObjectsHandler = () => {\n this.objects = [];\n this.selectedObjects = [];\n this.updateSelection(false);\n };\n\n private includeAllHandler = () => {\n this.includeAll = this.includeAllCheckboxEl.value === \"true\";\n if (this.includeAll) {\n this.selectedObjects = this.objects.map(object => object.id);\n this.objects = [];\n this.updateSelection(true);\n } else {\n this.selectedObjects = [];\n this.updateSelection(false);\n }\n\n this.selectionChanged.emit();\n };\n private addCallbackHandler = async () => {\n if (this.addCallback) {\n const resultObjects = await this.addCallback();\n const newObjects = resultObjects.filter(\n resultObj =>\n !this.objects.some(existingObj => existingObj.id === resultObj.id)\n );\n this.objects = [...this.objects, ...newObjects];\n this.updateSelection(false);\n }\n };\n\n private referencesCallbackHandler = async () => {\n if (this.referencesCallback && this.objects.length > 0) {\n const ids = this.objects.map(obj => obj.id);\n\n const resultObjects = await this.referencesCallback(ids);\n\n const newObjects = resultObjects.filter(\n resultObj =>\n !this.objects.some(existingObj => existingObj.id === resultObj.id)\n );\n\n this.objects = [...this.objects, ...newObjects];\n this.updateSelection(false);\n }\n };\n\n private updateSelection = (includeAll: boolean) => {\n const data: SelectionData = {\n includeAll: this.includeAllCheckboxEl.value === \"true\",\n objectIds: includeAll\n ? this.selectedObjects\n : this.objects.map(object => object.id)\n };\n\n this.selection = data;\n this.selectionChanged.emit();\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component gx-ide-bpm-objects-selector\">\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <gx-ide-list-selector\n id=\"path-list\"\n type=\"multi-selection\"\n listName=\"path-list\"\n ordered\n onSelectionChanged={this.objectSelectionChangedHandler}\n class=\"path-list\"\n >\n {renderListItems(objectsToListItemData(this.objects))}\n </gx-ide-list-selector>\n\n <div class=\"controls-wrapper\">\n <label htmlFor=\"include-all\">\n {this._componentLocale.main.includeAllLabel}\n </label>\n <ch-checkbox\n id=\"include-all\"\n accessibleName={this._componentLocale.main.includeAllLabel}\n checkedValue=\"true\"\n unCheckedValue=\"false\"\n value=\"checked\"\n onInput={this.includeAllHandler}\n ref={(el: HTMLChCheckboxElement) =>\n (this.includeAllCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n <button\n onClick={this.addCallbackHandler}\n disabled={this.includeAll}\n >\n {this._componentLocale.main.addButton}\n </button>\n <button\n onClick={this.referencesCallbackHandler}\n disabled={this.objects.length === 0}\n >\n {this._componentLocale.main.referencesButton}\n </button>\n <button\n onClick={this.removeObjectsHandler}\n disabled={this.selectedObjects.length === 0 || this.includeAll}\n >\n {this._componentLocale.main.removeButton} (\n {this.selectedObjects.length})\n </button>\n </div>\n\n <button\n slot=\"footer-end\"\n onClick={this.removeAllObjectsHandler}\n disabled={this.includeAll}\n >\n {this._componentLocale.main.clearButton}\n </button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type SelectionData = {\n includeAll: boolean;\n objectIds: string[];\n};\n"],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import { r as t, c as e, h as i, H as o, a as s } from "./p-25a9f1d7.js";
2
2
 
3
- import { g as r } from "./p-2987a259.js";
3
+ import { g as r } from "./p-401bfc97.js";
4
4
 
5
5
  import { L as n } from "./p-311eedf3.js";
6
6
 
@@ -165,4 +165,4 @@ b = new WeakMap;
165
165
  _.style = a;
166
166
 
167
167
  export { _ as gx_ide_entity_selector };
168
- //# sourceMappingURL=p-c9bca7c0.entry.js.map
168
+ //# sourceMappingURL=p-dce532ea.entry.js.map
@@ -1,6 +1,6 @@
1
1
  import { g as e, r as t, h as s, H as i, a as r } from "./p-25a9f1d7.js";
2
2
 
3
- import { g as o } from "./p-2987a259.js";
3
+ import { g as o } from "./p-401bfc97.js";
4
4
 
5
5
  import { L as a } from "./p-311eedf3.js";
6
6
 
@@ -145,4 +145,4 @@ d = new WeakMap;
145
145
  u.style = l;
146
146
 
147
147
  export { u as gx_ide_splash };
148
- //# sourceMappingURL=p-bbb5b0fb.entry.js.map
148
+ //# sourceMappingURL=p-e02e3694.entry.js.map
@@ -1,6 +1,6 @@
1
1
  import { g as i, r as e, h as t, H as s, a } from "./p-25a9f1d7.js";
2
2
 
3
- import { g as n } from "./p-2987a259.js";
3
+ import { g as n } from "./p-401bfc97.js";
4
4
 
5
5
  import { L as o } from "./p-311eedf3.js";
6
6
 
@@ -19,32 +19,32 @@ var c = undefined && undefined.__classPrivateFieldSet || function(i, e, t, s, a)
19
19
  return s === "a" ? a.call(i, t) : a ? a.value = t : e.set(i, t), t;
20
20
  };
21
21
 
22
- var d, p, h, m, f, u, _, g, b, v, x, w, y, k;
22
+ var d, p, h, f, m, u, _, g, b, v, w, x, y, k, M, W;
23
23
 
24
- const M = n({
24
+ const T = n({
25
25
  category: "system",
26
26
  name: "user",
27
27
  colorType: "on-elevation"
28
28
  });
29
29
 
30
- const W = n({
30
+ const z = n({
31
31
  category: "system",
32
32
  name: "chevron-down",
33
33
  colorType: "on-primary"
34
34
  });
35
35
 
36
- const T = n({
36
+ const C = n({
37
37
  category: "system",
38
38
  name: "check-circle",
39
39
  colorType: "success"
40
40
  });
41
41
 
42
42
  // plugin icon if no iconUri was provided
43
- const z = i(`./gx-ide-assets/plugin-manager/images/plugin-icon.svg`);
43
+ const E = i(`./gx-ide-assets/plugin-manager/images/plugin-icon.svg`);
44
44
 
45
- const C = [ "resets/box-sizing", "chameleon/scrollbar", "components/button", "components/dropdown", "components/edit", "components/icon", "components/list-box", "components/tab", "utils/form", "utils/layout", "utils/spacing", "utils/typography" ];
45
+ const j = [ "resets/box-sizing", "chameleon/scrollbar", "components/button", "components/dropdown", "components/edit", "components/icon", "components/list-box", "components/tab", "utils/form", "utils/layout", "utils/spacing", "utils/typography" ];
46
46
 
47
- const j = class {
47
+ const L = class {
48
48
  constructor(i) {
49
49
  e(this, i);
50
50
  /**
@@ -52,10 +52,11 @@ const j = class {
52
52
  */
53
53
  // eslint-disable-next-line @stencil-community/own-props-must-be-private
54
54
  d.set(this, void 0);
55
+ p.set(this, void 0);
55
56
  // A map between docSection "id", and docSection "description".
56
57
  // "id" is generated inside this component.
57
- p.set(this, new Map);
58
- h.set(this, (() => {
58
+ h.set(this, new Map);
59
+ f.set(this, (() => {
59
60
  var i;
60
61
  const e = (i = this.data.versions) === null || i === void 0 ? void 0 : i.map((i => ({
61
62
  id: i,
@@ -67,24 +68,26 @@ const j = class {
67
68
  const e = i.detail.id;
68
69
  this.installCallback(e);
69
70
  }));
70
- f.set(this, (() => t("button", {
71
+ u.set(this, (() => t("button", {
71
72
  class: "button-tertiary",
72
- onClick: l(this, b, "f")
73
+ onClick: l(this, v, "f")
73
74
  }, l(this, d, "f").actions.uninstall)));
74
- u.set(this, (() => {
75
+ _.set(this, (() => {
75
76
  this.installCallback();
76
77
  }));
77
- _.set(this, (i => () => {
78
+ g.set(this, (i => () => {
78
79
  this.installCallback(i);
79
80
  }));
80
- g.set(this, (i => e => {
81
- e.preventDefault();
82
- this.openLinkCallback(i);
81
+ b.set(this, (i => e => {
82
+ if (this.openLinkCallback) {
83
+ e.preventDefault();
84
+ this.openLinkCallback(i);
85
+ }
83
86
  }));
84
- b.set(this, (() => {
87
+ v.set(this, (() => {
85
88
  this.uninstallCallback();
86
89
  }));
87
- v.set(this, (() => {
90
+ w.set(this, (() => {
88
91
  var i;
89
92
  let e;
90
93
  let s = "button-primary action-button";
@@ -92,10 +95,10 @@ const j = class {
92
95
  const n = (i = this.data.versions) === null || i === void 0 ? void 0 : i.length;
93
96
  if (!this.data.installed) {
94
97
  e = l(this, d, "f").actions.install;
95
- a = l(this, u, "f");
98
+ a = l(this, _, "f");
96
99
  } else if (this.data.updateVersion) {
97
100
  e = `${l(this, d, "f").actions.updateTo} ${this.data.updateVersion}`;
98
- a = l(this, _, "f").call(this, this.data.updateVersion);
101
+ a = l(this, g, "f").call(this, this.data.updateVersion);
99
102
  } else {
100
103
  e = l(this, d, "f").actions.installed;
101
104
  }
@@ -111,20 +114,21 @@ const j = class {
111
114
  class: "dropdown button-primary button-icon-only",
112
115
  blockAlign: "outside-end",
113
116
  inlineAlign: "inside-start",
114
- model: l(this, h, "f").call(this),
117
+ model: l(this, f, "f").call(this),
115
118
  onButtonClick: l(this, m, "f")
116
119
  }, t("ch-image", {
117
- src: W,
120
+ src: z,
118
121
  class: "icon-md"
119
122
  })) : null) ];
120
123
  }));
121
124
  x.set(this, (i => {
122
125
  this.selectedTabId = i.detail.newSelectedId;
123
126
  }));
124
- w.set(this, (() => this.docsTabModel.map((i => {
127
+ y.set(this, (() => this.docsTabModel.map((i => {
125
128
  if (i.id === this.selectedTabId) {
126
- const e = l(this, p, "f").get(i.id);
129
+ const e = l(this, h, "f").get(i.id);
127
130
  return t("ch-markdown-viewer", {
131
+ ref: i => c(this, p, i, "f"),
128
132
  slot: i.id,
129
133
  key: i.id,
130
134
  class: "markdown spacing-body scrollable",
@@ -133,8 +137,17 @@ const j = class {
133
137
  });
134
138
  }
135
139
  }))));
136
- y.set(this, (i => i.toLowerCase().replace(/\s+/g, "-")));
137
- k.set(this, (() => this.data.infoCategories.map((i => t("div", {
140
+ k.set(this, (i => i.toLowerCase().replace(/\s+/g, "-")));
141
+ M.set(this, ((i, e, s, a) => t("a", {
142
+ href: i,
143
+ target: "_blank",
144
+ onClick: l(this, b, "f").call(this, i),
145
+ class: s
146
+ }, a && t("ch-image", {
147
+ src: a,
148
+ class: "icon-md"
149
+ }), e)));
150
+ W.set(this, (() => this.data.infoCategories.map((i => t("div", {
138
151
  class: "plugin__info-category"
139
152
  }, t("h3", {
140
153
  class: "subtitle-semi-bold-s"
@@ -145,10 +158,7 @@ const j = class {
145
158
  }
146
159
  }, i.fields.map((e => {
147
160
  // If the field name isn’t specified, only the value is shown — usually a link.
148
- const s = typeof e.value === "string" ? e.value : t("a", {
149
- class: "field__link",
150
- onClick: l(this, g, "f").call(this, e.value.url)
151
- }, e.value.text);
161
+ const s = typeof e.value === "string" ? e.value : l(this, M, "f").call(this, e.value.url, e.value.text, "field__link");
152
162
  return t("li", {
153
163
  class: "field__li"
154
164
  }, e.name && !i.displayAsTags ? // displaysAsTags forces the items to be displayed as tags
@@ -171,8 +181,8 @@ const j = class {
171
181
  c(this, d, await o.getComponentStrings(this.el), "f");
172
182
  if ((i = this.data.docSections) === null || i === void 0 ? void 0 : i.length) {
173
183
  this.docsTabModel = this.data.docSections.map(((i, e) => {
174
- const t = l(this, y, "f").call(this, i.name);
175
- l(this, p, "f").set(t, i.content);
184
+ const t = l(this, k, "f").call(this, i.name);
185
+ l(this, h, "f").set(t, i.content);
176
186
  if (e === 0) {
177
187
  this.selectedTabId = t;
178
188
  }
@@ -183,6 +193,19 @@ const j = class {
183
193
  }));
184
194
  }
185
195
  }
196
+ componentDidLoad() {
197
+ l(this, p, "f").addEventListener("click", (i => {
198
+ // Listens for clicks on links inside <ch-markdown-viewer>.
199
+ // If a link (<a>) is clicked and openLinkCallback is defined,
200
+ // it prevents the default navigation and delegates the event
201
+ // to this.#openLinkHandler, passing the link's href.
202
+ const e = i.composedPath();
203
+ const t = e.find((i => i instanceof HTMLAnchorElement));
204
+ if (t === null || t === void 0 ? void 0 : t.href) {
205
+ l(this, b, "f").call(this, t.href)(i);
206
+ }
207
+ }));
208
+ }
186
209
  render() {
187
210
  const i = !this.data.installed || this.data.installed && !!this.data.updateVersion;
188
211
  const e = this.data.name.text;
@@ -196,49 +219,38 @@ const j = class {
196
219
  return t(s, {
197
220
  class: "widget"
198
221
  }, t("ch-theme", {
199
- model: C
222
+ model: j
200
223
  }), t("section", {
201
224
  class: "section"
202
225
  }, t("header", {
203
226
  class: "header"
204
227
  }, t("img", {
205
228
  class: "plugin__icon",
206
- src: this.data.iconUrl || z,
229
+ src: this.data.iconUrl || E,
207
230
  alt: "plugin extension icon"
208
231
  }), t("div", {
209
232
  class: "plugin__details"
210
233
  }, n ? t("h2", {
234
+ class: "heading-5 has-link"
235
+ }, l(this, M, "f").call(this, a, o, "text-underline")) : t("h2", {
211
236
  class: "heading-5"
212
- }, t("a", {
213
- href: a,
214
- onClick: l(this, g, "f").call(this, a),
215
- class: "text-underline"
216
- }, o)) : t("h2", {
217
- class: "heading-5"
218
- }, o), p ? t("a", {
219
- href: c,
220
- onClick: l(this, g, "f").call(this, c),
221
- class: "text-underline plugin__publisher tiny-semi-bold-l"
222
- }, t("ch-image", {
223
- src: M,
224
- class: "icon-md"
225
- }), h) : t("p", {
237
+ }, o), p ? l(this, M, "f").call(this, c, o, "text-underline plugin__publisher tiny-semi-bold-l", T) : t("p", {
226
238
  class: "plugin__publisher tiny-semi-bold-l"
227
239
  }, t("ch-image", {
228
- src: M,
240
+ src: T,
229
241
  class: "icon-md"
230
242
  }), h), t("p", {
231
243
  class: "plugin__description"
232
244
  }, this.data.description), t("div", {
233
245
  class: "buttons-spacer plugin__actions-container"
234
- }, i ? l(this, v, "f").call(this) :
246
+ }, i ? l(this, w, "f").call(this) :
235
247
  // installed and no updates
236
248
  t("p", {
237
249
  class: "installed-container subtitle-semi-bold-s"
238
250
  }, t("ch-image", {
239
- src: T,
251
+ src: C,
240
252
  class: "icon-md"
241
- }), l(this, d, "f").actions.installed), this.data.installed && l(this, f, "f").call(this)))), t("div", {
253
+ }), l(this, d, "f").actions.installed), this.data.installed && l(this, u, "f").call(this)))), t("div", {
242
254
  class: "main"
243
255
  }, this.docsTabModel.length > 0 && t("ch-tab-render", {
244
256
  class: "tab docsTab scrollable",
@@ -248,9 +260,9 @@ const j = class {
248
260
  model: this.docsTabModel,
249
261
  onSelectedItemChange: l(this, x, "f"),
250
262
  selectedId: this.selectedTabId
251
- }, l(this, w, "f").call(this))), t("div", {
263
+ }, l(this, y, "f").call(this))), t("div", {
252
264
  class: "aside spacing-body scrollable"
253
- }, l(this, k, "f").call(this))));
265
+ }, l(this, W, "f").call(this))));
254
266
  }
255
267
  static get assetsDirs() {
256
268
  return [ "gx-ide-assets/plugin-details" ];
@@ -260,11 +272,12 @@ const j = class {
260
272
  }
261
273
  };
262
274
 
263
- d = new WeakMap, p = new WeakMap, h = new WeakMap, m = new WeakMap, f = new WeakMap,
275
+ d = new WeakMap, p = new WeakMap, h = new WeakMap, f = new WeakMap, m = new WeakMap,
264
276
  u = new WeakMap, _ = new WeakMap, g = new WeakMap, b = new WeakMap, v = new WeakMap,
265
- x = new WeakMap, w = new WeakMap, y = new WeakMap, k = new WeakMap;
277
+ w = new WeakMap, x = new WeakMap, y = new WeakMap, k = new WeakMap, M = new WeakMap,
278
+ W = new WeakMap;
266
279
 
267
- j.style = r;
280
+ L.style = r;
268
281
 
269
- export { j as gx_ide_plugin_details };
270
- //# sourceMappingURL=p-84c1c1bb.entry.js.map
282
+ export { L as gx_ide_plugin_details };
283
+ //# sourceMappingURL=p-e162771e.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["pluginDetailsCss","USER_ICON","getIconPath","category","name","colorType","CHEVRON_DOWN_ICON","CHECK_CIRCLE_ICON","EXTENSION_ICON_IMG","getAssetPath","CSS_BUNDLES","GxIdePluginDetails","_GxIdePluginDetails_componentLocale","set","this","_GxIdePluginDetails_chMarkdownViewer","_GxIdePluginDetails_docSectionIdDescriptionMap","Map","_GxIdePluginDetails_versionsMenuOptionsModel","versionsToUpdateMenusModel","_a","data","versions","map","version","id","caption","_GxIdePluginDetails_menuVersionSelectedHandler","event","selectedVersion","detail","installCallback","_GxIdePluginDetails_renderUninstallButton","h","class","onClick","__classPrivateFieldGet","_GxIdePluginDetails_uninstallClickedHandler","actions","uninstall","_GxIdePluginDetails_installClickedHandler","_GxIdePluginDetails_updateVersionHandler","_GxIdePluginDetails_openLinkHandler","link","openLinkCallback","preventDefault","uninstallCallback","_GxIdePluginDetails_renderActionButtons","actionButtonCaption","actionButtonClasses","actionButtonCallback","moreVersionsToUpdate","length","installed","install","updateVersion","updateTo","call","blockAlign","inlineAlign","model","onButtonClick","src","_GxIdePluginDetails_tabSelectionChangedHandler","selectedTabId","newSelectedId","_GxIdePluginDetails_renderDocSectionsSlots","docsTabModel","docSectionTab","markdownValue","get","ref","el","__classPrivateFieldSet","slot","key","theme","value","_GxIdePluginDetails_returnFormatedId","rawId","toLowerCase","replace","_GxIdePluginDetails_renderLinkTag","href","label","cssClass","chImageSrc","target","_GxIdePluginDetails_renderAsideContent","infoCategories","infoCategory","fields__list","displayAsTags","fields","field","fieldValue","url","text","componentWillLoad","Locale","getComponentStrings","docSections","docSection","i","formatedId","content","componentDidLoad","addEventListener","path","composedPath","find","HTMLAnchorElement","render","renderActionButtons","titleLinkDataText","titleLinkDataUrl","titleHasLink","titleText","publisherDataText","publisher","publisherDataUrl","publisherHasLink","publisherText","Host","iconUrl","alt","description","tabListPosition","overflow","contain","onSelectedItemChange","selectedId"],"sources":["src/components/plugin-details/plugin-details.scss?tag=gx-ide-plugin-details&encapsulation=shadow","src/components/plugin-details/plugin-details.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n grid-template-areas:\n \"header header\"\n \"main aside\";\n grid-template-rows: max-content 1fr;\n grid-template-columns: 1fr 280px;\n row-gap: 12px;\n}\n\n.section {\n display: contents;\n}\n\n// header\n.header {\n display: grid;\n grid-area: header;\n grid-template-areas: \"plugin-icon plugin-details\";\n grid-template-columns: 64px 1fr;\n column-gap: 16px;\n padding: 24px 24px 16px 24px;\n}\n.plugin__icon {\n grid-area: plugin-icon;\n max-width: 100%;\n}\n.plugin__details {\n grid-area: plugin-details;\n display: flex;\n flex-direction: column;\n gap: 8px;\n}\n.plugin__publisher {\n display: flex;\n align-items: center;\n gap: 4px;\n}\n.plugin__description {\n line-height: 1.5; // WA: Text appears too tight.\n}\n.plugin__actions-container {\n margin-block-start: 8px;\n align-items: center;\n}\n.action-button {\n min-inline-size: 100px;\n\n &.more-versions-available {\n border-start-end-radius: 0 !important;\n border-end-end-radius: 0 !important;\n }\n}\n.installed-container {\n display: flex;\n align-items: center;\n gap: 6px;\n\n // WA Biggest Mercury icon (icon-md) looks small in this case.\n // Mercury should expose more icon sizes.\n ch-image {\n --ch-image-size: 20px;\n }\n}\n\n// main\n.main {\n grid-area: main;\n}\n.docsTab {\n block-size: 100%;\n}\n\n// aside\n.aside {\n grid-area: aside;\n overflow: auto;\n border-block-start: 1px solid var(--items-container__border-color);\n}\n.fields__list {\n list-style: none;\n padding: 0;\n margin: 0;\n font-size: 12px;\n}\n.plugin__info-category {\n display: flex;\n flex-direction: column;\n gap: 8px;\n\n &:not(:first-child) {\n $space: 16px;\n padding-block-start: $space;\n margin-block-start: $space;\n border-block-start: 1px solid var(--mer-border-color__on-elevation--01);\n }\n}\n.fields__list:not(.fields__list--as-tags) {\n display: flex;\n flex-direction: column;\n gap: 8px;\n .field__li {\n display: flex;\n gap: 16px;\n }\n}\n.fields__list--as-tags {\n display: flex;\n flex-wrap: wrap;\n gap: 6px;\n\n .field__li {\n border: 1px solid var(--mer-border-color__on-elevation--01);\n padding: 2px 8px;\n border-radius: 4px;\n\n text-transform: lowercase;\n }\n .field__link {\n color: var(--mer-text__on-surface);\n\n &:hover {\n color: var(--mer-accent__primary);\n }\n &:active {\n color: var(--mer-accent__primary--hover);\n }\n }\n}\n\n.field__name,\n.field__value {\n flex: 1;\n}\n// WA: Link styles should be defined Mercury\n.field__link {\n color: var(--mer-accent__primary);\n &:hover {\n color: var(--mer-accent__primary--hover);\n }\n &:active {\n color: var(--mer-accent__primary--active);\n }\n}\n// WA: Remove tab elevation background color\n.docsTab {\n background-color: transparent !important;\n}\n\n// WA: Styles for \"button-icon-only\" should be defined on mercury\n.dropdown.button-icon-only::part(expandable-button) {\n padding: calc(\n (\n var(--control__block-size) - 2 * var(--control__border-width) -\n var(--mer-icon__box--md)\n ) / 2\n ) !important;\n border-start-start-radius: 0 !important;\n border-end-start-radius: 0 !important;\n}\n\n.version-buttons-container {\n display: flex;\n align-items: center;\n gap: 1px;\n}\n\nch-markdown-viewer {\n block-size: 100%;\n overflow: auto;\n}\n\n// WA: Need text with underline. This should be defined on Mercury\n.text-underline {\n text-decoration: underline;\n}\n","import {\n Component,\n Host,\n State,\n Prop,\n Element,\n h,\n getAssetPath,\n JSX\n} from \"@stencil/core\";\n\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\nimport { ActionMenuModel, TabModel } from \"@genexus/chameleon-controls-library\";\nimport { TabItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/tab/types\";\n\nconst USER_ICON = getIconPath({\n category: \"system\",\n name: \"user\",\n colorType: \"on-elevation\"\n});\nconst CHEVRON_DOWN_ICON = getIconPath({\n category: \"system\",\n name: \"chevron-down\",\n colorType: \"on-primary\"\n});\nconst CHECK_CIRCLE_ICON = getIconPath({\n category: \"system\",\n name: \"check-circle\",\n colorType: \"success\"\n});\n\n// plugin icon if no iconUri was provided\nconst EXTENSION_ICON_IMG = getAssetPath(\n `./gx-ide-assets/plugin-manager/images/plugin-icon.svg`\n);\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"chameleon/scrollbar\",\n \"components/button\",\n \"components/dropdown\",\n \"components/edit\",\n \"components/icon\",\n \"components/list-box\",\n \"components/tab\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/spacing\",\n \"utils/typography\"\n];\n\n@Component({\n tag: \"gx-ide-plugin-details\",\n styleUrl: \"plugin-details.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/plugin-details\"]\n})\nexport class GxIdePluginDetails {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n\n #chMarkdownViewer: HTMLChMarkdownViewerElement;\n\n // A map between docSection \"id\", and docSection \"description\".\n // \"id\" is generated inside this component.\n #docSectionIdDescriptionMap: Map<string, string> = new Map();\n\n @Element() el: HTMLGxIdePluginDetailsElement;\n\n @State() docsTabModel: TabModel = [];\n @State() selectedTabId: string;\n\n /**\n * Specifies all the information related to a plugin.\n */\n @Prop() readonly data!: PluginDetailsData;\n\n /**\n * Callback that should be invoked when the user performs the install or update action.\n * Receives an optional version string when a specific version is selected.\n */\n @Prop() readonly installCallback!: (version?: string) => Promise<void>;\n\n /**\n * Callback that should be invoked when the user attempts to open any link displayed in this component.\n */\n @Prop() readonly openLinkCallback!: (url: string) => Promise<void>;\n\n /**\n * Callback that should be invoked when the user performs the uninstall action.\n */\n @Prop() readonly uninstallCallback!: () => Promise<void>;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n\n if (this.data.docSections?.length) {\n this.docsTabModel = this.data.docSections.map((docSection, i) => {\n const formatedId = this.#returnFormatedId(docSection.name);\n\n this.#docSectionIdDescriptionMap.set(formatedId, docSection.content);\n\n if (i === 0) {\n this.selectedTabId = formatedId;\n }\n return {\n id: formatedId,\n name: docSection.name\n } as TabItemModel;\n });\n }\n }\n\n componentDidLoad() {\n this.#chMarkdownViewer.addEventListener(\"click\", event => {\n // Listens for clicks on links inside <ch-markdown-viewer>.\n // If a link (<a>) is clicked and openLinkCallback is defined,\n // it prevents the default navigation and delegates the event\n // to this.#openLinkHandler, passing the link's href.\n const path = event.composedPath() as EventTarget[];\n\n const link = path.find(el => el instanceof HTMLAnchorElement) as\n | HTMLAnchorElement\n | undefined;\n\n if (link?.href) {\n this.#openLinkHandler(link.href)(event);\n }\n });\n }\n\n #versionsMenuOptionsModel = (): ActionMenuModel => {\n const versionsToUpdateMenusModel: ActionMenuModel = this.data.versions?.map(\n version => {\n return { id: version, caption: version };\n }\n );\n return versionsToUpdateMenusModel;\n };\n\n #menuVersionSelectedHandler = (\n event: CustomEvent<{\n id?: string;\n }>\n ) => {\n const selectedVersion = event.detail.id;\n this.installCallback(selectedVersion);\n };\n\n #renderUninstallButton = (): JSX.Element => {\n return (\n <button class=\"button-tertiary\" onClick={this.#uninstallClickedHandler}>\n {this.#componentLocale.actions.uninstall}\n </button>\n );\n };\n\n #installClickedHandler = () => {\n this.installCallback();\n };\n\n #updateVersionHandler = (id: string) => () => {\n this.installCallback(id);\n };\n\n #openLinkHandler = (link: string) => (event: MouseEvent) => {\n if (this.openLinkCallback) {\n event.preventDefault();\n this.openLinkCallback(link);\n }\n };\n\n #uninstallClickedHandler = () => {\n this.uninstallCallback();\n };\n\n #renderActionButtons = (): JSX.Element => {\n let actionButtonCaption;\n let actionButtonClasses = \"button-primary action-button\";\n let actionButtonCallback;\n const moreVersionsToUpdate = this.data.versions?.length;\n\n if (!this.data.installed) {\n actionButtonCaption = this.#componentLocale.actions.install;\n actionButtonCallback = this.#installClickedHandler;\n } else if (this.data.updateVersion) {\n actionButtonCaption = `${this.#componentLocale.actions.updateTo} ${\n this.data.updateVersion\n }`;\n actionButtonCallback = this.#updateVersionHandler(\n this.data.updateVersion\n );\n } else {\n actionButtonCaption = this.#componentLocale.actions.installed;\n }\n\n if (moreVersionsToUpdate) {\n actionButtonClasses = `${actionButtonClasses} more-versions-available`;\n }\n\n return [\n <div class=\"version-buttons-container\">\n <button class={actionButtonClasses} onClick={actionButtonCallback}>\n {actionButtonCaption}\n </button>\n {moreVersionsToUpdate ? (\n <ch-action-menu-render\n class=\"dropdown button-primary button-icon-only\"\n blockAlign=\"outside-end\"\n inlineAlign=\"inside-start\"\n model={this.#versionsMenuOptionsModel()}\n onButtonClick={this.#menuVersionSelectedHandler}\n >\n <ch-image src={CHEVRON_DOWN_ICON} class=\"icon-md\"></ch-image>\n </ch-action-menu-render>\n ) : null}\n </div>\n ];\n };\n\n #tabSelectionChangedHandler = (\n event: CustomEvent<{\n lastSelectedIndex: number;\n newSelectedId: string;\n newSelectedIndex: number;\n }>\n ): void => {\n this.selectedTabId = event.detail.newSelectedId;\n };\n\n #renderDocSectionsSlots = (): JSX.Element => {\n return this.docsTabModel.map(docSectionTab => {\n if (docSectionTab.id === this.selectedTabId) {\n const markdownValue = this.#docSectionIdDescriptionMap.get(\n docSectionTab.id\n );\n\n return (\n <ch-markdown-viewer\n ref={(el: HTMLChMarkdownViewerElement) =>\n (this.#chMarkdownViewer = el as HTMLChMarkdownViewerElement)\n }\n slot={docSectionTab.id}\n key={docSectionTab.id}\n class=\"markdown spacing-body scrollable\"\n theme=\"components/markdown-viewer\"\n value={markdownValue}\n ></ch-markdown-viewer>\n );\n }\n });\n };\n\n #returnFormatedId = (rawId: string): string => {\n return rawId.toLowerCase().replace(/\\s+/g, \"-\");\n };\n\n #renderLinkTag = (\n href: string,\n label: string,\n cssClass?: string,\n chImageSrc?: string\n ): HTMLAnchorElement => {\n return (\n <a\n href={href}\n target=\"_blank\"\n onClick={this.#openLinkHandler(href)}\n class={cssClass}\n >\n {chImageSrc && <ch-image src={chImageSrc} class=\"icon-md\"></ch-image>}\n {label}\n </a>\n );\n };\n\n #renderAsideContent = (): JSX.Element => {\n return this.data.infoCategories.map(infoCategory => {\n return (\n <div class=\"plugin__info-category\">\n <h3 class=\"subtitle-semi-bold-s\">{infoCategory.name}</h3>\n <ul\n class={{\n \"fields__list\": true,\n \"fields__list--as-tags\": infoCategory.displayAsTags\n }}\n >\n {infoCategory.fields.map(field => {\n // If the field name isn’t specified, only the value is shown — usually a link.\n const fieldValue: string | HTMLAnchorElement =\n typeof field.value === \"string\"\n ? (field.value as string)\n : this.#renderLinkTag(\n (field.value as LinkData).url,\n (field.value as LinkData).text,\n \"field__link\"\n );\n return (\n <li class=\"field__li\">\n {field.name && !infoCategory.displayAsTags\n ? // displaysAsTags forces the items to be displayed as tags\n // no span.field__name and span.field__value\n [\n <span class=\"field__name body-semi-bold-s\">\n {field.name}\n </span>,\n <span class=\"field__value body-regular-s\">\n {fieldValue}\n </span>\n ]\n : fieldValue}\n </li>\n );\n })}\n </ul>\n </div>\n );\n });\n };\n\n render() {\n const renderActionButtons =\n !this.data.installed ||\n (this.data.installed && !!this.data.updateVersion);\n\n const titleLinkDataText = (this.data.name as LinkData).text;\n const titleLinkDataUrl = (this.data.name as LinkData).url;\n const titleHasLink = titleLinkDataText && titleLinkDataUrl;\n const titleText = titleLinkDataText || this.data.name;\n\n const publisherDataText = (this.data.publisher as LinkData).text;\n const publisherDataUrl = (this.data.publisher as LinkData).url;\n const publisherHasLink = publisherDataText && publisherDataUrl;\n const publisherText = publisherDataText || this.data.publisher;\n\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n <header class=\"header\">\n <img\n class=\"plugin__icon\"\n src={this.data.iconUrl || EXTENSION_ICON_IMG}\n alt=\"plugin extension icon\"\n />\n <div class=\"plugin__details\">\n {titleHasLink ? (\n <h2 class=\"heading-5 has-link\">\n {this.#renderLinkTag(\n titleLinkDataUrl,\n titleText as string,\n \"text-underline\"\n )}\n </h2>\n ) : (\n <h2 class=\"heading-5\">{titleText}</h2>\n )}\n {publisherHasLink ? (\n this.#renderLinkTag(\n publisherDataUrl,\n titleText as string,\n \"text-underline plugin__publisher tiny-semi-bold-l\",\n USER_ICON\n )\n ) : (\n <p class=\"plugin__publisher tiny-semi-bold-l\">\n <ch-image src={USER_ICON} class=\"icon-md\"></ch-image>\n {publisherText}\n </p>\n )}\n\n <p class=\"plugin__description\">{this.data.description}</p>\n <div class=\"buttons-spacer plugin__actions-container\">\n {renderActionButtons ? (\n this.#renderActionButtons()\n ) : (\n // installed and no updates\n <p class=\"installed-container subtitle-semi-bold-s\">\n <ch-image\n src={CHECK_CIRCLE_ICON}\n class=\"icon-md\"\n ></ch-image>\n {this.#componentLocale.actions.installed}\n </p>\n )}\n {this.data.installed && this.#renderUninstallButton()}\n </div>\n </div>\n </header>\n <div class=\"main\">\n {this.docsTabModel.length > 0 && (\n <ch-tab-render\n class=\"tab docsTab scrollable\"\n tabListPosition=\"block-start\"\n overflow=\"auto\"\n contain=\"size\"\n model={this.docsTabModel}\n onSelectedItemChange={this.#tabSelectionChangedHandler}\n selectedId={this.selectedTabId}\n >\n {this.#renderDocSectionsSlots()}\n </ch-tab-render>\n )}\n </div>\n <div class=\"aside spacing-body scrollable\">\n {this.#renderAsideContent()}\n </div>\n </section>\n {/* <slot></slot> */}\n </Host>\n );\n }\n}\n\n// plugin-details.types.ts\n\nexport type LinkData = {\n text: string;\n url: string;\n};\n\nexport type PluginFieldData = {\n name?: string;\n value: string | LinkData;\n};\n\nexport type PluginInfoCategoryData = {\n name: string;\n fields: PluginFieldData[];\n displayAsTags: boolean;\n};\n\nexport type DocSectionData = {\n name: string;\n content: string;\n};\n\nexport type PluginDetailsData = {\n id: string;\n name: string | LinkData;\n publisher: string | LinkData;\n installed: boolean;\n updateVersion?: string;\n versions: string[];\n iconUrl: string;\n description: string;\n docSections: DocSectionData[];\n infoCategories: PluginInfoCategoryData[];\n};\n"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["bpmImportGxpmCss","GxIdeTemplate","this","renderedFirstTime","loadFileHandle","async","fileInput","click","handleFileInputChange","event","target","files","length","newFile","selectedFile","pathValue","name","value","handlePathInputChange","inputElement","newValue","confirmCallbackHandle","confirmCallback","fileName","replace","toLowerCase","trim","endsWith","fileData","File","data","automaticBackup","automaticBackupEl","file","componentWillLoad","_componentLocale","Locale","getComponentStrings","el","componentDidRender","componentDidRenderFirstTime","emit","componentName","render","h","Host","class","containerTitle","displayTitle","slimmerFooter","config","gxIdeContainer","htmlFor","main","projectPathInputLabel","type","id","onChange","accept","ref","onClick","addFilesButton","automaticBackupCheckboxLabel","accessibleName","checkedValue","unCheckedValue","slot","cancelCallback","footer","cancelButton","confirmButton"],"sources":["src/components/bpm/import-gxpm/bpm-import-gxpm.scss?tag=gx-ide-bpm-import-gxpm&encapsulation=shadow","src/components/bpm/import-gxpm/bpm-import-gxpm.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-common.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n@import \"../../../global/temporary-tokens-chameleon.scss\";\n\n:host {\n display: block;\n}\n\n.header {\n display: grid;\n align-items: center;\n grid-template-columns: max-content 1fr min-content;\n gap: var(--mer-spacing--sm);\n}\n.hidden-input {\n display: none;\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n\n/* CUSTOM IMPORTS */\nimport { config } from \"../../../common/config\";\nimport { Locale } from \"../../../common/locale\";\n\n@Component({\n tag: \"gx-ide-bpm-import-gxpm\",\n styleUrl: \"bpm-import-gxpm.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/bpm-import-gxpm\"]\n})\nexport class GxIdeTemplate {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeBpmImportGxpmElement;\n\n private fileInput: HTMLInputElement;\n private automaticBackupEl: HTMLChCheckboxElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * Contains the list of files\n */\n @State() selectedFile: File = null;\n\n /**\n * Contains the path input value\n */\n @State() pathValue: string = \"\";\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n /**\n * Callback function to be executed when OK button is pressed.\n * This callback is expected to handle the file or string input and return a Promise that resolves when is completed.\n *\n * @param {ImportData} data - The data to be processed. This can be a string or a File object.\n * @returns {Promise<void>} A Promise that resolves to void, indicating the completion of the operation.\n */\n @Prop() readonly confirmCallback: (data: ImportData) => Promise<void>;\n /**\n * Callback invoked when user press 'Cancel' button.\n */\n @Prop() readonly cancelCallback: () => Promise<void>;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private loadFileHandle = async () => {\n this.fileInput.click();\n };\n\n private handleFileInputChange = (event: Event) => {\n const fileInput = event.target as HTMLInputElement;\n\n if (fileInput.files && fileInput.files.length > 0) {\n const newFile: File = fileInput.files[0];\n this.selectedFile = newFile;\n this.pathValue = this.selectedFile.name;\n }\n\n this.fileInput.value = null;\n };\n\n private handlePathInputChange = (event: Event) => {\n this.selectedFile = null;\n const inputElement = event.target as HTMLInputElement;\n const newValue = inputElement.value;\n\n this.pathValue = newValue;\n };\n\n private confirmCallbackHandle = async () => {\n if (this.confirmCallback) {\n const fileName = this.pathValue\n .replace(/^.*?([^\\\\\\/]*)$/, \"$1\")\n .toLowerCase()\n .trim();\n if (fileName === \".gxpm\" || !fileName.endsWith(\".gxpm\")) {\n return;\n }\n const fileData = this.selectedFile\n ? this.selectedFile\n : new File([this.pathValue], fileName);\n\n const data: ImportData = {\n automaticBackup: this.automaticBackupEl.value === \"true\",\n file: fileData\n };\n\n await this.confirmCallback(data);\n\n this.fileInput.value = null;\n this.selectedFile = null;\n this.pathValue = \"\";\n this.automaticBackupEl.value = \"false\";\n }\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <div class=\"header\">\n <label htmlFor=\"project-path\">\n {this._componentLocale.main.projectPathInputLabel}\n </label>\n <input\n type=\"text\"\n class=\"input-text\"\n id=\"project-path\"\n value={this.pathValue}\n onChange={this.handlePathInputChange}\n />\n <input\n type=\"file\"\n id=\"input_file\"\n accept=\".gxpm\"\n ref={el => (this.fileInput = el as HTMLInputElement)}\n onChange={this.handleFileInputChange}\n class=\"hidden-input\"\n />\n <button onClick={this.loadFileHandle}>\n {this._componentLocale.main.addFilesButton}\n </button>\n </div>\n\n <div class=\"control-wrapper\">\n <label htmlFor=\"automatic-backup\">\n {this._componentLocale.main.automaticBackupCheckboxLabel}\n </label>\n\n <ch-checkbox\n id=\"automatic-backup\"\n accessibleName=\"automatic-backup\"\n checkedValue=\"true\"\n unCheckedValue=\"false\"\n value=\"checked\"\n ref={el =>\n (this.automaticBackupEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </div>\n <button slot=\"footer-end\" onClick={this.cancelCallback}>\n {this._componentLocale.footer.cancelButton}\n </button>\n <button slot=\"footer-end\" onClick={this.confirmCallbackHandle}>\n {this._componentLocale.footer.confirmButton}\n </button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type ImportData = {\n file: File;\n automaticBackup: boolean;\n};\n"],"mappings":";;;;;;AAAA,MAAMA,IAAmB;;MCuBZC,IAAa;;;;IAOhBC,KAAAC,oBAAoB;;;;QAoEpBD,KAAAE,iBAAiBC;MACvBH,KAAKI,UAAUC;AAAO;IAGhBL,KAAAM,wBAAyBC;MAC/B,MAAMH,IAAYG,EAAMC;MAExB,IAAIJ,EAAUK,SAASL,EAAUK,MAAMC,SAAS,GAAG;QACjD,MAAMC,IAAgBP,EAAUK,MAAM;QACtCT,KAAKY,eAAeD;QACpBX,KAAKa,YAAYb,KAAKY,aAAaE;;MAGrCd,KAAKI,UAAUW,QAAQ;AAAI;IAGrBf,KAAAgB,wBAAyBT;MAC/BP,KAAKY,eAAe;MACpB,MAAMK,IAAeV,EAAMC;MAC3B,MAAMU,IAAWD,EAAaF;MAE9Bf,KAAKa,YAAYK;AAAQ;IAGnBlB,KAAAmB,wBAAwBhB;MAC9B,IAAIH,KAAKoB,iBAAiB;QACxB,MAAMC,IAAWrB,KAAKa,UACnBS,QAAQ,mBAAmB,MAC3BC,cACAC;QACH,IAAIH,MAAa,YAAYA,EAASI,SAAS,UAAU;UACvD;;QAEF,MAAMC,IAAW1B,KAAKY,eAClBZ,KAAKY,eACL,IAAIe,KAAK,EAAC3B,KAAKa,aAAYQ;QAE/B,MAAMO,IAAmB;UACvBC,iBAAiB7B,KAAK8B,kBAAkBf,UAAU;UAClDgB,MAAML;;cAGF1B,KAAKoB,gBAAgBQ;QAE3B5B,KAAKI,UAAUW,QAAQ;QACvBf,KAAKY,eAAe;QACpBZ,KAAKa,YAAY;QACjBb,KAAK8B,kBAAkBf,QAAQ;;;wBArGL;qBAKD;wBAOG;;;;;EAuBhC,uBAAMiB;IACJhC,KAAKiC,yBAAyBC,EAAOC,oBAAoBnC,KAAKoC;;EAGhE,kBAAAC;IACE,KAAKrC,KAAKC,mBAAmB;MAC3BD,KAAKsC,4BAA4BC,KAC/BvC,KAAKiC,iBAAiBO;MAExBxC,KAAKC,oBAAoB;;;;EA+D7B,MAAAwC;IACE,OACEC,EAACC,GAAI;MAACC,OAAM;OACVF,EAAA;MAAKE,OAAM;OACTF,EAAA;MACEG,gBACE7C,KAAK8C,eAAe9C,KAAKiC,iBAAiBO,gBAAgB;MAE5DO,eAAeC,EAAOC,eAAeF;OAErCL,EAAA;MAAKE,OAAM;OACTF,EAAA;MAAOQ,SAAQ;OACZlD,KAAKiC,iBAAiBkB,KAAKC,wBAE9BV,EAAA;MACEW,MAAK;MACLT,OAAM;MACNU,IAAG;MACHvC,OAAOf,KAAKa;MACZ0C,UAAUvD,KAAKgB;QAEjB0B,EAAA;MACEW,MAAK;MACLC,IAAG;MACHE,QAAO;MACPC,KAAKrB,KAAOpC,KAAKI,YAAYgC;MAC7BmB,UAAUvD,KAAKM;MACfsC,OAAM;QAERF,EAAA;MAAQgB,SAAS1D,KAAKE;OACnBF,KAAKiC,iBAAiBkB,KAAKQ,kBAIhCjB,EAAA;MAAKE,OAAM;OACTF,EAAA;MAAOQ,SAAQ;OACZlD,KAAKiC,iBAAiBkB,KAAKS,+BAG9BlB,EAAA;MACEY,IAAG;MACHO,gBAAe;MACfC,cAAa;MACbC,gBAAe;MACfhD,OAAM;MACN0C,KAAKrB,KACFpC,KAAK8B,oBAAoBM;SAIhCM,EAAA;MAAQsB,MAAK;MAAaN,SAAS1D,KAAKiE;OACrCjE,KAAKiC,iBAAiBiC,OAAOC,eAEhCzB,EAAA;MAAQsB,MAAK;MAAaN,SAAS1D,KAAKmB;OACrCnB,KAAKiC,iBAAiBiC,OAAOE"}
1
+ {"version":3,"names":["bpmImportGxpmCss","GxIdeTemplate","this","renderedFirstTime","loadFileHandle","async","fileInput","click","handleFileInputChange","event","target","files","length","newFile","selectedFile","pathValue","name","value","handlePathInputChange","inputElement","newValue","confirmCallbackHandle","confirmCallback","fileName","replace","toLowerCase","trim","endsWith","fileData","File","data","automaticBackup","automaticBackupEl","file","componentWillLoad","_componentLocale","Locale","getComponentStrings","el","componentDidRender","componentDidRenderFirstTime","emit","componentName","render","h","Host","class","containerTitle","displayTitle","slimmerFooter","config","gxIdeContainer","htmlFor","main","projectPathInputLabel","type","id","onChange","accept","ref","onClick","addFilesButton","automaticBackupCheckboxLabel","accessibleName","checkedValue","unCheckedValue","slot","cancelCallback","footer","cancelButton","confirmButton"],"sources":["src/components/bpm/import-gxpm/bpm-import-gxpm.scss?tag=gx-ide-bpm-import-gxpm&encapsulation=shadow","src/components/bpm/import-gxpm/bpm-import-gxpm.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-common.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n@import \"../../../global/temporary-tokens-chameleon.scss\";\n\n:host {\n display: block;\n}\n\n.header {\n display: grid;\n align-items: center;\n grid-template-columns: max-content 1fr min-content;\n gap: var(--mer-spacing--sm);\n}\n.hidden-input {\n display: none;\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n\n/* CUSTOM IMPORTS */\nimport { config } from \"../../../common/config\";\nimport { Locale } from \"../../../common/locale\";\n\n@Component({\n tag: \"gx-ide-bpm-import-gxpm\",\n styleUrl: \"bpm-import-gxpm.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/bpm-import-gxpm\"]\n})\nexport class GxIdeTemplate {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeBpmImportGxpmElement;\n\n private fileInput: HTMLInputElement;\n private automaticBackupEl: HTMLChCheckboxElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * Contains the list of files\n */\n @State() selectedFile: File = null;\n\n /**\n * Contains the path input value\n */\n @State() pathValue: string = \"\";\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n /**\n * Callback function to be executed when OK button is pressed.\n * This callback is expected to handle the file or string input and return a Promise that resolves when is completed.\n *\n * @param {ImportData} data - The data to be processed. This can be a string or a File object.\n * @returns {Promise<void>} A Promise that resolves to void, indicating the completion of the operation.\n */\n @Prop() readonly confirmCallback: (data: ImportData) => Promise<void>;\n /**\n * Callback invoked when user press 'Cancel' button.\n */\n @Prop() readonly cancelCallback: () => Promise<void>;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private loadFileHandle = async () => {\n this.fileInput.click();\n };\n\n private handleFileInputChange = (event: Event) => {\n const fileInput = event.target as HTMLInputElement;\n\n if (fileInput.files && fileInput.files.length > 0) {\n const newFile: File = fileInput.files[0];\n this.selectedFile = newFile;\n this.pathValue = this.selectedFile.name;\n }\n\n this.fileInput.value = null;\n };\n\n private handlePathInputChange = (event: Event) => {\n this.selectedFile = null;\n const inputElement = event.target as HTMLInputElement;\n const newValue = inputElement.value;\n\n this.pathValue = newValue;\n };\n\n private confirmCallbackHandle = async () => {\n if (this.confirmCallback) {\n const fileName = this.pathValue\n .replace(/^.*?([^\\\\\\/]*)$/, \"$1\")\n .toLowerCase()\n .trim();\n if (fileName === \".gxpm\" || !fileName.endsWith(\".gxpm\")) {\n return;\n }\n const fileData = this.selectedFile\n ? this.selectedFile\n : new File([this.pathValue], fileName);\n\n const data: ImportData = {\n automaticBackup: this.automaticBackupEl.value === \"true\",\n file: fileData\n };\n\n await this.confirmCallback(data);\n\n this.fileInput.value = null;\n this.selectedFile = null;\n this.pathValue = \"\";\n this.automaticBackupEl.value = \"false\";\n }\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <div class=\"header\">\n <label htmlFor=\"project-path\">\n {this._componentLocale.main.projectPathInputLabel}\n </label>\n <input\n type=\"text\"\n class=\"input-text\"\n id=\"project-path\"\n value={this.pathValue}\n onChange={this.handlePathInputChange}\n />\n <input\n type=\"file\"\n id=\"input_file\"\n accept=\".gxpm\"\n ref={el => (this.fileInput = el as HTMLInputElement)}\n onChange={this.handleFileInputChange}\n class=\"hidden-input\"\n />\n <button onClick={this.loadFileHandle}>\n {this._componentLocale.main.addFilesButton}\n </button>\n </div>\n\n <div class=\"control-wrapper\">\n <label htmlFor=\"automatic-backup\">\n {this._componentLocale.main.automaticBackupCheckboxLabel}\n </label>\n\n <ch-checkbox\n id=\"automatic-backup\"\n accessibleName=\"automatic-backup\"\n checkedValue=\"true\"\n unCheckedValue=\"false\"\n value=\"checked\"\n ref={(el: HTMLChCheckboxElement) =>\n (this.automaticBackupEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </div>\n <button slot=\"footer-end\" onClick={this.cancelCallback}>\n {this._componentLocale.footer.cancelButton}\n </button>\n <button slot=\"footer-end\" onClick={this.confirmCallbackHandle}>\n {this._componentLocale.footer.confirmButton}\n </button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type ImportData = {\n file: File;\n automaticBackup: boolean;\n};\n"],"mappings":";;;;;;AAAA,MAAMA,IAAmB;;MCuBZC,IAAa;;;;IAOhBC,KAAAC,oBAAoB;;;;QAoEpBD,KAAAE,iBAAiBC;MACvBH,KAAKI,UAAUC;AAAO;IAGhBL,KAAAM,wBAAyBC;MAC/B,MAAMH,IAAYG,EAAMC;MAExB,IAAIJ,EAAUK,SAASL,EAAUK,MAAMC,SAAS,GAAG;QACjD,MAAMC,IAAgBP,EAAUK,MAAM;QACtCT,KAAKY,eAAeD;QACpBX,KAAKa,YAAYb,KAAKY,aAAaE;;MAGrCd,KAAKI,UAAUW,QAAQ;AAAI;IAGrBf,KAAAgB,wBAAyBT;MAC/BP,KAAKY,eAAe;MACpB,MAAMK,IAAeV,EAAMC;MAC3B,MAAMU,IAAWD,EAAaF;MAE9Bf,KAAKa,YAAYK;AAAQ;IAGnBlB,KAAAmB,wBAAwBhB;MAC9B,IAAIH,KAAKoB,iBAAiB;QACxB,MAAMC,IAAWrB,KAAKa,UACnBS,QAAQ,mBAAmB,MAC3BC,cACAC;QACH,IAAIH,MAAa,YAAYA,EAASI,SAAS,UAAU;UACvD;;QAEF,MAAMC,IAAW1B,KAAKY,eAClBZ,KAAKY,eACL,IAAIe,KAAK,EAAC3B,KAAKa,aAAYQ;QAE/B,MAAMO,IAAmB;UACvBC,iBAAiB7B,KAAK8B,kBAAkBf,UAAU;UAClDgB,MAAML;;cAGF1B,KAAKoB,gBAAgBQ;QAE3B5B,KAAKI,UAAUW,QAAQ;QACvBf,KAAKY,eAAe;QACpBZ,KAAKa,YAAY;QACjBb,KAAK8B,kBAAkBf,QAAQ;;;wBArGL;qBAKD;wBAOG;;;;;EAuBhC,uBAAMiB;IACJhC,KAAKiC,yBAAyBC,EAAOC,oBAAoBnC,KAAKoC;;EAGhE,kBAAAC;IACE,KAAKrC,KAAKC,mBAAmB;MAC3BD,KAAKsC,4BAA4BC,KAC/BvC,KAAKiC,iBAAiBO;MAExBxC,KAAKC,oBAAoB;;;;EA+D7B,MAAAwC;IACE,OACEC,EAACC,GAAI;MAACC,OAAM;OACVF,EAAA;MAAKE,OAAM;OACTF,EAAA;MACEG,gBACE7C,KAAK8C,eAAe9C,KAAKiC,iBAAiBO,gBAAgB;MAE5DO,eAAeC,EAAOC,eAAeF;OAErCL,EAAA;MAAKE,OAAM;OACTF,EAAA;MAAOQ,SAAQ;OACZlD,KAAKiC,iBAAiBkB,KAAKC,wBAE9BV,EAAA;MACEW,MAAK;MACLT,OAAM;MACNU,IAAG;MACHvC,OAAOf,KAAKa;MACZ0C,UAAUvD,KAAKgB;QAEjB0B,EAAA;MACEW,MAAK;MACLC,IAAG;MACHE,QAAO;MACPC,KAAKrB,KAAOpC,KAAKI,YAAYgC;MAC7BmB,UAAUvD,KAAKM;MACfsC,OAAM;QAERF,EAAA;MAAQgB,SAAS1D,KAAKE;OACnBF,KAAKiC,iBAAiBkB,KAAKQ,kBAIhCjB,EAAA;MAAKE,OAAM;OACTF,EAAA;MAAOQ,SAAQ;OACZlD,KAAKiC,iBAAiBkB,KAAKS,+BAG9BlB,EAAA;MACEY,IAAG;MACHO,gBAAe;MACfC,cAAa;MACbC,gBAAe;MACfhD,OAAM;MACN0C,KAAMrB,KACHpC,KAAK8B,oBAAoBM;SAIhCM,EAAA;MAAQsB,MAAK;MAAaN,SAAS1D,KAAKiE;OACrCjE,KAAKiC,iBAAiBiC,OAAOC,eAEhCzB,EAAA;MAAQsB,MAAK;MAAaN,SAAS1D,KAAKmB;OACrCnB,KAAKiC,iBAAiBiC,OAAOE"}
@@ -1,6 +1,6 @@
1
1
  import { r as e, h as t, H as n, a as i } from "./p-25a9f1d7.js";
2
2
 
3
- import { g as o } from "./p-2987a259.js";
3
+ import { g as o } from "./p-401bfc97.js";
4
4
 
5
5
  import { L as r } from "./p-311eedf3.js";
6
6
 
@@ -191,4 +191,4 @@ c = new WeakMap, d = new WeakMap, u = new WeakMap, f = new WeakMap, m = new Weak
191
191
  y.style = s;
192
192
 
193
193
  export { y as gx_ide_current_user_info };
194
- //# sourceMappingURL=p-7d107d2f.entry.js.map
194
+ //# sourceMappingURL=p-f3f068f6.entry.js.map
@@ -2,7 +2,7 @@ import { r as t, h as e, H as s, a as i } from "./p-25a9f1d7.js";
2
2
 
3
3
  import { L as n } from "./p-311eedf3.js";
4
4
 
5
- import { g as a } from "./p-2987a259.js";
5
+ import { g as a } from "./p-401bfc97.js";
6
6
 
7
7
  const o = "property";
8
8
 
@@ -492,4 +492,4 @@ V = new WeakMap, L = new WeakMap, l = new WeakSet, S = function _GxIdeKbManagerE
492
492
  q.style = c;
493
493
 
494
494
  export { q as gx_ide_kb_manager_export };
495
- //# sourceMappingURL=p-fd440291.entry.js.map
495
+ //# sourceMappingURL=p-f4a60017.entry.js.map
@@ -1,6 +1,6 @@
1
1
  import { r as t, h as e, H as s, a as i } from "./p-25a9f1d7.js";
2
2
 
3
- import { g as n } from "./p-2987a259.js";
3
+ import { g as n } from "./p-401bfc97.js";
4
4
 
5
5
  import { L as o } from "./p-311eedf3.js";
6
6
 
@@ -341,4 +341,4 @@ W = new WeakMap, C = new WeakMap;
341
341
  A.style = a;
342
342
 
343
343
  export { A as gx_ide_data_type_selector };
344
- //# sourceMappingURL=p-7cece7a8.entry.js.map
344
+ //# sourceMappingURL=p-f52ea9d4.entry.js.map