@genexus/genexus-ide-ui 1.1.23 → 1.1.25

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 (359) 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/genexus-ide-ui.cjs.js +1 -1
  4. package/dist/cjs/gx-ide-about.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-about.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gx-ide-ai-message.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +1 -1
  8. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +1 -1
  9. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +1 -1
  13. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js.map +1 -1
  14. package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js +5 -5
  15. package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js.map +1 -1
  16. package/dist/cjs/gx-ide-chat-container_2.cjs.entry.js +2 -2
  17. package/dist/cjs/gx-ide-chat-container_2.cjs.entry.js.map +1 -1
  18. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +2 -2
  19. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gx-ide-current-user-info.cjs.entry.js +1 -1
  21. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +1 -1
  22. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +1 -1
  23. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js +1 -1
  24. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js.map +1 -1
  25. package/dist/cjs/gx-ide-design-import.cjs.entry.js +1 -1
  26. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +1 -1
  27. package/dist/cjs/gx-ide-file-item.cjs.entry.js +1 -1
  28. package/dist/cjs/gx-ide-file-uploader.cjs.entry.js +1 -1
  29. package/dist/cjs/gx-ide-json-import.cjs.entry.js +1 -1
  30. package/dist/cjs/gx-ide-json-import.cjs.entry.js.map +1 -1
  31. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
  32. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +2 -2
  33. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  34. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +1 -1
  35. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +1 -1
  36. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
  37. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
  38. package/dist/cjs/gx-ide-open-api-import.cjs.entry.js +2 -2
  39. package/dist/cjs/gx-ide-open-api-import.cjs.entry.js.map +1 -1
  40. package/dist/cjs/gx-ide-plugin-details.cjs.entry.js +2 -2
  41. package/dist/cjs/gx-ide-plugin-details.cjs.entry.js.map +1 -1
  42. package/dist/cjs/gx-ide-plugin-explorer.cjs.entry.js +1 -1
  43. package/dist/cjs/gx-ide-references.cjs.entry.js +2 -2
  44. package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
  45. package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js +144 -112
  46. package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js.map +1 -1
  47. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +1 -1
  48. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +2 -2
  49. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  50. package/dist/cjs/gx-ide-splash.cjs.entry.js +1 -1
  51. package/dist/cjs/gx-ide-start-page.cjs.entry.js +1 -1
  52. package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js +3 -3
  53. package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js.map +1 -1
  54. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +2 -2
  55. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +2 -2
  56. package/dist/cjs/gx-ide-test.cjs.entry.js +1 -1
  57. package/dist/cjs/gx-ide-test.cjs.entry.js.map +1 -1
  58. package/dist/cjs/gx-ide-welcome-page.cjs.entry.js +1 -1
  59. package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js +1 -1
  60. package/dist/cjs/gx-ide-ww-files.cjs.entry.js +235 -211
  61. package/dist/cjs/gx-ide-ww-files.cjs.entry.js.map +1 -1
  62. package/dist/cjs/index.cjs.js +2 -5
  63. package/dist/cjs/index.cjs.js.map +1 -1
  64. package/dist/cjs/loader.cjs.js +1 -1
  65. package/dist/cjs/render-item.lit-3f18e009.js +329 -0
  66. package/dist/cjs/render-item.lit-3f18e009.js.map +1 -0
  67. package/dist/cjs/{utilities-6118dc24.js → utilities-0b308992.js} +2 -2
  68. package/dist/cjs/{utilities-6118dc24.js.map → utilities-0b308992.js.map} +1 -1
  69. package/dist/collection/components/_test/test.js +1 -1
  70. package/dist/collection/components/_test/test.js.map +1 -1
  71. package/dist/collection/components/about/about.css +1 -0
  72. package/dist/collection/components/bpm/import-files/bpm-import-files.js +1 -1
  73. package/dist/collection/components/bpm/import-files/bpm-import-files.js.map +1 -1
  74. package/dist/collection/components/bpm/import-gxpm/bpm-import-gxpm.js +1 -1
  75. package/dist/collection/components/bpm/import-gxpm/bpm-import-gxpm.js.map +1 -1
  76. package/dist/collection/components/bpm/objects-selector/bpm-objects-selector.js +1 -1
  77. package/dist/collection/components/bpm/objects-selector/bpm-objects-selector.js.map +1 -1
  78. package/dist/collection/components/bpm/task-documents/task-documents.js +4 -4
  79. package/dist/collection/components/bpm/task-documents/task-documents.js.map +1 -1
  80. package/dist/collection/components/chat/chat-container/chat-container.css +0 -5
  81. package/dist/collection/components/chat/lit-custom-render/actions.lit.js +27 -0
  82. package/dist/collection/components/chat/lit-custom-render/actions.lit.js.map +1 -0
  83. package/dist/collection/components/chat/lit-custom-render/code-block.lit.js +46 -0
  84. package/dist/collection/components/chat/lit-custom-render/code-block.lit.js.map +1 -0
  85. package/dist/collection/components/chat/lit-custom-render/dots-animation.js +61 -0
  86. package/dist/collection/components/chat/lit-custom-render/dots-animation.js.map +1 -0
  87. package/dist/collection/components/chat/lit-custom-render/render-item.lit.js +122 -0
  88. package/dist/collection/components/chat/lit-custom-render/render-item.lit.js.map +1 -0
  89. package/dist/collection/components/chat/lit-custom-render/spinner-animation.js +58 -0
  90. package/dist/collection/components/chat/lit-custom-render/spinner-animation.js.map +1 -0
  91. package/dist/collection/components/chat/lit-custom-render/types.js +2 -0
  92. package/dist/collection/components/chat/lit-custom-render/types.js.map +1 -0
  93. package/dist/collection/components/chat/lit-custom-render/utils.js +50 -0
  94. package/dist/collection/components/chat/lit-custom-render/utils.js.map +1 -0
  95. package/dist/collection/components/data-type-selector/data-type-selector.js.map +1 -1
  96. package/dist/collection/components/json-import/json-import.js.map +1 -1
  97. package/dist/collection/components/kb-manager-import/kb-manager-import.js +2 -2
  98. package/dist/collection/components/kb-manager-import/kb-manager-import.js.map +1 -1
  99. package/dist/collection/components/open-api-import/open-api-import.js +1 -1
  100. package/dist/collection/components/open-api-import/open-api-import.js.map +1 -1
  101. package/dist/collection/components/plugin-details/plugin-details.js +1 -1
  102. package/dist/collection/components/plugin-details/plugin-details.js.map +1 -1
  103. package/dist/collection/components/references/references.js +1 -1
  104. package/dist/collection/components/references/references.js.map +1 -1
  105. package/dist/collection/components/team-dev/bring-changes/bring-changes.js +1 -1
  106. package/dist/collection/components/team-dev/bring-changes/bring-changes.js.map +1 -1
  107. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js +1 -1
  108. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.js.map +1 -1
  109. package/dist/collection/components/team-dev/share-kb/share-kb.js +1 -1
  110. package/dist/collection/components/team-dev/share-kb/share-kb.js.map +1 -1
  111. package/dist/collection/components/team-dev/update/update.js +1 -1
  112. package/dist/collection/components/ww-files/gx-ide-assets/ww-files/langs/ww-files.lang.en.json +10 -1
  113. package/dist/collection/components/ww-files/gx-ide-assets/ww-files/langs/ww-files.lang.ja.json +9 -0
  114. package/dist/collection/components/ww-files/gx-ide-assets/ww-files/langs/ww-files.lang.zh.json +9 -0
  115. package/dist/collection/components/ww-files/helpers.js +12 -0
  116. package/dist/collection/components/ww-files/helpers.js.map +1 -1
  117. package/dist/collection/components/ww-files/ww-files.css +49 -63
  118. package/dist/collection/components/ww-files/ww-files.js +270 -421
  119. package/dist/collection/components/ww-files/ww-files.js.map +1 -1
  120. package/dist/collection/index.js +2 -1
  121. package/dist/collection/index.js.map +1 -1
  122. package/dist/collection/showcase/chat-container/callbacks.js +44 -187
  123. package/dist/collection/showcase/chat-container/callbacks.js.map +1 -1
  124. package/dist/collection/showcase/chat-container/chat.showcase.js +7 -6
  125. package/dist/collection/showcase/chat-container/chat.showcase.js.map +1 -1
  126. package/dist/collection/showcase/chat-container/models.js +321 -0
  127. package/dist/collection/showcase/chat-container/models.js.map +1 -0
  128. package/dist/components/MERCURY_ASSETS.js +1 -1
  129. package/dist/components/MERCURY_ASSETS.js.map +1 -1
  130. package/dist/components/bpm-objects-selector.js +1 -1
  131. package/dist/components/bpm-objects-selector.js.map +1 -1
  132. package/dist/components/chat-container.js +1 -1
  133. package/dist/components/chat-container.js.map +1 -1
  134. package/dist/components/gx-ide-about.js +1 -1
  135. package/dist/components/gx-ide-about.js.map +1 -1
  136. package/dist/components/gx-ide-bpm-import-files.js +1 -1
  137. package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
  138. package/dist/components/gx-ide-bpm-import-gxpm.js +1 -1
  139. package/dist/components/gx-ide-bpm-import-gxpm.js.map +1 -1
  140. package/dist/components/gx-ide-bpm-task-documents.js +4 -4
  141. package/dist/components/gx-ide-bpm-task-documents.js.map +1 -1
  142. package/dist/components/gx-ide-create-kb-from-server.js +1 -1
  143. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  144. package/dist/components/gx-ide-data-type-selector.js.map +1 -1
  145. package/dist/components/gx-ide-json-import.js.map +1 -1
  146. package/dist/components/gx-ide-kb-manager-import.js +1 -1
  147. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  148. package/dist/components/gx-ide-open-api-import.js +1 -1
  149. package/dist/components/gx-ide-open-api-import.js.map +1 -1
  150. package/dist/components/gx-ide-plugin-details.js +1 -1
  151. package/dist/components/gx-ide-plugin-details.js.map +1 -1
  152. package/dist/components/gx-ide-references.js +1 -1
  153. package/dist/components/gx-ide-references.js.map +1 -1
  154. package/dist/components/gx-ide-sc-chat-container.js +145 -112
  155. package/dist/components/gx-ide-sc-chat-container.js.map +1 -1
  156. package/dist/components/gx-ide-share-kb.js +1 -1
  157. package/dist/components/gx-ide-share-kb.js.map +1 -1
  158. package/dist/components/gx-ide-team-dev-bring-changes.js +1 -1
  159. package/dist/components/gx-ide-team-dev-bring-changes.js.map +1 -1
  160. package/dist/components/gx-ide-test.js +1 -1
  161. package/dist/components/gx-ide-test.js.map +1 -1
  162. package/dist/components/gx-ide-ww-files.js +258 -233
  163. package/dist/components/gx-ide-ww-files.js.map +1 -1
  164. package/dist/components/index.js +1 -1
  165. package/dist/components/index.js.map +1 -1
  166. package/dist/components/render-item.lit.js +327 -0
  167. package/dist/components/render-item.lit.js.map +1 -0
  168. package/dist/esm/MERCURY_ASSETS-ccf43ae3.js +7 -0
  169. package/dist/esm/{MERCURY_ASSETS-7c06e424.js.map → MERCURY_ASSETS-ccf43ae3.js.map} +1 -1
  170. package/dist/esm/genexus-ide-ui.js +1 -1
  171. package/dist/esm/gx-ide-about.entry.js +1 -1
  172. package/dist/esm/gx-ide-about.entry.js.map +1 -1
  173. package/dist/esm/gx-ide-ai-message.entry.js +1 -1
  174. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
  175. package/dist/esm/gx-ide-bpm-import-files.entry.js +1 -1
  176. package/dist/esm/gx-ide-bpm-import-files.entry.js.map +1 -1
  177. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +1 -1
  178. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js.map +1 -1
  179. package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
  180. package/dist/esm/gx-ide-bpm-objects-selector.entry.js.map +1 -1
  181. package/dist/esm/gx-ide-bpm-task-documents.entry.js +5 -5
  182. package/dist/esm/gx-ide-bpm-task-documents.entry.js.map +1 -1
  183. package/dist/esm/gx-ide-chat-container_2.entry.js +2 -2
  184. package/dist/esm/gx-ide-chat-container_2.entry.js.map +1 -1
  185. package/dist/esm/gx-ide-create-kb-from-server.entry.js +2 -2
  186. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  187. package/dist/esm/gx-ide-current-user-info.entry.js +1 -1
  188. package/dist/esm/gx-ide-dashboard-home.entry.js +1 -1
  189. package/dist/esm/gx-ide-data-selector.entry.js +1 -1
  190. package/dist/esm/gx-ide-data-type-selector.entry.js +1 -1
  191. package/dist/esm/gx-ide-data-type-selector.entry.js.map +1 -1
  192. package/dist/esm/gx-ide-design-import.entry.js +1 -1
  193. package/dist/esm/gx-ide-entity-selector.entry.js +1 -1
  194. package/dist/esm/gx-ide-file-item.entry.js +1 -1
  195. package/dist/esm/gx-ide-file-uploader.entry.js +1 -1
  196. package/dist/esm/gx-ide-json-import.entry.js +1 -1
  197. package/dist/esm/gx-ide-json-import.entry.js.map +1 -1
  198. package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
  199. package/dist/esm/gx-ide-kb-manager-import.entry.js +2 -2
  200. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  201. package/dist/esm/gx-ide-manage-module-references-v2.entry.js +1 -1
  202. package/dist/esm/gx-ide-manage-module-references.entry.js +1 -1
  203. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  204. package/dist/esm/gx-ide-object-selector.entry.js +1 -1
  205. package/dist/esm/gx-ide-open-api-import.entry.js +2 -2
  206. package/dist/esm/gx-ide-open-api-import.entry.js.map +1 -1
  207. package/dist/esm/gx-ide-plugin-details.entry.js +2 -2
  208. package/dist/esm/gx-ide-plugin-details.entry.js.map +1 -1
  209. package/dist/esm/gx-ide-plugin-explorer.entry.js +1 -1
  210. package/dist/esm/gx-ide-references.entry.js +2 -2
  211. package/dist/esm/gx-ide-references.entry.js.map +1 -1
  212. package/dist/esm/gx-ide-sc-chat-container.entry.js +145 -113
  213. package/dist/esm/gx-ide-sc-chat-container.entry.js.map +1 -1
  214. package/dist/esm/gx-ide-select-kb-items.entry.js +1 -1
  215. package/dist/esm/gx-ide-share-kb.entry.js +2 -2
  216. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  217. package/dist/esm/gx-ide-splash.entry.js +1 -1
  218. package/dist/esm/gx-ide-start-page.entry.js +1 -1
  219. package/dist/esm/gx-ide-team-dev-bring-changes.entry.js +3 -3
  220. package/dist/esm/gx-ide-team-dev-bring-changes.entry.js.map +1 -1
  221. package/dist/esm/gx-ide-team-dev-commit.entry.js +2 -2
  222. package/dist/esm/gx-ide-team-dev-history.entry.js +2 -2
  223. package/dist/esm/gx-ide-test.entry.js +1 -1
  224. package/dist/esm/gx-ide-test.entry.js.map +1 -1
  225. package/dist/esm/gx-ide-welcome-page.entry.js +1 -1
  226. package/dist/esm/gx-ide-ww-attributes.entry.js +1 -1
  227. package/dist/esm/gx-ide-ww-files.entry.js +236 -212
  228. package/dist/esm/gx-ide-ww-files.entry.js.map +1 -1
  229. package/dist/esm/index.js +1 -3
  230. package/dist/esm/index.js.map +1 -1
  231. package/dist/esm/loader.js +1 -1
  232. package/dist/esm/render-item.lit-449f2946.js +327 -0
  233. package/dist/esm/render-item.lit-449f2946.js.map +1 -0
  234. package/dist/esm/{utilities-6fdb43e4.js → utilities-00ec1b22.js} +2 -2
  235. package/dist/esm/{utilities-6fdb43e4.js.map → utilities-00ec1b22.js.map} +1 -1
  236. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  237. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  238. package/dist/genexus-ide-ui/gx-ide-assets/ww-files/langs/ww-files.lang.en.json +10 -1
  239. package/dist/genexus-ide-ui/gx-ide-assets/ww-files/langs/ww-files.lang.ja.json +9 -0
  240. package/dist/genexus-ide-ui/gx-ide-assets/ww-files/langs/ww-files.lang.zh.json +9 -0
  241. package/dist/genexus-ide-ui/index.esm.js +1 -5
  242. package/dist/genexus-ide-ui/index.esm.js.map +1 -1
  243. package/dist/genexus-ide-ui/p-04c6bd23.entry.js.map +1 -1
  244. package/dist/genexus-ide-ui/{p-476b74a1.entry.js → p-05f1ff03.entry.js} +2 -2
  245. package/dist/genexus-ide-ui/p-05f1ff03.entry.js.map +1 -0
  246. package/dist/genexus-ide-ui/{p-863ef4de.entry.js → p-0937c905.entry.js} +2 -2
  247. package/dist/genexus-ide-ui/{p-0cd3ab87.entry.js → p-0a0ab008.entry.js} +3 -3
  248. package/dist/genexus-ide-ui/p-0a0ab008.entry.js.map +1 -0
  249. package/dist/genexus-ide-ui/p-163bfc6a.entry.js +611 -0
  250. package/dist/genexus-ide-ui/p-163bfc6a.entry.js.map +1 -0
  251. package/dist/genexus-ide-ui/{p-1292a6b9.entry.js → p-1664d366.entry.js} +2 -2
  252. package/dist/genexus-ide-ui/{p-1292a6b9.entry.js.map → p-1664d366.entry.js.map} +1 -1
  253. package/dist/genexus-ide-ui/{p-884e0ed9.entry.js → p-2ad98d24.entry.js} +3 -3
  254. package/dist/genexus-ide-ui/{p-884e0ed9.entry.js.map → p-2ad98d24.entry.js.map} +1 -1
  255. package/dist/genexus-ide-ui/{p-d4ef0c35.entry.js → p-2d04b927.entry.js} +3 -3
  256. package/dist/genexus-ide-ui/{p-8bb9242a.entry.js → p-36c7a87b.entry.js} +2 -2
  257. package/dist/genexus-ide-ui/p-36c7a87b.entry.js.map +1 -0
  258. package/dist/genexus-ide-ui/{p-ca706700.entry.js → p-3dbd3842.entry.js} +3 -3
  259. package/dist/genexus-ide-ui/{p-2987a259.js → p-401bfc97.js} +4430 -4318
  260. package/dist/genexus-ide-ui/p-401bfc97.js.map +1 -0
  261. package/dist/genexus-ide-ui/p-46ffec64.entry.js.map +1 -1
  262. package/dist/genexus-ide-ui/{p-45539ad0.entry.js → p-494b3955.entry.js} +2 -2
  263. package/dist/genexus-ide-ui/{p-45539ad0.entry.js.map → p-494b3955.entry.js.map} +1 -1
  264. package/dist/genexus-ide-ui/{p-d77582b8.entry.js → p-4ad7826c.entry.js} +2 -2
  265. package/dist/genexus-ide-ui/{p-72b5d3e4.entry.js → p-4bb2c398.entry.js} +2 -2
  266. package/dist/genexus-ide-ui/{p-810ad95f.entry.js → p-538594e2.entry.js} +2 -2
  267. package/dist/genexus-ide-ui/{p-641c79a9.entry.js → p-5e7f8ae6.entry.js} +2 -2
  268. package/dist/genexus-ide-ui/{p-c50b9883.entry.js → p-5ff6fe1d.entry.js} +2 -2
  269. package/dist/genexus-ide-ui/{p-c50b9883.entry.js.map → p-5ff6fe1d.entry.js.map} +1 -1
  270. package/dist/genexus-ide-ui/{p-7ae2a57f.entry.js → p-6e958b79.entry.js} +2 -2
  271. package/dist/genexus-ide-ui/{p-4e6425f3.entry.js → p-731b8947.entry.js} +183 -142
  272. package/dist/genexus-ide-ui/p-731b8947.entry.js.map +1 -0
  273. package/dist/genexus-ide-ui/{p-012cfb1d.entry.js → p-75d6c740.entry.js} +2 -2
  274. package/dist/genexus-ide-ui/{p-7d7cf30d.entry.js → p-8714eeb1.entry.js} +2 -2
  275. package/dist/genexus-ide-ui/{p-ca9978e1.entry.js → p-88581fe4.entry.js} +2 -2
  276. package/dist/genexus-ide-ui/{p-1be1db4e.entry.js → p-8e34e92b.entry.js} +2 -2
  277. package/dist/genexus-ide-ui/p-8e34e92b.entry.js.map +1 -0
  278. package/dist/genexus-ide-ui/{p-ea02e5cf.entry.js → p-960d9108.entry.js} +2 -2
  279. package/dist/genexus-ide-ui/{p-ea02e5cf.entry.js.map → p-960d9108.entry.js.map} +1 -1
  280. package/dist/genexus-ide-ui/{p-7053c38e.entry.js → p-9d985956.entry.js} +11 -11
  281. package/dist/genexus-ide-ui/{p-7f65f9e3.entry.js → p-a708a870.entry.js} +2 -2
  282. package/dist/genexus-ide-ui/{p-c92332af.entry.js → p-b0aa8cdb.entry.js} +2 -2
  283. package/dist/genexus-ide-ui/{p-93cdb6f8.entry.js → p-bfe3277f.entry.js} +2 -2
  284. package/dist/genexus-ide-ui/{p-760d8f2a.entry.js → p-c3abc0f5.entry.js} +2 -2
  285. package/dist/genexus-ide-ui/{p-760d8f2a.entry.js.map → p-c3abc0f5.entry.js.map} +1 -1
  286. package/dist/genexus-ide-ui/{p-52f37ec7.entry.js → p-caa5ee2f.entry.js} +8 -8
  287. package/dist/genexus-ide-ui/{p-a869ec48.entry.js → p-d4ca8530.entry.js} +2 -2
  288. package/dist/genexus-ide-ui/{p-0f8a8202.js → p-d7a91333.js} +2 -2
  289. package/dist/genexus-ide-ui/p-d8379699.entry.js.map +1 -1
  290. package/dist/genexus-ide-ui/{p-c9bca7c0.entry.js → p-dce532ea.entry.js} +2 -2
  291. package/dist/genexus-ide-ui/{p-bbb5b0fb.entry.js → p-e02e3694.entry.js} +2 -2
  292. package/dist/genexus-ide-ui/{p-75c1634c.entry.js → p-e162771e.entry.js} +2 -2
  293. package/dist/genexus-ide-ui/{p-75c1634c.entry.js.map → p-e162771e.entry.js.map} +1 -1
  294. package/dist/genexus-ide-ui/p-e24902a0.entry.js.map +1 -1
  295. package/dist/genexus-ide-ui/{p-7d107d2f.entry.js → p-f3f068f6.entry.js} +2 -2
  296. package/dist/genexus-ide-ui/{p-fd440291.entry.js → p-f4a60017.entry.js} +2 -2
  297. package/dist/genexus-ide-ui/{p-7cece7a8.entry.js → p-f52ea9d4.entry.js} +2 -2
  298. package/dist/genexus-ide-ui/{p-7cece7a8.entry.js.map → p-f52ea9d4.entry.js.map} +1 -1
  299. package/dist/genexus-ide-ui/{p-54fb1287.entry.js → p-f83ceb69.entry.js} +2 -2
  300. package/dist/genexus-ide-ui/p-fd4f9904.js +955 -0
  301. package/dist/genexus-ide-ui/p-fd4f9904.js.map +1 -0
  302. package/dist/types/components/chat/lit-custom-render/actions.lit.d.ts +2 -0
  303. package/dist/types/components/chat/lit-custom-render/code-block.lit.d.ts +2 -0
  304. package/dist/types/components/chat/lit-custom-render/dots-animation.d.ts +5 -0
  305. package/dist/types/components/chat/lit-custom-render/render-item.lit.d.ts +3 -0
  306. package/dist/types/components/chat/lit-custom-render/spinner-animation.d.ts +5 -0
  307. package/dist/types/components/chat/lit-custom-render/types.d.ts +4 -0
  308. package/dist/types/components/chat/lit-custom-render/utils.d.ts +23 -0
  309. package/dist/types/components/ww-files/helpers.d.ts +1 -0
  310. package/dist/types/components/ww-files/ww-files.d.ts +36 -76
  311. package/dist/types/components.d.ts +10 -89
  312. package/dist/types/index.d.ts +2 -1
  313. package/dist/types/showcase/chat-container/callbacks.d.ts +2 -5
  314. package/dist/types/showcase/chat-container/models.d.ts +15 -0
  315. package/package.json +8 -7
  316. package/dist/cjs/MERCURY_ASSETS-15c5c1ac.js +0 -9
  317. package/dist/cjs/code-render-2af31443.js +0 -86
  318. package/dist/cjs/code-render-2af31443.js.map +0 -1
  319. package/dist/collection/components/chat/code-render.js +0 -65
  320. package/dist/collection/components/chat/code-render.js.map +0 -1
  321. package/dist/components/code-render.js +0 -83
  322. package/dist/components/code-render.js.map +0 -1
  323. package/dist/esm/MERCURY_ASSETS-7c06e424.js +0 -7
  324. package/dist/esm/code-render-e6bf0562.js +0 -83
  325. package/dist/esm/code-render-e6bf0562.js.map +0 -1
  326. package/dist/genexus-ide-ui/p-0cd3ab87.entry.js.map +0 -1
  327. package/dist/genexus-ide-ui/p-1be1db4e.entry.js.map +0 -1
  328. package/dist/genexus-ide-ui/p-2987a259.js.map +0 -1
  329. package/dist/genexus-ide-ui/p-385c9544.entry.js +0 -564
  330. package/dist/genexus-ide-ui/p-385c9544.entry.js.map +0 -1
  331. package/dist/genexus-ide-ui/p-476b74a1.entry.js.map +0 -1
  332. package/dist/genexus-ide-ui/p-4e6425f3.entry.js.map +0 -1
  333. package/dist/genexus-ide-ui/p-60221a44.js +0 -109
  334. package/dist/genexus-ide-ui/p-60221a44.js.map +0 -1
  335. package/dist/genexus-ide-ui/p-8bb9242a.entry.js.map +0 -1
  336. package/dist/types/components/chat/code-render.d.ts +0 -4
  337. /package/dist/genexus-ide-ui/{p-863ef4de.entry.js.map → p-0937c905.entry.js.map} +0 -0
  338. /package/dist/genexus-ide-ui/{p-d4ef0c35.entry.js.map → p-2d04b927.entry.js.map} +0 -0
  339. /package/dist/genexus-ide-ui/{p-ca706700.entry.js.map → p-3dbd3842.entry.js.map} +0 -0
  340. /package/dist/genexus-ide-ui/{p-d77582b8.entry.js.map → p-4ad7826c.entry.js.map} +0 -0
  341. /package/dist/genexus-ide-ui/{p-72b5d3e4.entry.js.map → p-4bb2c398.entry.js.map} +0 -0
  342. /package/dist/genexus-ide-ui/{p-810ad95f.entry.js.map → p-538594e2.entry.js.map} +0 -0
  343. /package/dist/genexus-ide-ui/{p-641c79a9.entry.js.map → p-5e7f8ae6.entry.js.map} +0 -0
  344. /package/dist/genexus-ide-ui/{p-7ae2a57f.entry.js.map → p-6e958b79.entry.js.map} +0 -0
  345. /package/dist/genexus-ide-ui/{p-012cfb1d.entry.js.map → p-75d6c740.entry.js.map} +0 -0
  346. /package/dist/genexus-ide-ui/{p-7d7cf30d.entry.js.map → p-8714eeb1.entry.js.map} +0 -0
  347. /package/dist/genexus-ide-ui/{p-ca9978e1.entry.js.map → p-88581fe4.entry.js.map} +0 -0
  348. /package/dist/genexus-ide-ui/{p-7053c38e.entry.js.map → p-9d985956.entry.js.map} +0 -0
  349. /package/dist/genexus-ide-ui/{p-7f65f9e3.entry.js.map → p-a708a870.entry.js.map} +0 -0
  350. /package/dist/genexus-ide-ui/{p-c92332af.entry.js.map → p-b0aa8cdb.entry.js.map} +0 -0
  351. /package/dist/genexus-ide-ui/{p-93cdb6f8.entry.js.map → p-bfe3277f.entry.js.map} +0 -0
  352. /package/dist/genexus-ide-ui/{p-52f37ec7.entry.js.map → p-caa5ee2f.entry.js.map} +0 -0
  353. /package/dist/genexus-ide-ui/{p-a869ec48.entry.js.map → p-d4ca8530.entry.js.map} +0 -0
  354. /package/dist/genexus-ide-ui/{p-0f8a8202.js.map → p-d7a91333.js.map} +0 -0
  355. /package/dist/genexus-ide-ui/{p-c9bca7c0.entry.js.map → p-dce532ea.entry.js.map} +0 -0
  356. /package/dist/genexus-ide-ui/{p-bbb5b0fb.entry.js.map → p-e02e3694.entry.js.map} +0 -0
  357. /package/dist/genexus-ide-ui/{p-7d107d2f.entry.js.map → p-f3f068f6.entry.js.map} +0 -0
  358. /package/dist/genexus-ide-ui/{p-fd440291.entry.js.map → p-f4a60017.entry.js.map} +0 -0
  359. /package/dist/genexus-ide-ui/{p-54fb1287.entry.js.map → p-f83ceb69.entry.js.map} +0 -0
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-e227aefb.js');
6
- const MERCURY_ASSETS = require('./MERCURY_ASSETS-15c5c1ac.js');
6
+ const MERCURY_ASSETS = require('./MERCURY_ASSETS-f14e91ff.js');
7
7
  const locale = require('./locale-ff30a5f3.js');
8
8
  const config = require('./config-6a768514.js');
9
9
 
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-e227aefb.js');
6
- const MERCURY_ASSETS = require('./MERCURY_ASSETS-15c5c1ac.js');
6
+ const MERCURY_ASSETS = require('./MERCURY_ASSETS-f14e91ff.js');
7
7
  const locale = require('./locale-ff30a5f3.js');
8
8
 
9
9
  /**
@@ -242,7 +242,7 @@ const GxIdeReferences = class {
242
242
  return (index.h(index.Host, { class: "widget" }, index.h("ch-theme", { model: CSS_BUNDLES }), index.h("section", { class: "section" }, index.h("header", { class: "header control-header-with-border spacing-body-inline spacing-body-block-start" }, index.h("div", { class: "header__top field-group" }, index.h("button", { type: "button", class: "button-tertiary button-icon-only", "aria-label": __classPrivateFieldGet(this, _GxIdeReferences__componentLocale, "f").header.toggleBar, part: "toggle-bar-button", onClick: __classPrivateFieldGet(this, _GxIdeReferences_hideBarButtonClickedHandler, "f") }, index.h("ch-image", { class: "icon-md", src: NAVIGATION_ARROW_DOWN_SKY_BLUE, containerRef: this.el })), index.h("div", { class: "field field-inline" }, index.h("label", {
243
243
  // select object
244
244
  class: "label", part: "select-object-label", htmlFor: "object-selector-suggest"
245
- }, __classPrivateFieldGet(this, _GxIdeReferences__componentLocale, "f").header.selectObject), index.h("ch-combo-box-render", { accessibleName: __classPrivateFieldGet(this, _GxIdeReferences__componentLocale, "f").header.selectObject, class: "combo-box", model: this.objectsSuggestions, suggest: true, onInput: __classPrivateFieldGet(this, _GxIdeReferences_selectObjectInputHandler, "f"), onChange: __classPrivateFieldGet(this, _GxIdeReferences_selectObjectChangedHandler, "f"), value: (_a = this.selectedObject) === null || _a === void 0 ? void 0 : _a.name, part: "object-selector-suggest", suggestOptions: SUGGEST_OPTIONS, ref: el => (__classPrivateFieldSet(this, _GxIdeReferences_selectObjectSuggestEl, el, "f")) })), index.h("button", { type: "button", class: "button-tertiary button-icon-only", "aria-label": __classPrivateFieldGet(this, _GxIdeReferences__componentLocale, "f").header.openSelectorButton, onClick: __classPrivateFieldGet(this, _GxIdeReferences_openSelectorDialogCallbackHandler, "f"), part: "open-selector-dialog-button" }, index.h("ch-image", { class: "icon-md", src: GEMINI_TOOLS_SHOW_MORE_HORIZONTAL, containerRef: this.el }))), index.h("div", { class: {
245
+ }, __classPrivateFieldGet(this, _GxIdeReferences__componentLocale, "f").header.selectObject), index.h("ch-combo-box-render", { accessibleName: __classPrivateFieldGet(this, _GxIdeReferences__componentLocale, "f").header.selectObject, class: "combo-box", model: this.objectsSuggestions, suggest: true, onInput: __classPrivateFieldGet(this, _GxIdeReferences_selectObjectInputHandler, "f"), onChange: __classPrivateFieldGet(this, _GxIdeReferences_selectObjectChangedHandler, "f"), value: (_a = this.selectedObject) === null || _a === void 0 ? void 0 : _a.name, part: "object-selector-suggest", suggestOptions: SUGGEST_OPTIONS, ref: (el) => (__classPrivateFieldSet(this, _GxIdeReferences_selectObjectSuggestEl, el, "f")) })), index.h("button", { type: "button", class: "button-tertiary button-icon-only", "aria-label": __classPrivateFieldGet(this, _GxIdeReferences__componentLocale, "f").header.openSelectorButton, onClick: __classPrivateFieldGet(this, _GxIdeReferences_openSelectorDialogCallbackHandler, "f"), part: "open-selector-dialog-button" }, index.h("ch-image", { class: "icon-md", src: GEMINI_TOOLS_SHOW_MORE_HORIZONTAL, containerRef: this.el }))), index.h("div", { class: {
246
246
  "header__bottom": true,
247
247
  "header__bottom--hidden": this.barHidden
248
248
  } }, index.h("div", { class: "outer-wrapper" }, index.h("div", { class: "inner-wrapper" }, index.h("div", { class: "inner-wrapper__left" }, index.h("ch-image", { class: "icon-md", src: this.selectedObject.icon, containerRef: this.el }), index.h("a", { class: "text-link", onClick: __classPrivateFieldGet(this, _GxIdeReferences_openObjectCallbackHandler, "f"), part: "open-object-text-link", "aria-label": __classPrivateFieldGet(this, _GxIdeReferences__componentLocale, "f").main.selectedObjectLink }, `${(_b = this.selectedObject) === null || _b === void 0 ? void 0 : _b.name} : ${(_c = this.selectedObject) === null || _c === void 0 ? void 0 : _c.description}`)))))), index.h("div", { class: "main" }, index.h("section", { class: "section__referenced-by" }, index.h("h2", { class: "control-header control-header-with-border control-header__referenced-by heading-5 text-align-center spacing-body-inline" }, __classPrivateFieldGet(this, _GxIdeReferences__componentLocale, "f").main.isReferencedBy), index.h("div", {
@@ -1 +1 @@
1
- {"file":"gx-ide-references.entry.cjs.js","mappings":"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","names":["getIconPath","getAssetPath","Locale","h","Host"],"sources":["src/components/references/helpers.ts","src/components/references/references.scss?tag=gx-ide-references&encapsulation=shadow","src/components/references/references.tsx"],"sourcesContent":["/* Tree View */\nimport {\n ComboBoxModel,\n TreeViewItemModel\n} from \"@genexus/chameleon-controls-library\";\n\n/* References Types*/\nimport { ObjectData, SelectorCategoryData } from \"./references\";\nimport { ReferenceData } from \"./references\";\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\n\n/**\n * @description This function converts SelectorCategoryData[] SuggestData\n */\n\nconst convertToTreeItem = (item: ReferenceData): TreeViewItemModel => ({\n caption: item.name,\n id: item.id,\n items: (item.items ?? []).map(convertToTreeItem),\n lazy: item.hasChildren && (item.items == null || item.items.length === 0),\n leaf: item.hasChildren === false,\n startImgSrc: item.icon\n});\n\n/**\n * @description This function converts ReferenceData[] data to TreeItemData[]\n */\nexport const convertReferenceDataToTreeViewData = (\n referenceData: ReferenceData[] | undefined\n): TreeViewItemModel[] => {\n const treeData: TreeViewItemModel[] = [];\n if (!referenceData) {\n return treeData;\n }\n\n referenceData.forEach(item => {\n treeData.push(convertToTreeItem(item));\n });\n return treeData;\n};\n\nexport const mapObjectDataToComboBoxItemModel = (\n options: ObjectData[]\n): ComboBoxModel => {\n return options.map(option => {\n return {\n value: option.id,\n caption: option.name,\n startImgSrc: option.icon ?? \"\"\n };\n });\n};\n\nexport const mapSelectorCategoryDataToComboBoxModel = (\n categoryData: SelectorCategoryData[]\n): ComboBoxModel => {\n return categoryData.map((category: SelectorCategoryData) => {\n const mappedGroup: ComboBoxItemModel = {\n value: category.name,\n caption: category.name,\n expandable: true,\n expanded: true,\n items: category.items.map((item: ObjectData) => ({\n value: item.id,\n caption: item.description,\n startImgSrc: item.icon\n }))\n };\n\n return mappedGroup;\n });\n};\n","@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr;\n}\n.section {\n display: contents;\n}\n\n.header {\n /*Top*/\n &__top {\n grid-template-columns: max-content 1fr max-content;\n }\n /*Bottom*/\n &__bottom {\n display: grid;\n grid-template-rows: 1fr;\n transition: var(--mer-timing--fast) grid-template-rows;\n &--hidden {\n grid-template-rows: 0fr;\n }\n\n .outer-wrapper {\n overflow: hidden;\n }\n\n .inner-wrapper {\n padding-top: var(--content-block-spacing);\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n &__left {\n display: flex;\n align-items: center;\n gap: var(--gx-ide-grid-row-gap);\n }\n }\n }\n}\n\n.main {\n display: grid;\n grid-template-columns: 1fr 1fr;\n}\n.section__referenced-by,\n.section__references-to {\n display: grid;\n grid-template-rows: max-content 1fr;\n}\n.control-header__referenced-by,\n.control-header__references-to {\n padding-block-start: var(--mer-spacing--md);\n}\n.main__referenced-by,\n.main__references-to {\n grid-auto-rows: max-content;\n overflow: auto;\n}\n.main__referenced-by {\n border-inline-end: var(--section-common-border);\n}\n\n.text-align-center {\n text-align: center;\n}\n","/* eslint-disable @stencil-community/own-props-must-be-private */\n/* STENCIL IMPORTS */\nimport {\n Component,\n Element,\n getAssetPath,\n Host,\n h,\n Prop,\n State,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport {\n ChComboBoxRenderCustomEvent,\n ComboBoxModel,\n TreeViewItemModel,\n TreeViewItemModelExtended\n} from \"@genexus/chameleon-controls-library\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport {\n convertReferenceDataToTreeViewData,\n mapSelectorCategoryDataToComboBoxModel\n} from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/pills\",\n \"components/combo-box\",\n \"components/icon\",\n \"components/checkbox\",\n \"components/tree-view\",\n \"utils/spacing\",\n \"utils/layout\",\n \"utils/form\",\n \"utils/typography\"\n];\n\nconst GEMINI_TOOLS_SHOW_MORE_HORIZONTAL = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"primary\"\n});\nconst NAVIGATION_ARROW_DOWN_SKY_BLUE = getIconPath({\n category: \"navigation\",\n name: \"arrow-down-skyblue\",\n colorType: \"primary\"\n});\n\nconst SUGGEST_OPTIONS = {\n alreadyProcessed: true,\n autoExpand: false,\n hideMatchesAndShowNonMatches: false,\n highlightMatchedItems: false,\n matchCase: false,\n regularExpression: false,\n strict: false,\n renderActiveItemIconOnExpand: true\n};\n\n@Component({\n tag: \"gx-ide-references\",\n styleUrl: \"references.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/references\"]\n})\nexport class GxIdeReferences {\n #objectDataMap: objectDataMap = new Map();\n #shortcutsSrc = getAssetPath(`./gx-ide-assets/references/shortcuts.json`);\n #_componentLocale: any;\n\n @Element() el: HTMLGxIdeReferencesElement;\n #selectObjectSuggestEl!: HTMLChComboBoxRenderElement;\n\n /**\n * Displays or hides the header-bottom section\n */\n @State() barHidden = false;\n\n /**\n * Objects suggestions that will appear on the suggest\n */\n @State() objectsSuggestions: ComboBoxModel;\n\n @State() referencedByTreeData: TreeViewItemModel[];\n\n @State() referencesToTreeData: TreeViewItemModel[];\n\n /**\n * Callback invoked when a node is expanded in any references panels\n */\n @Prop() readonly loadReferencesCallback?: LoadReferencesCallback;\n\n /**\n * Callback invoked when user wants to open an object\n */\n @Prop() readonly openObjectCallback?: OpenObjectCallback;\n\n /**\n * Callback invoked when user wants to show object selection dialog\n */\n @Prop() readonly openSelectorDialogCallback?: OpenSelectorDialogCallback;\n\n /**\n * Callback invoked when any item from the references panels is selected\n */\n @Prop() readonly selectReferenceCallback?: SelectReferenceCallback;\n\n /**\n * Callback invoked when user writes on object selector input\n */\n @Prop() readonly selectorSourceCallback?: SelectorSourceCallback;\n\n /**\n * Currently selected object\n */\n @Prop({ mutable: true }) selectedObject?: ObjectData;\n\n @Watch(\"selectedObject\")\n selectedObjectChanged(newSelectedObject: ObjectData) {\n if (newSelectedObject?.id) {\n /* update \"is referenced by*/\n this.#loadReferencesHandler(newSelectedObject.id, false);\n /* update \"has references to*/\n this.#loadReferencesHandler(newSelectedObject.id, true);\n }\n }\n\n componentDidLoad() {\n this.#selectObjectSuggestEl.focus();\n }\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.#evaluateInitialReferenceData();\n }\n\n /**\n * Evaluates whether to call loadReferencesCallback based on the presence of a selected object.\n */\n #evaluateInitialReferenceData = () => {\n if (this.selectedObject) {\n this.selectedObjectChanged(this.selectedObject);\n }\n };\n\n /**\n * Hides or shows the bar (the bottom section of the header).\n */\n #hideBarButtonClickedHandler = () => {\n this.barHidden = !this.barHidden;\n };\n\n /**\n * Invokes 'loadReferencesCallback' for 'Is Referenced By' and 'Has References To' panels.\n */\n #loadReferencesHandler = async (id: string, to = false) => {\n if (this.loadReferencesCallback) {\n this.loadReferencesCallback(id, to).then(result => {\n if (to) {\n this.referencesToTreeData =\n convertReferenceDataToTreeViewData(result);\n } else {\n this.referencedByTreeData =\n convertReferenceDataToTreeViewData(result);\n }\n });\n }\n };\n\n #openObjectCallbackHandler = () => {\n // Returns an empty Promise\n this.openObjectCallback(this.selectedObject?.id);\n };\n\n /**\n * Fired when user clicks the ch-suggest button (...)\n */\n #openSelectorDialogCallbackHandler = async () => {\n const objectDataResult = await this.openSelectorDialogCallback();\n if (objectDataResult) {\n this.selectedObject = objectDataResult;\n }\n };\n\n #referenceSelectedHandler = (\n event: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n if (this.selectReferenceCallback) {\n const selectedItems: string[] = event.detail.map(item => item.item.id);\n this.selectReferenceCallback(selectedItems[0]);\n // returns void\n }\n };\n\n #referencesItemOpenReferenceCallback = (\n itemOpened: CustomEvent<{ id: string; leaf: boolean; metadata: string }>\n ) => {\n const itemId = itemOpened.detail.id;\n if (this.openObjectCallback) {\n this.openObjectCallback(itemId);\n // returns void\n }\n };\n\n #referencesLazyLoadCallbackHandler =\n (ref: \"references-to\" | \"referenced-by\") =>\n async (treeItemId: string): Promise<TreeViewItemModel[]> => {\n if (this.loadReferencesCallback) {\n const to = ref === \"references-to\";\n const referencesLazyChildren = await this.loadReferencesCallback(\n treeItemId,\n to\n );\n const treeLazyChildren = convertReferenceDataToTreeViewData(\n referencesLazyChildren\n );\n return new Promise(resolve => {\n resolve(treeLazyChildren);\n });\n }\n return new Promise(resolve => {\n resolve([]);\n });\n };\n\n #selectObjectChangedHandler = (\n event: ChComboBoxRenderCustomEvent<string> | InputEvent\n ) => {\n const newSelectedValue = event.detail as string;\n\n const objectData = this.#objectDataMap.get(newSelectedValue);\n if (objectData) {\n this.selectedObject = objectData;\n }\n };\n\n #selectObjectInputHandler = (\n event: ChComboBoxRenderCustomEvent<string> | InputEvent\n ) => {\n // WA to know if the event was from searching on the input or an item selection.\n // const partValue = (e.target as HTMLElement).getAttribute(\"part\");\n const typedValue = event.detail as string;\n if (this.selectorSourceCallback) {\n this.selectorSourceCallback(typedValue).then(\n selectorCategoryDataArray => {\n // update map\n this.#objectDataMap.clear();\n selectorCategoryDataArray?.forEach(selectorCategoryData => {\n selectorCategoryData.items.forEach(objectData => {\n this.#objectDataMap.set(objectData.description, {\n id: objectData.id,\n typeName: objectData.typeName,\n icon: objectData.icon,\n name: objectData.name,\n description: objectData.description\n });\n });\n });\n\n this.objectsSuggestions = mapSelectorCategoryDataToComboBoxModel(\n selectorCategoryDataArray\n );\n }\n );\n }\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <section class=\"section\">\n <header class=\"header control-header-with-border spacing-body-inline spacing-body-block-start\">\n <div class=\"header__top field-group\">\n <button\n type=\"button\"\n class=\"button-tertiary button-icon-only\"\n aria-label={this.#_componentLocale.header.toggleBar}\n part=\"toggle-bar-button\"\n onClick={this.#hideBarButtonClickedHandler}\n >\n <ch-image\n class=\"icon-md\"\n src={NAVIGATION_ARROW_DOWN_SKY_BLUE}\n containerRef={this.el}\n ></ch-image>\n </button>\n\n <div class=\"field field-inline\">\n <label\n // select object\n class=\"label\"\n part=\"select-object-label\"\n htmlFor=\"object-selector-suggest\"\n >\n {this.#_componentLocale.header.selectObject}\n </label>\n <ch-combo-box-render\n accessibleName={this.#_componentLocale.header.selectObject}\n class=\"combo-box\"\n model={this.objectsSuggestions}\n suggest\n onInput={this.#selectObjectInputHandler}\n onChange={this.#selectObjectChangedHandler}\n value={this.selectedObject?.name}\n part=\"object-selector-suggest\"\n suggestOptions={SUGGEST_OPTIONS}\n ref={el =>\n (this.#selectObjectSuggestEl =\n el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n\n <button\n type=\"button\"\n class=\"button-tertiary button-icon-only\"\n aria-label={this.#_componentLocale.header.openSelectorButton}\n onClick={this.#openSelectorDialogCallbackHandler}\n part=\"open-selector-dialog-button\"\n >\n <ch-image\n class=\"icon-md\"\n src={GEMINI_TOOLS_SHOW_MORE_HORIZONTAL}\n containerRef={this.el}\n ></ch-image>\n </button>\n </div>\n\n <div\n class={{\n \"header__bottom\": true,\n \"header__bottom--hidden\": this.barHidden\n }}\n >\n <div class=\"outer-wrapper\">\n <div class=\"inner-wrapper\">\n <div class=\"inner-wrapper__left\">\n <ch-image\n class=\"icon-md\"\n src={this.selectedObject.icon}\n containerRef={this.el}\n ></ch-image>\n <a\n class=\"text-link\"\n onClick={this.#openObjectCallbackHandler}\n part=\"open-object-text-link\"\n aria-label={\n this.#_componentLocale.main.selectedObjectLink\n }\n >\n {`${this.selectedObject?.name} : ${this.selectedObject?.description}`}\n </a>\n </div>\n {/* <div class=\"inner-wrapper__right\">\n TODO: Add this feature \"Group References by Type\".\n <ch-checkbox\n class=\"checkbox\"\n id=\"references-by-type\"\n part=\"references-type-checkbox\"\n checkedValue=\"referencesByType\"\n caption=\"Group references by type\"\n ></ch-checkbox>\n </div> */}\n </div>\n </div>\n </div>\n </header>\n <div class=\"main\">\n <section class=\"section__referenced-by\">\n <h2 class=\"control-header control-header-with-border control-header__referenced-by heading-5 text-align-center spacing-body-inline\">\n {this.#_componentLocale.main.isReferencedBy}\n </h2>\n\n <div\n // is referenced by\n class=\"main__referenced-by spacing-body-block-start spacing-body-block-end\"\n >\n <ch-tree-view-render\n class={{\n \"gxi-hidden\": !this.referencedByTreeData?.length,\n \"tree-view\": true\n }}\n part=\"referenced-by-tree\"\n model={this.referencedByTreeData}\n aria-label={\n this.#_componentLocale.main.referencedByTreeAccessible\n }\n lazyLoadTreeItemsCallback={this.#referencesLazyLoadCallbackHandler(\n \"referenced-by\"\n )}\n onSelectedItemsChange={this.#referenceSelectedHandler}\n dragDisabled={true}\n dropDisabled={true}\n onItemOpenReference={\n this.#referencesItemOpenReferenceCallback\n }\n showLines=\"last\"\n ></ch-tree-view-render>\n {!this.referencedByTreeData?.length && (\n <gx-ide-empty-state\n stateTitle={\n this.referencedByTreeData?.length === 0\n ? this.#_componentLocale.main.isReferencedByEmpty\n : this.#_componentLocale.main.isReferencedByError\n }\n ></gx-ide-empty-state>\n )}\n </div>\n </section>\n\n <section class=\"section__references-to\">\n <h2 class=\"control-header control-header-with-border control-header__references-to heading-5 text-align-center spacing-body-inline\">\n {this.#_componentLocale.main.hasReferencesTo}\n </h2>\n\n <div\n // has references to\n class=\"main__references-to spacing-body-block-start spacing-body-block-end\"\n >\n <ch-tree-view-render\n class={{\n \"gxi-hidden\": !this.referencesToTreeData?.length,\n \"tree-view\": true\n }}\n part=\"referenced-to-tree\"\n model={this.referencesToTreeData}\n aria-label={\n this.#_componentLocale.main.referencesToTreeAccessible\n }\n lazyLoadTreeItemsCallback={this.#referencesLazyLoadCallbackHandler(\n \"references-to\"\n )}\n onSelectedItemsChange={this.#referenceSelectedHandler}\n dragDisabled={true}\n dropDisabled={true}\n onItemOpenReference={\n this.#referencesItemOpenReferenceCallback\n }\n showLines=\"last\"\n ></ch-tree-view-render>\n {!this.referencesToTreeData?.length && (\n <gx-ide-empty-state\n stateTitle={\n this.referencesToTreeData?.length === 0\n ? this.#_componentLocale.main.hasReferencesEmpty\n : this.#_componentLocale.main.hasReferencesToError\n }\n ></gx-ide-empty-state>\n )}\n </div>\n </section>\n </div>\n </section>\n\n <ch-shortcuts src={this.#shortcutsSrc}></ch-shortcuts>\n </Host>\n );\n }\n}\n\nexport type LoadReferencesCallback = (\n id: string,\n to: boolean\n) => Promise<ReferenceData[]>;\n\nexport type ObjectData = {\n id: string;\n typeName: string;\n icon: string;\n name: string;\n description?: string;\n};\n\nexport type OpenObjectCallback = (id: string) => Promise<void>;\n\nexport type OpenSelectorDialogCallback = () => Promise<ObjectData | undefined>;\n\nexport type ReferenceData = ObjectData & {\n hasChildren: boolean;\n items?: ReferenceData[];\n};\n\nexport type SelectReferenceCallback = (id: string) => Promise<void>;\n\nexport type SelectorCategoryData = {\n name: string;\n items: ObjectData[];\n};\n\nexport type SelectorSourceCallback = (\n prefix: string\n) => Promise<SelectorCategoryData[]>;\n\nexport type objectDataMap = Map<string, ObjectData>;\n"],"version":3}
1
+ {"file":"gx-ide-references.entry.cjs.js","mappings":"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","names":["getIconPath","getAssetPath","Locale","h","Host"],"sources":["src/components/references/helpers.ts","src/components/references/references.scss?tag=gx-ide-references&encapsulation=shadow","src/components/references/references.tsx"],"sourcesContent":["/* Tree View */\nimport {\n ComboBoxModel,\n TreeViewItemModel\n} from \"@genexus/chameleon-controls-library\";\n\n/* References Types*/\nimport { ObjectData, SelectorCategoryData } from \"./references\";\nimport { ReferenceData } from \"./references\";\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\n\n/**\n * @description This function converts SelectorCategoryData[] SuggestData\n */\n\nconst convertToTreeItem = (item: ReferenceData): TreeViewItemModel => ({\n caption: item.name,\n id: item.id,\n items: (item.items ?? []).map(convertToTreeItem),\n lazy: item.hasChildren && (item.items == null || item.items.length === 0),\n leaf: item.hasChildren === false,\n startImgSrc: item.icon\n});\n\n/**\n * @description This function converts ReferenceData[] data to TreeItemData[]\n */\nexport const convertReferenceDataToTreeViewData = (\n referenceData: ReferenceData[] | undefined\n): TreeViewItemModel[] => {\n const treeData: TreeViewItemModel[] = [];\n if (!referenceData) {\n return treeData;\n }\n\n referenceData.forEach(item => {\n treeData.push(convertToTreeItem(item));\n });\n return treeData;\n};\n\nexport const mapObjectDataToComboBoxItemModel = (\n options: ObjectData[]\n): ComboBoxModel => {\n return options.map(option => {\n return {\n value: option.id,\n caption: option.name,\n startImgSrc: option.icon ?? \"\"\n };\n });\n};\n\nexport const mapSelectorCategoryDataToComboBoxModel = (\n categoryData: SelectorCategoryData[]\n): ComboBoxModel => {\n return categoryData.map((category: SelectorCategoryData) => {\n const mappedGroup: ComboBoxItemModel = {\n value: category.name,\n caption: category.name,\n expandable: true,\n expanded: true,\n items: category.items.map((item: ObjectData) => ({\n value: item.id,\n caption: item.description,\n startImgSrc: item.icon\n }))\n };\n\n return mappedGroup;\n });\n};\n","@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr;\n}\n.section {\n display: contents;\n}\n\n.header {\n /*Top*/\n &__top {\n grid-template-columns: max-content 1fr max-content;\n }\n /*Bottom*/\n &__bottom {\n display: grid;\n grid-template-rows: 1fr;\n transition: var(--mer-timing--fast) grid-template-rows;\n &--hidden {\n grid-template-rows: 0fr;\n }\n\n .outer-wrapper {\n overflow: hidden;\n }\n\n .inner-wrapper {\n padding-top: var(--content-block-spacing);\n display: flex;\n flex-direction: row;\n align-items: center;\n justify-content: space-between;\n\n &__left {\n display: flex;\n align-items: center;\n gap: var(--gx-ide-grid-row-gap);\n }\n }\n }\n}\n\n.main {\n display: grid;\n grid-template-columns: 1fr 1fr;\n}\n.section__referenced-by,\n.section__references-to {\n display: grid;\n grid-template-rows: max-content 1fr;\n}\n.control-header__referenced-by,\n.control-header__references-to {\n padding-block-start: var(--mer-spacing--md);\n}\n.main__referenced-by,\n.main__references-to {\n grid-auto-rows: max-content;\n overflow: auto;\n}\n.main__referenced-by {\n border-inline-end: var(--section-common-border);\n}\n\n.text-align-center {\n text-align: center;\n}\n","/* eslint-disable @stencil-community/own-props-must-be-private */\n/* STENCIL IMPORTS */\nimport {\n Component,\n Element,\n getAssetPath,\n Host,\n h,\n Prop,\n State,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport {\n ChComboBoxRenderCustomEvent,\n ComboBoxModel,\n TreeViewItemModel,\n TreeViewItemModelExtended\n} from \"@genexus/chameleon-controls-library\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport {\n convertReferenceDataToTreeViewData,\n mapSelectorCategoryDataToComboBoxModel\n} from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/pills\",\n \"components/combo-box\",\n \"components/icon\",\n \"components/checkbox\",\n \"components/tree-view\",\n \"utils/spacing\",\n \"utils/layout\",\n \"utils/form\",\n \"utils/typography\"\n];\n\nconst GEMINI_TOOLS_SHOW_MORE_HORIZONTAL = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"primary\"\n});\nconst NAVIGATION_ARROW_DOWN_SKY_BLUE = getIconPath({\n category: \"navigation\",\n name: \"arrow-down-skyblue\",\n colorType: \"primary\"\n});\n\nconst SUGGEST_OPTIONS = {\n alreadyProcessed: true,\n autoExpand: false,\n hideMatchesAndShowNonMatches: false,\n highlightMatchedItems: false,\n matchCase: false,\n regularExpression: false,\n strict: false,\n renderActiveItemIconOnExpand: true\n};\n\n@Component({\n tag: \"gx-ide-references\",\n styleUrl: \"references.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/references\"]\n})\nexport class GxIdeReferences {\n #objectDataMap: objectDataMap = new Map();\n #shortcutsSrc = getAssetPath(`./gx-ide-assets/references/shortcuts.json`);\n #_componentLocale: any;\n\n @Element() el: HTMLGxIdeReferencesElement;\n #selectObjectSuggestEl!: HTMLChComboBoxRenderElement;\n\n /**\n * Displays or hides the header-bottom section\n */\n @State() barHidden = false;\n\n /**\n * Objects suggestions that will appear on the suggest\n */\n @State() objectsSuggestions: ComboBoxModel;\n\n @State() referencedByTreeData: TreeViewItemModel[];\n\n @State() referencesToTreeData: TreeViewItemModel[];\n\n /**\n * Callback invoked when a node is expanded in any references panels\n */\n @Prop() readonly loadReferencesCallback?: LoadReferencesCallback;\n\n /**\n * Callback invoked when user wants to open an object\n */\n @Prop() readonly openObjectCallback?: OpenObjectCallback;\n\n /**\n * Callback invoked when user wants to show object selection dialog\n */\n @Prop() readonly openSelectorDialogCallback?: OpenSelectorDialogCallback;\n\n /**\n * Callback invoked when any item from the references panels is selected\n */\n @Prop() readonly selectReferenceCallback?: SelectReferenceCallback;\n\n /**\n * Callback invoked when user writes on object selector input\n */\n @Prop() readonly selectorSourceCallback?: SelectorSourceCallback;\n\n /**\n * Currently selected object\n */\n @Prop({ mutable: true }) selectedObject?: ObjectData;\n\n @Watch(\"selectedObject\")\n selectedObjectChanged(newSelectedObject: ObjectData) {\n if (newSelectedObject?.id) {\n /* update \"is referenced by*/\n this.#loadReferencesHandler(newSelectedObject.id, false);\n /* update \"has references to*/\n this.#loadReferencesHandler(newSelectedObject.id, true);\n }\n }\n\n componentDidLoad() {\n this.#selectObjectSuggestEl.focus();\n }\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.#evaluateInitialReferenceData();\n }\n\n /**\n * Evaluates whether to call loadReferencesCallback based on the presence of a selected object.\n */\n #evaluateInitialReferenceData = () => {\n if (this.selectedObject) {\n this.selectedObjectChanged(this.selectedObject);\n }\n };\n\n /**\n * Hides or shows the bar (the bottom section of the header).\n */\n #hideBarButtonClickedHandler = () => {\n this.barHidden = !this.barHidden;\n };\n\n /**\n * Invokes 'loadReferencesCallback' for 'Is Referenced By' and 'Has References To' panels.\n */\n #loadReferencesHandler = async (id: string, to = false) => {\n if (this.loadReferencesCallback) {\n this.loadReferencesCallback(id, to).then(result => {\n if (to) {\n this.referencesToTreeData =\n convertReferenceDataToTreeViewData(result);\n } else {\n this.referencedByTreeData =\n convertReferenceDataToTreeViewData(result);\n }\n });\n }\n };\n\n #openObjectCallbackHandler = () => {\n // Returns an empty Promise\n this.openObjectCallback(this.selectedObject?.id);\n };\n\n /**\n * Fired when user clicks the ch-suggest button (...)\n */\n #openSelectorDialogCallbackHandler = async () => {\n const objectDataResult = await this.openSelectorDialogCallback();\n if (objectDataResult) {\n this.selectedObject = objectDataResult;\n }\n };\n\n #referenceSelectedHandler = (\n event: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n if (this.selectReferenceCallback) {\n const selectedItems: string[] = event.detail.map(item => item.item.id);\n this.selectReferenceCallback(selectedItems[0]);\n // returns void\n }\n };\n\n #referencesItemOpenReferenceCallback = (\n itemOpened: CustomEvent<{ id: string; leaf: boolean; metadata: string }>\n ) => {\n const itemId = itemOpened.detail.id;\n if (this.openObjectCallback) {\n this.openObjectCallback(itemId);\n // returns void\n }\n };\n\n #referencesLazyLoadCallbackHandler =\n (ref: \"references-to\" | \"referenced-by\") =>\n async (treeItemId: string): Promise<TreeViewItemModel[]> => {\n if (this.loadReferencesCallback) {\n const to = ref === \"references-to\";\n const referencesLazyChildren = await this.loadReferencesCallback(\n treeItemId,\n to\n );\n const treeLazyChildren = convertReferenceDataToTreeViewData(\n referencesLazyChildren\n );\n return new Promise(resolve => {\n resolve(treeLazyChildren);\n });\n }\n return new Promise(resolve => {\n resolve([]);\n });\n };\n\n #selectObjectChangedHandler = (\n event: ChComboBoxRenderCustomEvent<string> | InputEvent\n ) => {\n const newSelectedValue = event.detail as string;\n\n const objectData = this.#objectDataMap.get(newSelectedValue);\n if (objectData) {\n this.selectedObject = objectData;\n }\n };\n\n #selectObjectInputHandler = (\n event: ChComboBoxRenderCustomEvent<string> | InputEvent\n ) => {\n // WA to know if the event was from searching on the input or an item selection.\n // const partValue = (e.target as HTMLElement).getAttribute(\"part\");\n const typedValue = event.detail as string;\n if (this.selectorSourceCallback) {\n this.selectorSourceCallback(typedValue).then(\n selectorCategoryDataArray => {\n // update map\n this.#objectDataMap.clear();\n selectorCategoryDataArray?.forEach(selectorCategoryData => {\n selectorCategoryData.items.forEach(objectData => {\n this.#objectDataMap.set(objectData.description, {\n id: objectData.id,\n typeName: objectData.typeName,\n icon: objectData.icon,\n name: objectData.name,\n description: objectData.description\n });\n });\n });\n\n this.objectsSuggestions = mapSelectorCategoryDataToComboBoxModel(\n selectorCategoryDataArray\n );\n }\n );\n }\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <section class=\"section\">\n <header class=\"header control-header-with-border spacing-body-inline spacing-body-block-start\">\n <div class=\"header__top field-group\">\n <button\n type=\"button\"\n class=\"button-tertiary button-icon-only\"\n aria-label={this.#_componentLocale.header.toggleBar}\n part=\"toggle-bar-button\"\n onClick={this.#hideBarButtonClickedHandler}\n >\n <ch-image\n class=\"icon-md\"\n src={NAVIGATION_ARROW_DOWN_SKY_BLUE}\n containerRef={this.el}\n ></ch-image>\n </button>\n\n <div class=\"field field-inline\">\n <label\n // select object\n class=\"label\"\n part=\"select-object-label\"\n htmlFor=\"object-selector-suggest\"\n >\n {this.#_componentLocale.header.selectObject}\n </label>\n <ch-combo-box-render\n accessibleName={this.#_componentLocale.header.selectObject}\n class=\"combo-box\"\n model={this.objectsSuggestions}\n suggest\n onInput={this.#selectObjectInputHandler}\n onChange={this.#selectObjectChangedHandler}\n value={this.selectedObject?.name}\n part=\"object-selector-suggest\"\n suggestOptions={SUGGEST_OPTIONS}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#selectObjectSuggestEl =\n el as HTMLChComboBoxRenderElement)\n }\n ></ch-combo-box-render>\n </div>\n\n <button\n type=\"button\"\n class=\"button-tertiary button-icon-only\"\n aria-label={this.#_componentLocale.header.openSelectorButton}\n onClick={this.#openSelectorDialogCallbackHandler}\n part=\"open-selector-dialog-button\"\n >\n <ch-image\n class=\"icon-md\"\n src={GEMINI_TOOLS_SHOW_MORE_HORIZONTAL}\n containerRef={this.el}\n ></ch-image>\n </button>\n </div>\n\n <div\n class={{\n \"header__bottom\": true,\n \"header__bottom--hidden\": this.barHidden\n }}\n >\n <div class=\"outer-wrapper\">\n <div class=\"inner-wrapper\">\n <div class=\"inner-wrapper__left\">\n <ch-image\n class=\"icon-md\"\n src={this.selectedObject.icon}\n containerRef={this.el}\n ></ch-image>\n <a\n class=\"text-link\"\n onClick={this.#openObjectCallbackHandler}\n part=\"open-object-text-link\"\n aria-label={\n this.#_componentLocale.main.selectedObjectLink\n }\n >\n {`${this.selectedObject?.name} : ${this.selectedObject?.description}`}\n </a>\n </div>\n {/* <div class=\"inner-wrapper__right\">\n TODO: Add this feature \"Group References by Type\".\n <ch-checkbox\n class=\"checkbox\"\n id=\"references-by-type\"\n part=\"references-type-checkbox\"\n checkedValue=\"referencesByType\"\n caption=\"Group references by type\"\n ></ch-checkbox>\n </div> */}\n </div>\n </div>\n </div>\n </header>\n <div class=\"main\">\n <section class=\"section__referenced-by\">\n <h2 class=\"control-header control-header-with-border control-header__referenced-by heading-5 text-align-center spacing-body-inline\">\n {this.#_componentLocale.main.isReferencedBy}\n </h2>\n\n <div\n // is referenced by\n class=\"main__referenced-by spacing-body-block-start spacing-body-block-end\"\n >\n <ch-tree-view-render\n class={{\n \"gxi-hidden\": !this.referencedByTreeData?.length,\n \"tree-view\": true\n }}\n part=\"referenced-by-tree\"\n model={this.referencedByTreeData}\n aria-label={\n this.#_componentLocale.main.referencedByTreeAccessible\n }\n lazyLoadTreeItemsCallback={this.#referencesLazyLoadCallbackHandler(\n \"referenced-by\"\n )}\n onSelectedItemsChange={this.#referenceSelectedHandler}\n dragDisabled={true}\n dropDisabled={true}\n onItemOpenReference={\n this.#referencesItemOpenReferenceCallback\n }\n showLines=\"last\"\n ></ch-tree-view-render>\n {!this.referencedByTreeData?.length && (\n <gx-ide-empty-state\n stateTitle={\n this.referencedByTreeData?.length === 0\n ? this.#_componentLocale.main.isReferencedByEmpty\n : this.#_componentLocale.main.isReferencedByError\n }\n ></gx-ide-empty-state>\n )}\n </div>\n </section>\n\n <section class=\"section__references-to\">\n <h2 class=\"control-header control-header-with-border control-header__references-to heading-5 text-align-center spacing-body-inline\">\n {this.#_componentLocale.main.hasReferencesTo}\n </h2>\n\n <div\n // has references to\n class=\"main__references-to spacing-body-block-start spacing-body-block-end\"\n >\n <ch-tree-view-render\n class={{\n \"gxi-hidden\": !this.referencesToTreeData?.length,\n \"tree-view\": true\n }}\n part=\"referenced-to-tree\"\n model={this.referencesToTreeData}\n aria-label={\n this.#_componentLocale.main.referencesToTreeAccessible\n }\n lazyLoadTreeItemsCallback={this.#referencesLazyLoadCallbackHandler(\n \"references-to\"\n )}\n onSelectedItemsChange={this.#referenceSelectedHandler}\n dragDisabled={true}\n dropDisabled={true}\n onItemOpenReference={\n this.#referencesItemOpenReferenceCallback\n }\n showLines=\"last\"\n ></ch-tree-view-render>\n {!this.referencesToTreeData?.length && (\n <gx-ide-empty-state\n stateTitle={\n this.referencesToTreeData?.length === 0\n ? this.#_componentLocale.main.hasReferencesEmpty\n : this.#_componentLocale.main.hasReferencesToError\n }\n ></gx-ide-empty-state>\n )}\n </div>\n </section>\n </div>\n </section>\n\n <ch-shortcuts src={this.#shortcutsSrc}></ch-shortcuts>\n </Host>\n );\n }\n}\n\nexport type LoadReferencesCallback = (\n id: string,\n to: boolean\n) => Promise<ReferenceData[]>;\n\nexport type ObjectData = {\n id: string;\n typeName: string;\n icon: string;\n name: string;\n description?: string;\n};\n\nexport type OpenObjectCallback = (id: string) => Promise<void>;\n\nexport type OpenSelectorDialogCallback = () => Promise<ObjectData | undefined>;\n\nexport type ReferenceData = ObjectData & {\n hasChildren: boolean;\n items?: ReferenceData[];\n};\n\nexport type SelectReferenceCallback = (id: string) => Promise<void>;\n\nexport type SelectorCategoryData = {\n name: string;\n items: ObjectData[];\n};\n\nexport type SelectorSourceCallback = (\n prefix: string\n) => Promise<SelectorCategoryData[]>;\n\nexport type objectDataMap = Map<string, ObjectData>;\n"],"version":3}
@@ -3,11 +3,13 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-e227aefb.js');
6
- const codeRender = require('./code-render-2af31443.js');
7
- require('./common-8c725d8c.js');
6
+ const renderItem_lit = require('./render-item.lit-3f18e009.js');
8
7
 
9
- const PROCESSING_PLACEHOLDER = "{{ASSISTANT_NAME}}";
10
- let timeOut;
8
+ const ASSISTANT_RESPONSE_SHORT_MARKDOWN = '\n### Code block {#code-block}\nTo create code blocks, you’ll use three backticks (` ``` `) or three tildes (`~~~`) on the lines before and after the code block.\n\n```json\n{\n "firstName": "John",\n "lastName": "Smith",\n "age": 25\n}';
9
+ const ASSISTANT_NAME = "Nexa";
10
+ // - - - - - - - - - - - - - -
11
+ // Other messages
12
+ // - - - - - - - - - - - - - -
11
13
  const ASSISTANT_RESPONSE_MARKDOWN = `
12
14
  ###### Code block {#code-block}
13
15
  To create code blocks, you’ll use three backticks (\` \`\`\` \`) or three tildes (\`~~~\`) on the lines before and after the code block.
@@ -59,104 +61,6 @@ ReactDOM.render(
59
61
  ###### Horizontal Rules {#horizontal-rules}
60
62
  To create a horizontal rule, use three or more asterisks (\`***\`), dashes (\`---\`), or underscores (\`___\`) on a line by themselves.
61
63
  `;
62
- const ASSISTANT_RESPONSE_SHORT_MARKDOWN = `
63
- ###### Code block {#code-block}
64
- To create code blocks, you’ll use three backticks (\` \`\`\` \`) or three tildes (\`~~~\`) on the lines before and after the code block.
65
-
66
- \`\`\`json
67
- {
68
- "firstName": "John",
69
- "lastName": "Smith",
70
- "age": 25
71
- }
72
- \`\`\`
73
- `;
74
- const sendChatToLLM = (chatRef) => () => {
75
- chatRef.generatingResponse = true;
76
- chatRef.addNewMessage({
77
- id: `${new Date().getTime()}`,
78
- role: "assistant",
79
- content: "Analyzing",
80
- status: "waiting"
81
- });
82
- timeOut = setTimeout(() => {
83
- chatRef.updateLastMessage({
84
- role: "assistant",
85
- content: "Processing with Chat with LLMs",
86
- status: "waiting"
87
- }, "replace");
88
- timeOut = setTimeout(() => {
89
- dummyStreaming(chatRef, 20, ASSISTANT_RESPONSE_MARKDOWN, "replace");
90
- }, 10000);
91
- }, 20000);
92
- };
93
- const chatCallbacksWithChatRef = (chChatRef) => {
94
- return {
95
- clear: () => new Promise(resolve => resolve()),
96
- sendChatToLLM: sendChatToLLM(chChatRef),
97
- uploadImage: () => new Promise(resolve => resolve("")),
98
- stopGeneratingAnswer: () => {
99
- clearTimeout(timeOut);
100
- chChatRef.updateLastMessage({
101
- role: "assistant",
102
- content: "",
103
- status: "complete"
104
- }, "concat");
105
- return new Promise(resolve => setTimeout(() => resolve, 10));
106
- }
107
- };
108
- };
109
- function dummyStreaming(chatRef, counter, stringToDisplay, mode) {
110
- timeOut = setTimeout(() => {
111
- const streamingCompleted = counter >= stringToDisplay.length;
112
- chatRef.updateLastMessage({
113
- role: "assistant",
114
- content: stringToDisplay.substring(counter - 20, counter),
115
- // {
116
- // message: stringToDisplay.substring(counter - 20, counter),
117
- // files: streamingCompleted
118
- // ? [
119
- // {
120
- // url: "https://next.genexus.ai",
121
- // caption: "Mars Exploration Contract"
122
- // },
123
- // {
124
- // url: "https://gx-chameleon.netlify.app",
125
- // caption: "Venus Exploration Contract"
126
- // }
127
- // ]
128
- // : undefined
129
- // },
130
- status: streamingCompleted ? "complete" : "streaming"
131
- }, mode);
132
- if (!streamingCompleted) {
133
- dummyStreaming(chatRef, counter + 20, stringToDisplay, "concat");
134
- }
135
- else {
136
- chatRef.generatingResponse = false;
137
- }
138
- }, counter % 200 === 0 ? 50 : 40);
139
- }
140
- const chatTranslations = {
141
- accessibleName: {
142
- clearChat: "Clear chat",
143
- copyResponseButton: "Copy assistant response",
144
- downloadCodeButton: "Download code",
145
- imagePicker: "Select images",
146
- removeUploadedImage: "Remove uploaded image",
147
- sendButton: "Send",
148
- sendInput: "Message",
149
- stopGeneratingAnswerButton: "Stop generating answer"
150
- },
151
- placeholder: {
152
- sendInput: "Ask me a question..."
153
- },
154
- text: {
155
- copyCodeButton: "Copy code",
156
- processing: `Processing with ${PROCESSING_PLACEHOLDER}`,
157
- sourceFiles: "Source files:"
158
- }
159
- };
160
64
  Array.from({ length: 40 }, (_, index) => index % 2 === 0
161
65
  ? {
162
66
  id: `index: ${index}`,
@@ -193,28 +97,40 @@ const codeFixerRecord = [
193
97
  role: "assistant",
194
98
  status: "complete",
195
99
  content: "Action required example. Action required example. Action required example.",
196
- metadata: "14:56"
100
+ metadata: {
101
+ assistantName: ASSISTANT_NAME,
102
+ time: "14:25"
103
+ }
197
104
  },
198
105
  {
199
106
  id: "3",
200
107
  role: "assistant",
201
108
  status: "complete",
202
109
  content: "Some fields contain missing or invalid data, which may prevent the process from completing correctly. Review your input carefully and make any necessary corrections before continuing.",
203
- metadata: "14:57",
110
+ metadata: {
111
+ assistantName: ASSISTANT_NAME,
112
+ time: "14:25"
113
+ },
204
114
  parts: "warning"
205
115
  },
206
116
  {
207
117
  id: "4",
208
118
  role: "error",
209
119
  content: "An unexpected error occurred while processing your request, and the operation couldn’t be completed.Please check your internet connection or try again later. If the problem persists, contact support.",
210
- metadata: "14:58"
120
+ metadata: {
121
+ assistantName: ASSISTANT_NAME,
122
+ time: "14:25"
123
+ }
211
124
  },
212
125
  {
213
126
  id: "5",
214
127
  role: "assistant",
215
128
  status: "complete",
216
129
  content: "Your information has been saved successfully, and all changes are now reflected in your account. You can continue with the next steps or return to the dashboard at any time.",
217
- metadata: "14:59",
130
+ metadata: {
131
+ assistantName: ASSISTANT_NAME,
132
+ time: "14:25"
133
+ },
218
134
  parts: "success"
219
135
  },
220
136
  {
@@ -228,22 +144,138 @@ const codeFixerRecord = [
228
144
  role: "assistant",
229
145
  status: "complete",
230
146
  content: "You can provide further details or updates regarding your support ticket and its associated code. Your input here helps us better understand and address your issue effectively.",
231
- metadata: "15:01"
147
+ metadata: {
148
+ assistantName: ASSISTANT_NAME,
149
+ time: "14:25"
150
+ }
232
151
  },
233
152
  {
234
153
  id: "8",
235
154
  role: "assistant",
236
155
  status: "waiting",
237
- content: "You can provide further details or updates"
156
+ content: "You can provide further details or updates",
157
+ metadata: {
158
+ assistantName: ASSISTANT_NAME,
159
+ time: "14:25"
160
+ }
238
161
  },
239
162
  {
240
163
  id: "9",
241
164
  role: "assistant",
242
165
  status: "complete",
243
- content: ASSISTANT_RESPONSE_SHORT_MARKDOWN
166
+ content: ASSISTANT_RESPONSE_SHORT_MARKDOWN,
167
+ metadata: {
168
+ assistantName: ASSISTANT_NAME,
169
+ time: "14:25"
170
+ }
244
171
  }
245
172
  ];
246
173
 
174
+ const PROCESSING_PLACEHOLDER = "{{ASSISTANT_NAME}}";
175
+ const sendChatMessages = (chatRef) => () => {
176
+ chatRef.generatingResponse = true;
177
+ chatRef.addNewMessage({
178
+ id: `${new Date().getTime()}`,
179
+ role: "assistant",
180
+ content: "Analyzing",
181
+ status: "waiting",
182
+ metadata: {
183
+ assistantName: ASSISTANT_NAME,
184
+ time: "14:25"
185
+ }
186
+ });
187
+ setTimeout(() => {
188
+ chatRef.updateLastMessage({
189
+ role: "assistant",
190
+ content: "Processing with Chat with LLMs",
191
+ status: "waiting",
192
+ metadata: {
193
+ assistantName: ASSISTANT_NAME,
194
+ time: "14:25"
195
+ }
196
+ }, "replace");
197
+ setTimeout(() => {
198
+ dummyStreaming(chatRef, 20, ASSISTANT_RESPONSE_MARKDOWN, "replace");
199
+ }, 2000);
200
+ }, 2000);
201
+ };
202
+ const stopGeneratingAnswer = () => {
203
+ console.log("stop generating answer");
204
+ return new Promise(resolve => {
205
+ // Lógica asincrónica aquí si es necesario
206
+ resolve();
207
+ });
208
+ };
209
+ const chatCallbacksWithChatRef = (chChatRef) => {
210
+ return {
211
+ sendChatMessages: sendChatMessages(chChatRef),
212
+ uploadFile: (file) => new Promise(() => {
213
+ console.log("file", file);
214
+ return Promise.resolve({
215
+ url: "Error",
216
+ mimeType: "application/javascript"
217
+ });
218
+ }),
219
+ stopGeneratingAnswer: stopGeneratingAnswer
220
+ };
221
+ };
222
+ function dummyStreaming(chatRef, counter, stringToDisplay, mode) {
223
+ setTimeout(() => {
224
+ const streamingCompleted = counter >= stringToDisplay.length;
225
+ chatRef.updateLastMessage({
226
+ role: "assistant",
227
+ content: stringToDisplay.substring(counter - 20, counter),
228
+ // {
229
+ // message: stringToDisplay.substring(counter - 20, counter),
230
+ // files: streamingCompleted
231
+ // ? [
232
+ // {
233
+ // url: "https://next.genexus.ai",
234
+ // caption: "Mars Exploration Contract"
235
+ // },
236
+ // {
237
+ // url: "https://gx-chameleon.netlify.app",
238
+ // caption: "Venus Exploration Contract"
239
+ // }
240
+ // ]
241
+ // : undefined
242
+ // },
243
+ status: streamingCompleted ? "complete" : "streaming",
244
+ metadata: {
245
+ assistantName: ASSISTANT_NAME,
246
+ time: "14:25"
247
+ }
248
+ }, mode);
249
+ if (!streamingCompleted) {
250
+ dummyStreaming(chatRef, counter + 20, stringToDisplay, "concat");
251
+ }
252
+ else {
253
+ chatRef.generatingResponse = false;
254
+ }
255
+ }, counter % 200 === 0 ? 50 : 40);
256
+ }
257
+ const chatTranslations = {
258
+ accessibleName: {
259
+ clearChat: "Clear chat",
260
+ copyMessageContent: "Copy message",
261
+ downloadCodeButton: "Download code",
262
+ sendButton: "Send",
263
+ sendInput: "Message",
264
+ stopGeneratingAnswerButton: "Stop generating answer"
265
+ },
266
+ placeholder: {
267
+ sendInput: "Ask me a question..."
268
+ },
269
+ text: {
270
+ copyCodeButton: "Copy code",
271
+ copyMessageContent: "Copy message content",
272
+ downloadCodeButton: "Download code",
273
+ processing: `Processing with ${PROCESSING_PLACEHOLDER}`,
274
+ sourceFiles: "Source files:",
275
+ stopGeneratingAnswerButton: "Stop generating answer"
276
+ }
277
+ };
278
+
247
279
  const chatShowcaseCss = ":host{block-size:100%;display:grid}";
248
280
 
249
281
  var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
@@ -263,11 +295,11 @@ var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) ||
263
295
  return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
264
296
  };
265
297
  var _GxIdeScChatContainer_chatContainerRef, _GxIdeScChatContainer_chatWelcomeRef, _GxIdeScChatContainer_chChatRef, _GxIdeScChatContainer_chatCallbacks, _GxIdeScChatContainer_copyConversationCallbackHandler, _GxIdeScChatContainer_deleteConversationCallbackHandler, _GxIdeScChatContainer_suggestedPrompRequestedCallbackHandler;
266
- const AI_AVATAR = index.getAssetPath(`./gx-ide-assets/chat-welcome/images/ai-avatar.svg`);
267
298
  const CSS_BUNDLES = [
268
299
  "resets/box-sizing",
269
300
  "utils/elevation",
270
- "components/chat"
301
+ "components/chat-lit",
302
+ "components/markdown-viewer"
271
303
  ];
272
304
  const GxIdeScChatContainer = class {
273
305
  constructor(hostRef) {
@@ -373,7 +405,7 @@ const GxIdeScChatContainer = class {
373
405
  }
374
406
  }
375
407
  render() {
376
- return (index.h(index.Host, null, index.h("ch-theme", { model: CSS_BUNDLES }), index.h("gx-ide-chat-container", { chatTitle: "GeneXus Assistant", copyConversationCallback: __classPrivateFieldGet(this, _GxIdeScChatContainer_copyConversationCallbackHandler, "f"), deleteConversationCallback: __classPrivateFieldGet(this, _GxIdeScChatContainer_deleteConversationCallbackHandler, "f"), ref: el => (__classPrivateFieldSet(this, _GxIdeScChatContainer_chatContainerRef, el, "f")), class: "elevation-1" }, index.h("ch-chat", { callbacks: __classPrivateFieldGet(this, _GxIdeScChatContainer_chatCallbacks, "f"), class: "chat", generatingResponse: this.generatingResponse, loadingState: this.loadingState, renderItem: codeRender.mercuryChatMessageRender("components/markdown-viewer", AI_AVATAR, "Nexa"), items: this.chatItems, showAdditionalContent: this.showAdditionalContent, translations: chatTranslations, ref: el => (__classPrivateFieldSet(this, _GxIdeScChatContainer_chChatRef, el, "f")) }, index.h("gx-ide-chat-welcome", { ref: el => (__classPrivateFieldSet(this, _GxIdeScChatContainer_chatWelcomeRef, el, "f")), slot: "empty-chat", suggestedPrompRequestedCallback: __classPrivateFieldGet(this, _GxIdeScChatContainer_suggestedPrompRequestedCallbackHandler, "f"), suggestedPrompts: [
408
+ return (index.h(index.Host, null, index.h("ch-theme", { model: CSS_BUNDLES }), index.h("gx-ide-chat-container", { chatTitle: "GeneXus Assistant", copyConversationCallback: __classPrivateFieldGet(this, _GxIdeScChatContainer_copyConversationCallbackHandler, "f"), deleteConversationCallback: __classPrivateFieldGet(this, _GxIdeScChatContainer_deleteConversationCallbackHandler, "f"), ref: el => (__classPrivateFieldSet(this, _GxIdeScChatContainer_chatContainerRef, el, "f")), class: "elevation-1" }, index.h("ch-chat", { callbacks: __classPrivateFieldGet(this, _GxIdeScChatContainer_chatCallbacks, "f"), class: "chat-lit", generatingResponse: this.generatingResponse, loadingState: this.loadingState, renderItem: renderItem_lit.renderItemMercury, items: codeFixerRecord, showAdditionalContent: this.showAdditionalContent, translations: chatTranslations, ref: (el) => (__classPrivateFieldSet(this, _GxIdeScChatContainer_chChatRef, el, "f")), markdownTheme: "components/markdown-viewer" }, index.h("gx-ide-chat-welcome", { ref: el => (__classPrivateFieldSet(this, _GxIdeScChatContainer_chatWelcomeRef, el, "f")), slot: "empty-chat", suggestedPrompRequestedCallback: __classPrivateFieldGet(this, _GxIdeScChatContainer_suggestedPrompRequestedCallbackHandler, "f"), suggestedPrompts: [
377
409
  "I need to represente a product entity",
378
410
  "I want to create a Customer Tracking application. Can you help me with the architecture?",
379
411
  "I need to create a REST API for my application"