@genexus/genexus-ide-ui 1.1.4 → 1.1.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (398) hide show
  1. package/dist/cjs/MERCURY_ASSETS-972bf7f4.js +9 -0
  2. package/dist/cjs/MERCURY_ASSETS-972bf7f4.js.map +1 -0
  3. package/dist/cjs/code-render-55d37767.js +86 -0
  4. package/dist/cjs/code-render-55d37767.js.map +1 -0
  5. package/dist/cjs/{common-72f91a78.js → common-090e6d3a.js} +28 -12
  6. package/dist/cjs/common-090e6d3a.js.map +1 -0
  7. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  8. package/dist/cjs/gx-ide-ai-message.cjs.entry.js +2 -3
  9. package/dist/cjs/gx-ide-ai-message.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +5 -6
  11. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js +4 -5
  13. package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js.map +1 -1
  14. package/dist/cjs/gx-ide-chat-container_2.cjs.entry.js +239 -0
  15. package/dist/cjs/gx-ide-chat-container_2.cjs.entry.js.map +1 -0
  16. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +3 -4
  17. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  18. package/dist/cjs/gx-ide-current-user-info.cjs.entry.js +2 -3
  19. package/dist/cjs/gx-ide-current-user-info.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +2 -3
  21. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
  22. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +3 -4
  23. package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
  24. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js +2 -3
  25. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js.map +1 -1
  26. package/dist/cjs/gx-ide-design-import.cjs.entry.js +7 -8
  27. package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
  28. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +3 -4
  29. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js.map +1 -1
  30. package/dist/cjs/gx-ide-file-item.cjs.entry.js +5 -6
  31. package/dist/cjs/gx-ide-file-item.cjs.entry.js.map +1 -1
  32. package/dist/cjs/gx-ide-file-uploader.cjs.entry.js +2 -3
  33. package/dist/cjs/gx-ide-file-uploader.cjs.entry.js.map +1 -1
  34. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +6 -7
  35. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
  36. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +5 -6
  37. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  38. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +4 -5
  39. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js.map +1 -1
  40. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +4 -5
  41. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
  42. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
  43. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +3 -4
  44. package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
  45. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +4 -5
  46. package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
  47. package/dist/cjs/gx-ide-open-api-import.cjs.entry.js +3 -4
  48. package/dist/cjs/gx-ide-open-api-import.cjs.entry.js.map +1 -1
  49. package/dist/cjs/gx-ide-references.cjs.entry.js +3 -4
  50. package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
  51. package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js +202 -98
  52. package/dist/cjs/gx-ide-sc-chat-container.cjs.entry.js.map +1 -1
  53. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +3 -4
  54. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
  55. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +2 -3
  56. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  57. package/dist/cjs/gx-ide-splash.cjs.entry.js +3 -4
  58. package/dist/cjs/gx-ide-splash.cjs.entry.js.map +1 -1
  59. package/dist/cjs/gx-ide-start-page.cjs.entry.js +5 -6
  60. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  61. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
  62. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  63. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
  64. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  65. package/dist/cjs/gx-ide-welcome-page.cjs.entry.js +2 -3
  66. package/dist/cjs/gx-ide-welcome-page.cjs.entry.js.map +1 -1
  67. package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js +3 -4
  68. package/dist/cjs/gx-ide-ww-attributes.cjs.entry.js.map +1 -1
  69. package/dist/cjs/gx-ide-ww-files.cjs.entry.js +1 -1
  70. package/dist/cjs/gx-ide-ww-files.cjs.entry.js.map +1 -1
  71. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +2 -2
  72. package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
  73. package/dist/cjs/index.cjs.js +8 -2
  74. package/dist/cjs/index.cjs.js.map +1 -1
  75. package/dist/cjs/loader.cjs.js +1 -1
  76. package/dist/collection/collection-manifest.json +2 -1
  77. package/dist/collection/common/common.js +19 -6
  78. package/dist/collection/common/common.js.map +1 -1
  79. package/dist/collection/common/images/ai-avatar.svg +11 -0
  80. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.css +1 -0
  81. package/dist/collection/components/chat/chat-container/chat-container.css +118 -0
  82. package/dist/collection/components/chat/chat-container/chat-container.js +218 -0
  83. package/dist/collection/components/chat/chat-container/chat-container.js.map +1 -0
  84. package/dist/collection/components/chat/chat-container/gx-ide-assets/chat-container/langs/chat-container.lang.en.json +9 -0
  85. package/dist/collection/components/chat/chat-container/gx-ide-assets/chat-container/langs/chat-container.lang.ja.json +9 -0
  86. package/dist/collection/components/chat/chat-container/gx-ide-assets/chat-container/langs/chat-container.lang.zh.json +9 -0
  87. package/dist/collection/components/chat/chat-welcome/chat-welcome.css +109 -0
  88. package/dist/collection/components/chat/chat-welcome/chat-welcome.js +228 -0
  89. package/dist/collection/components/chat/chat-welcome/chat-welcome.js.map +1 -0
  90. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/helpers.js +3 -0
  91. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/helpers.js.map +1 -0
  92. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/helpers.tsx +31 -0
  93. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/images/ai-avatar-welcome.svg +21 -0
  94. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/images/ai-avatar.svg +11 -0
  95. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/images/header-illustration.svg +24 -0
  96. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.en.json +10 -0
  97. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.ja.json +10 -0
  98. package/dist/collection/components/chat/chat-welcome/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.zh.json +10 -0
  99. package/dist/collection/components/chat/code-render.js +65 -0
  100. package/dist/collection/components/chat/code-render.js.map +1 -0
  101. package/dist/collection/components/data-selector/data-selector.css +1 -0
  102. package/dist/collection/components/object-selector/object-selector.css +1 -0
  103. package/dist/collection/components/team-dev/commit/commit.css +1 -0
  104. package/dist/collection/components/team-dev/update/update.css +2 -0
  105. package/dist/collection/components/ww-attributes/ww-attributes.css +1 -0
  106. package/dist/collection/components/ww-files/ww-files.css +1 -0
  107. package/dist/collection/components/ww-images/ww-images.css +1 -0
  108. package/dist/collection/index.js +5 -1
  109. package/dist/collection/index.js.map +1 -1
  110. package/dist/collection/showcase/chat-container/callbacks.js +105 -90
  111. package/dist/collection/showcase/chat-container/callbacks.js.map +1 -1
  112. package/dist/collection/showcase/chat-container/chat.showcase.js +145 -10
  113. package/dist/collection/showcase/chat-container/chat.showcase.js.map +1 -1
  114. package/dist/collection/testing/locale.e2e.js +1 -0
  115. package/dist/collection/testing/locale.e2e.js.map +1 -1
  116. package/dist/components/MERCURY_ASSETS.js +5 -1
  117. package/dist/components/MERCURY_ASSETS.js.map +1 -1
  118. package/dist/components/ai-message.js +1 -2
  119. package/dist/components/ai-message.js.map +1 -1
  120. package/dist/components/chat-container.js +70 -7
  121. package/dist/components/chat-container.js.map +1 -1
  122. package/dist/components/chat-welcome.js +146 -0
  123. package/dist/components/chat-welcome.js.map +1 -0
  124. package/dist/components/code-render.js +68 -41
  125. package/dist/components/code-render.js.map +1 -1
  126. package/dist/components/common.js +27 -11
  127. package/dist/components/common.js.map +1 -1
  128. package/dist/components/entity-selector.js +1 -2
  129. package/dist/components/entity-selector.js.map +1 -1
  130. package/dist/components/file-item.js +1 -2
  131. package/dist/components/file-item.js.map +1 -1
  132. package/dist/components/gx-ide-bpm-app-declaration.js +2 -3
  133. package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
  134. package/dist/components/gx-ide-bpm-task-documents.js +1 -2
  135. package/dist/components/gx-ide-bpm-task-documents.js.map +1 -1
  136. package/dist/components/gx-ide-chat-welcome.d.ts +11 -0
  137. package/dist/components/gx-ide-chat-welcome.js +8 -0
  138. package/dist/components/gx-ide-chat-welcome.js.map +1 -0
  139. package/dist/components/gx-ide-create-kb-from-server.js +1 -2
  140. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  141. package/dist/components/gx-ide-current-user-info.js +1 -2
  142. package/dist/components/gx-ide-current-user-info.js.map +1 -1
  143. package/dist/components/gx-ide-dashboard-home.js +1 -2
  144. package/dist/components/gx-ide-dashboard-home.js.map +1 -1
  145. package/dist/components/gx-ide-data-selector.js +2 -3
  146. package/dist/components/gx-ide-data-selector.js.map +1 -1
  147. package/dist/components/gx-ide-data-type-selector.js +1 -2
  148. package/dist/components/gx-ide-data-type-selector.js.map +1 -1
  149. package/dist/components/gx-ide-design-import.js +1 -2
  150. package/dist/components/gx-ide-design-import.js.map +1 -1
  151. package/dist/components/gx-ide-file-uploader.js +1 -2
  152. package/dist/components/gx-ide-file-uploader.js.map +1 -1
  153. package/dist/components/gx-ide-kb-manager-export.js +1 -2
  154. package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
  155. package/dist/components/gx-ide-kb-manager-import.js +1 -2
  156. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  157. package/dist/components/gx-ide-manage-module-references-v2.js +1 -2
  158. package/dist/components/gx-ide-manage-module-references-v2.js.map +1 -1
  159. package/dist/components/gx-ide-manage-module-references.js +1 -2
  160. package/dist/components/gx-ide-manage-module-references.js.map +1 -1
  161. package/dist/components/gx-ide-new-kb.js +1 -2
  162. package/dist/components/gx-ide-new-kb.js.map +1 -1
  163. package/dist/components/gx-ide-object-selector.js +2 -3
  164. package/dist/components/gx-ide-object-selector.js.map +1 -1
  165. package/dist/components/gx-ide-open-api-import.js +1 -2
  166. package/dist/components/gx-ide-open-api-import.js.map +1 -1
  167. package/dist/components/gx-ide-references.js +1 -2
  168. package/dist/components/gx-ide-references.js.map +1 -1
  169. package/dist/components/gx-ide-sc-chat-container.js +215 -100
  170. package/dist/components/gx-ide-sc-chat-container.js.map +1 -1
  171. package/dist/components/gx-ide-select-kb-items.js +1 -2
  172. package/dist/components/gx-ide-select-kb-items.js.map +1 -1
  173. package/dist/components/gx-ide-share-kb.js +1 -2
  174. package/dist/components/gx-ide-share-kb.js.map +1 -1
  175. package/dist/components/gx-ide-splash.js +1 -2
  176. package/dist/components/gx-ide-splash.js.map +1 -1
  177. package/dist/components/gx-ide-start-page.js +1 -2
  178. package/dist/components/gx-ide-start-page.js.map +1 -1
  179. package/dist/components/gx-ide-team-dev-commit.js +1 -1
  180. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  181. package/dist/components/gx-ide-team-dev-update.js +1 -1
  182. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  183. package/dist/components/gx-ide-welcome-page.js +1 -2
  184. package/dist/components/gx-ide-welcome-page.js.map +1 -1
  185. package/dist/components/gx-ide-ww-attributes.js +2 -3
  186. package/dist/components/gx-ide-ww-attributes.js.map +1 -1
  187. package/dist/components/gx-ide-ww-files.js +1 -1
  188. package/dist/components/gx-ide-ww-files.js.map +1 -1
  189. package/dist/components/gx-ide-ww-images.js +1 -1
  190. package/dist/components/gx-ide-ww-images.js.map +1 -1
  191. package/dist/components/index.js +6 -0
  192. package/dist/components/index.js.map +1 -1
  193. package/dist/esm/MERCURY_ASSETS-039222dd.js +7 -0
  194. package/dist/esm/MERCURY_ASSETS-039222dd.js.map +1 -0
  195. package/dist/esm/code-render-53b3b0bd.js +83 -0
  196. package/dist/esm/code-render-53b3b0bd.js.map +1 -0
  197. package/dist/esm/{common-ccb4504a.js → common-719c4daf.js} +28 -12
  198. package/dist/esm/common-719c4daf.js.map +1 -0
  199. package/dist/esm/genexus-ide-ui.js +1 -1
  200. package/dist/esm/gx-ide-ai-message.entry.js +1 -2
  201. package/dist/esm/gx-ide-ai-message.entry.js.map +1 -1
  202. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +2 -3
  203. package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
  204. package/dist/esm/gx-ide-bpm-task-documents.entry.js +1 -2
  205. package/dist/esm/gx-ide-bpm-task-documents.entry.js.map +1 -1
  206. package/dist/esm/gx-ide-chat-container_2.entry.js +234 -0
  207. package/dist/esm/gx-ide-chat-container_2.entry.js.map +1 -0
  208. package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -2
  209. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  210. package/dist/esm/gx-ide-current-user-info.entry.js +1 -2
  211. package/dist/esm/gx-ide-current-user-info.entry.js.map +1 -1
  212. package/dist/esm/gx-ide-dashboard-home.entry.js +1 -2
  213. package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
  214. package/dist/esm/gx-ide-data-selector.entry.js +2 -3
  215. package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
  216. package/dist/esm/gx-ide-data-type-selector.entry.js +1 -2
  217. package/dist/esm/gx-ide-data-type-selector.entry.js.map +1 -1
  218. package/dist/esm/gx-ide-design-import.entry.js +1 -2
  219. package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
  220. package/dist/esm/gx-ide-entity-selector.entry.js +1 -2
  221. package/dist/esm/gx-ide-entity-selector.entry.js.map +1 -1
  222. package/dist/esm/gx-ide-file-item.entry.js +1 -2
  223. package/dist/esm/gx-ide-file-item.entry.js.map +1 -1
  224. package/dist/esm/gx-ide-file-uploader.entry.js +1 -2
  225. package/dist/esm/gx-ide-file-uploader.entry.js.map +1 -1
  226. package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -2
  227. package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
  228. package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -2
  229. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  230. package/dist/esm/gx-ide-manage-module-references-v2.entry.js +2 -3
  231. package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +1 -1
  232. package/dist/esm/gx-ide-manage-module-references.entry.js +2 -3
  233. package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
  234. package/dist/esm/gx-ide-new-environment.entry.js +1 -1
  235. package/dist/esm/gx-ide-new-kb.entry.js +2 -3
  236. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  237. package/dist/esm/gx-ide-object-selector.entry.js +2 -3
  238. package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
  239. package/dist/esm/gx-ide-open-api-import.entry.js +1 -2
  240. package/dist/esm/gx-ide-open-api-import.entry.js.map +1 -1
  241. package/dist/esm/gx-ide-references.entry.js +1 -2
  242. package/dist/esm/gx-ide-references.entry.js.map +1 -1
  243. package/dist/esm/gx-ide-sc-chat-container.entry.js +203 -99
  244. package/dist/esm/gx-ide-sc-chat-container.entry.js.map +1 -1
  245. package/dist/esm/gx-ide-select-kb-items.entry.js +1 -2
  246. package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
  247. package/dist/esm/gx-ide-share-kb.entry.js +1 -2
  248. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  249. package/dist/esm/gx-ide-splash.entry.js +2 -3
  250. package/dist/esm/gx-ide-splash.entry.js.map +1 -1
  251. package/dist/esm/gx-ide-start-page.entry.js +1 -2
  252. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  253. package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
  254. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  255. package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
  256. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  257. package/dist/esm/gx-ide-welcome-page.entry.js +1 -2
  258. package/dist/esm/gx-ide-welcome-page.entry.js.map +1 -1
  259. package/dist/esm/gx-ide-ww-attributes.entry.js +2 -3
  260. package/dist/esm/gx-ide-ww-attributes.entry.js.map +1 -1
  261. package/dist/esm/gx-ide-ww-files.entry.js +1 -1
  262. package/dist/esm/gx-ide-ww-files.entry.js.map +1 -1
  263. package/dist/esm/gx-ide-ww-images.entry.js +2 -2
  264. package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
  265. package/dist/esm/index.js +8 -2
  266. package/dist/esm/index.js.map +1 -1
  267. package/dist/esm/loader.js +1 -1
  268. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  269. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  270. package/dist/genexus-ide-ui/gx-ide-assets/chat-container/langs/chat-container.lang.en.json +9 -0
  271. package/dist/genexus-ide-ui/gx-ide-assets/chat-container/langs/chat-container.lang.ja.json +9 -0
  272. package/dist/genexus-ide-ui/gx-ide-assets/chat-container/langs/chat-container.lang.zh.json +9 -0
  273. package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/helpers.tsx +31 -0
  274. package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/images/ai-avatar-welcome.svg +21 -0
  275. package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/images/ai-avatar.svg +11 -0
  276. package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/images/header-illustration.svg +24 -0
  277. package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.en.json +10 -0
  278. package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.ja.json +10 -0
  279. package/dist/genexus-ide-ui/gx-ide-assets/chat-welcome/langs/chat-welcome.lang.zh.json +10 -0
  280. package/dist/genexus-ide-ui/index.esm.js +8 -2
  281. package/dist/genexus-ide-ui/index.esm.js.map +1 -1
  282. package/dist/genexus-ide-ui/{p-a1d73ca3.entry.js → p-01d96378.entry.js} +3 -5
  283. package/dist/genexus-ide-ui/{p-a1d73ca3.entry.js.map → p-01d96378.entry.js.map} +1 -1
  284. package/dist/genexus-ide-ui/{p-f51adb3d.entry.js → p-036d005d.entry.js} +2 -2
  285. package/dist/genexus-ide-ui/{p-f3f35e5c.entry.js → p-04205aa4.entry.js} +2 -4
  286. package/dist/genexus-ide-ui/{p-f3f35e5c.entry.js.map → p-04205aa4.entry.js.map} +1 -1
  287. package/dist/genexus-ide-ui/{p-961bb2cc.entry.js → p-0bdf34f2.entry.js} +3 -5
  288. package/dist/genexus-ide-ui/{p-961bb2cc.entry.js.map → p-0bdf34f2.entry.js.map} +1 -1
  289. package/dist/genexus-ide-ui/{p-fa18a70c.entry.js → p-1c7ea1cb.entry.js} +8 -10
  290. package/dist/genexus-ide-ui/{p-fa18a70c.entry.js.map → p-1c7ea1cb.entry.js.map} +1 -1
  291. package/dist/genexus-ide-ui/{p-530c32aa.entry.js → p-29c69938.entry.js} +8 -10
  292. package/dist/genexus-ide-ui/{p-530c32aa.entry.js.map → p-29c69938.entry.js.map} +1 -1
  293. package/dist/genexus-ide-ui/{p-67762237.entry.js → p-385c9544.entry.js} +2 -2
  294. package/dist/genexus-ide-ui/{p-4b79c3ab.entry.js → p-3da8db15.entry.js} +2 -4
  295. package/dist/genexus-ide-ui/{p-4b79c3ab.entry.js.map → p-3da8db15.entry.js.map} +1 -1
  296. package/dist/genexus-ide-ui/{p-ef5dfd35.entry.js → p-41a4364d.entry.js} +2 -4
  297. package/dist/genexus-ide-ui/{p-ef5dfd35.entry.js.map → p-41a4364d.entry.js.map} +1 -1
  298. package/dist/genexus-ide-ui/{p-56331289.entry.js → p-4538dea5.entry.js} +13 -15
  299. package/dist/genexus-ide-ui/{p-56331289.entry.js.map → p-4538dea5.entry.js.map} +1 -1
  300. package/dist/genexus-ide-ui/{p-4c717aa7.entry.js → p-48062d23.entry.js} +2 -4
  301. package/dist/genexus-ide-ui/{p-4c717aa7.entry.js.map → p-48062d23.entry.js.map} +1 -1
  302. package/dist/genexus-ide-ui/{p-9a609b51.js → p-48f5911b.js} +50 -33
  303. package/dist/genexus-ide-ui/p-48f5911b.js.map +1 -0
  304. package/dist/genexus-ide-ui/{p-6d2174ed.entry.js → p-4d0ba4f6.entry.js} +3 -5
  305. package/dist/genexus-ide-ui/{p-6d2174ed.entry.js.map → p-4d0ba4f6.entry.js.map} +1 -1
  306. package/dist/genexus-ide-ui/{p-76c3fc51.entry.js → p-4e943649.entry.js} +2 -4
  307. package/dist/genexus-ide-ui/{p-76c3fc51.entry.js.map → p-4e943649.entry.js.map} +1 -1
  308. package/dist/genexus-ide-ui/{p-29a026bb.entry.js → p-67e0b419.entry.js} +10 -12
  309. package/dist/genexus-ide-ui/{p-29a026bb.entry.js.map → p-67e0b419.entry.js.map} +1 -1
  310. package/dist/genexus-ide-ui/{p-bbf88f43.entry.js → p-690942cb.entry.js} +2 -4
  311. package/dist/genexus-ide-ui/{p-bbf88f43.entry.js.map → p-690942cb.entry.js.map} +1 -1
  312. package/dist/genexus-ide-ui/{p-84618917.entry.js → p-6f898249.entry.js} +3 -5
  313. package/dist/genexus-ide-ui/{p-84618917.entry.js.map → p-6f898249.entry.js.map} +1 -1
  314. package/dist/genexus-ide-ui/{p-fecc50e4.entry.js → p-704499e5.entry.js} +40 -42
  315. package/dist/genexus-ide-ui/{p-fecc50e4.entry.js.map → p-704499e5.entry.js.map} +1 -1
  316. package/dist/genexus-ide-ui/{p-fe490103.entry.js → p-7abe2214.entry.js} +8 -10
  317. package/dist/genexus-ide-ui/{p-fe490103.entry.js.map → p-7abe2214.entry.js.map} +1 -1
  318. package/dist/genexus-ide-ui/{p-c747afac.entry.js → p-7d8812b0.entry.js} +17 -19
  319. package/dist/genexus-ide-ui/{p-c747afac.entry.js.map → p-7d8812b0.entry.js.map} +1 -1
  320. package/dist/genexus-ide-ui/{p-edf889d2.entry.js → p-88c81f18.entry.js} +2 -4
  321. package/dist/genexus-ide-ui/{p-edf889d2.entry.js.map → p-88c81f18.entry.js.map} +1 -1
  322. package/dist/genexus-ide-ui/{p-1072bf33.entry.js → p-8cb937b7.entry.js} +2 -4
  323. package/dist/genexus-ide-ui/{p-1072bf33.entry.js.map → p-8cb937b7.entry.js.map} +1 -1
  324. package/dist/genexus-ide-ui/{p-fdf41406.entry.js → p-9fa1200f.entry.js} +12 -14
  325. package/dist/genexus-ide-ui/{p-fdf41406.entry.js.map → p-9fa1200f.entry.js.map} +1 -1
  326. package/dist/genexus-ide-ui/{p-fcecdafa.entry.js → p-a1415a9c.entry.js} +3 -3
  327. package/dist/genexus-ide-ui/{p-50f304fe.entry.js → p-aab809c4.entry.js} +11 -13
  328. package/dist/genexus-ide-ui/{p-50f304fe.entry.js.map → p-aab809c4.entry.js.map} +1 -1
  329. package/dist/genexus-ide-ui/{p-833c3585.entry.js → p-c38ce0bf.entry.js} +2 -4
  330. package/dist/genexus-ide-ui/{p-833c3585.entry.js.map → p-c38ce0bf.entry.js.map} +1 -1
  331. package/dist/genexus-ide-ui/p-c5178973.js +109 -0
  332. package/dist/genexus-ide-ui/p-c5178973.js.map +1 -0
  333. package/dist/genexus-ide-ui/{p-eea944d4.entry.js → p-c7badbf1.entry.js} +2 -4
  334. package/dist/genexus-ide-ui/{p-eea944d4.entry.js.map → p-c7badbf1.entry.js.map} +1 -1
  335. package/dist/genexus-ide-ui/{p-2b3938b4.entry.js → p-d2107cb2.entry.js} +2 -2
  336. package/dist/genexus-ide-ui/{p-ba7d1472.entry.js → p-d3767a7d.entry.js} +2 -2
  337. package/dist/genexus-ide-ui/p-da473001.entry.js +338 -0
  338. package/dist/genexus-ide-ui/p-da473001.entry.js.map +1 -0
  339. package/dist/genexus-ide-ui/{p-007173ef.entry.js → p-e28e6bc4.entry.js} +3 -5
  340. package/dist/genexus-ide-ui/{p-007173ef.entry.js.map → p-e28e6bc4.entry.js.map} +1 -1
  341. package/dist/genexus-ide-ui/{p-4cbc8a8b.entry.js → p-eb9e760d.entry.js} +10 -12
  342. package/dist/genexus-ide-ui/{p-4cbc8a8b.entry.js.map → p-eb9e760d.entry.js.map} +1 -1
  343. package/dist/genexus-ide-ui/p-ec0809a7.entry.js +317 -0
  344. package/dist/genexus-ide-ui/p-ec0809a7.entry.js.map +1 -0
  345. package/dist/genexus-ide-ui/{p-5687fdb7.entry.js → p-ecba870e.entry.js} +9 -11
  346. package/dist/genexus-ide-ui/{p-5687fdb7.entry.js.map → p-ecba870e.entry.js.map} +1 -1
  347. package/dist/genexus-ide-ui/{p-5ac47c69.js → p-ede7bd20.js} +6885 -6346
  348. package/dist/genexus-ide-ui/p-ede7bd20.js.map +1 -0
  349. package/dist/types/common/common.d.ts +1 -1
  350. package/dist/types/components/{_helpers → chat}/chat-container/chat-container.d.ts +13 -2
  351. package/dist/types/components/chat/chat-welcome/chat-welcome.d.ts +39 -0
  352. package/dist/types/components/chat/chat-welcome/gx-ide-assets/chat-welcome/helpers.d.ts +1 -0
  353. package/dist/types/components/{_helpers/chat-container → chat}/code-render.d.ts +1 -1
  354. package/dist/types/components.d.ts +73 -0
  355. package/dist/types/index.d.ts +5 -1
  356. package/dist/types/showcase/chat-container/callbacks.d.ts +1 -1
  357. package/dist/types/showcase/chat-container/chat.showcase.d.ts +15 -0
  358. package/package.json +5 -5
  359. package/dist/cjs/MERCURY_ASSETS-6bbcc011.js +0 -5
  360. package/dist/cjs/MERCURY_ASSETS-6bbcc011.js.map +0 -1
  361. package/dist/cjs/assets-manager-7227a74b.js +0 -7
  362. package/dist/cjs/assets-manager-7227a74b.js.map +0 -1
  363. package/dist/cjs/code-render-db7cb770.js +0 -59
  364. package/dist/cjs/code-render-db7cb770.js.map +0 -1
  365. package/dist/cjs/common-72f91a78.js.map +0 -1
  366. package/dist/cjs/gx-ide-chat-container.cjs.entry.js +0 -62
  367. package/dist/cjs/gx-ide-chat-container.cjs.entry.js.map +0 -1
  368. package/dist/collection/components/_helpers/chat-container/chat-container.css +0 -204
  369. package/dist/collection/components/_helpers/chat-container/chat-container.js +0 -137
  370. package/dist/collection/components/_helpers/chat-container/chat-container.js.map +0 -1
  371. package/dist/collection/components/_helpers/chat-container/code-render.js +0 -46
  372. package/dist/collection/components/_helpers/chat-container/code-render.js.map +0 -1
  373. package/dist/components/assets-manager.js +0 -5
  374. package/dist/components/assets-manager.js.map +0 -1
  375. package/dist/esm/MERCURY_ASSETS-bbdf7018.js +0 -3
  376. package/dist/esm/MERCURY_ASSETS-bbdf7018.js.map +0 -1
  377. package/dist/esm/assets-manager-0d129105.js +0 -5
  378. package/dist/esm/assets-manager-0d129105.js.map +0 -1
  379. package/dist/esm/code-render-6cbb0e63.js +0 -56
  380. package/dist/esm/code-render-6cbb0e63.js.map +0 -1
  381. package/dist/esm/common-ccb4504a.js.map +0 -1
  382. package/dist/esm/gx-ide-chat-container.entry.js +0 -58
  383. package/dist/esm/gx-ide-chat-container.entry.js.map +0 -1
  384. package/dist/genexus-ide-ui/p-1a74d49a.entry.js +0 -231
  385. package/dist/genexus-ide-ui/p-1a74d49a.entry.js.map +0 -1
  386. package/dist/genexus-ide-ui/p-5ac47c69.js.map +0 -1
  387. package/dist/genexus-ide-ui/p-6e4208d8.js +0 -9
  388. package/dist/genexus-ide-ui/p-6e4208d8.js.map +0 -1
  389. package/dist/genexus-ide-ui/p-9a609b51.js.map +0 -1
  390. package/dist/genexus-ide-ui/p-be8a59fd.js +0 -107
  391. package/dist/genexus-ide-ui/p-be8a59fd.js.map +0 -1
  392. package/dist/genexus-ide-ui/p-db9c3b37.entry.js +0 -85
  393. package/dist/genexus-ide-ui/p-db9c3b37.entry.js.map +0 -1
  394. /package/dist/genexus-ide-ui/{p-f51adb3d.entry.js.map → p-036d005d.entry.js.map} +0 -0
  395. /package/dist/genexus-ide-ui/{p-67762237.entry.js.map → p-385c9544.entry.js.map} +0 -0
  396. /package/dist/genexus-ide-ui/{p-fcecdafa.entry.js.map → p-a1415a9c.entry.js.map} +0 -0
  397. /package/dist/genexus-ide-ui/{p-2b3938b4.entry.js.map → p-d2107cb2.entry.js.map} +0 -0
  398. /package/dist/genexus-ide-ui/{p-ba7d1472.entry.js.map → p-d3767a7d.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"version":3,"names":["mapKbsModelToActionListModel","kbsData","listBoxItems","forEach","kb","push","id","type","caption","name","createKbFromServerCss","CSS_BUNDLES","GxIdeCreateKbFromServer","_GxIdeCreateKbFromServer_chSearchIcon","set","this","getIconPath","category","colorType","_GxIdeCreateKbFromServer_showMoreIcon","_GxIdeCreateKbFromServer_versionsSelect","value","_GxIdeCreateKbFromServer__componentLocale","_GxIdeCreateKbFromServer_kbsActionListModel","_GxIdeCreateKbFromServer_kbVersions","_GxIdeCreateKbFromServer_shortcutsSrc","getAssetPath","_GxIdeCreateKbFromServer_selectedKbId","_GxIdeCreateKbFromServer_kbNameAlreadyEditedByUser","_GxIdeCreateKbFromServer_searchKbsEl","_GxIdeCreateKbFromServer_versionSelectedTypeEl","_GxIdeCreateKbFromServer_localKBNameEl","_GxIdeCreateKbFromServer_cancelHandler","cancelCallback","_GxIdeCreateKbFromServer_changeConnectionHandler","async","changeConnectionCallback","authenticationType","connectionData","serverUrl","userName","userPassword","_GxIdeCreateKbFromServer_createHandler","versionSelectedType","__classPrivateFieldSet","createKBCallback","selectedKB","__classPrivateFieldGet","versionSelected","localKBName","localKbNameInputValue","versionList","then","formSubmitResult","validatableControls","validateControls","_GxIdeCreateKbFromServer_evaluateTooltipRender","controlReference","_b","_a","get","hasError","_c","message","h","class","actionElement","blockAlign","config","tooltipSettings","inlineAlign","delay","_GxIdeCreateKbFromServer_filterValueChangedHandler","event","filterValue","detail","toLowerCase","kbsFilteredActionListModel","filter","item","includes","_GxIdeCreateKbFromServer_init","getGXserverKBsCallback","result","_GxIdeCreateKbFromServer_initializeValidatableControls","validatableControl","reference","undefined","_GxIdeCreateKbFromServer_inputLocalKbNameHandler","_GxIdeCreateKbFromServer_selectedVersionHandler","selectKBVersionsCallback","length","map","kbVersion","versionsValueInput","versionsPlaceholder","toString","versionSelectedFieldValue","oneVersionSelectedFieldValue","_GxIdeCreateKbFromServer_selectKbChangeHandler","enableSelectVersionsButton","_GxIdeCreateKbFromServer_versionsChangedHandler","_GxIdeCreateKbFromServer_renderFooter","onClick","part","footer","cancel","disabled","createKb","Map","componentDidLoad","focus","call","componentWillLoad","Locale","getComponentStrings","el","render","Host","model","src","ref","chShortcutsEl","header","user","change","startImgSrc","onInput","placeholder","searchKbsPlaceholder","selection","onSelectedItemsChange","onChange","htmlFor","versionsLabel","readonly","versionsPlaceholderDisabled","localKbNameLabel","localKbNamePlaceholder"],"sources":["src/components/team-dev/create-kb-from-server/helpers.ts","src/components/team-dev/create-kb-from-server/create-kb-from-server.scss?tag=gx-ide-create-kb-from-server&encapsulation=shadow","src/components/team-dev/create-kb-from-server/create-kb-from-server.tsx"],"sourcesContent":["import { ActionListItemModel } from \"@genexus/chameleon-controls-library\";\nimport { KBData } from \"./create-kb-from-server\";\n\nexport const mapKbsModelToActionListModel = (\n kbsData: KBData[]\n): ActionListItemModel[] => {\n const listBoxItems: ActionListItemModel[] = [];\n kbsData.forEach(kb => {\n listBoxItems.push({\n id: kb.id,\n type: \"actionable\",\n caption: kb.name\n });\n });\n return listBoxItems;\n};\n",":host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n// - - - - - - - - - - -\n// Header\n// - - - - - - - - - - -\n\nheader {\n display: grid;\n grid-template-rows: max-content;\n grid-template-columns: 1fr 1fr max-content;\n}\n\n.button-change {\n align-self: center;\n justify-self: end;\n}\n\n// - - - - - - - - - - -\n// Main\n// - - - - - - - - - - -\n\n.main {\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: max-content 1fr max-content max-content;\n}\n\n.search-kbs {\n inline-size: 50%;\n}\n\n.versions-container {\n grid-auto-rows: max-content;\n\n &__input {\n display: grid;\n grid-template-columns: 1fr max-content;\n gap: var(--mer-spacing--xs);\n }\n\n .button-icon-only {\n border-color: var(--mer-color__neutral-gray--500);\n border-width: var(--mer-border__width--sm);\n border-radius: var(--mer-border__radius--sm);\n }\n\n .button-icon-only:hover {\n border-color: var(--mer-color__neutral-gray--100);\n }\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n getAssetPath\n} from \"@stencil/core\";\n\n// Other Libraries\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\n// Custom Imports\nimport { config } from \"../../../common/config\";\nimport { GXServerConnectionData } from \"../connect-gx-server/connect-gx-server\";\nimport { FormSubmitResult } from \"../../../common/types\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../../common/form-validation\";\nimport { Locale } from \"../../../common/locale\";\nimport { mapKbsModelToActionListModel } from \"./helpers\";\nimport {\n ActionListItemActionable,\n ActionListItemModel,\n ActionListItemModelExtended,\n ChActionListRenderCustomEvent,\n ChEditCustomEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"components/list-box\",\n \"components/tooltip\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-create-kb-from-server\",\n styleUrl: \"create-kb-from-server.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/create-kb-from-server\"]\n})\nexport class GxIdeCreateKbFromServer {\n #chSearchIcon = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n });\n\n #showMoreIcon = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"on-elevation\"\n });\n\n #versionsSelect: RadioGroupItemModel[] = [\n { value: \"Trunk\", caption: \"Trunk Version\" },\n { value: \"All\", caption: \"All Versions\" },\n { value: \"Select\", caption: \"Select Version\" }\n ];\n\n [key: string]: any;\n\n #_componentLocale: any;\n #kbsActionListModel: ActionListItemModel[] = [];\n #kbVersions: KBVersion[] = [];\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/create-kb-from-server/shortcuts.json`\n );\n #selectedKbId: string;\n #kbNameAlreadyEditedByUser: boolean = false;\n\n #searchKbsEl!: HTMLChEditElement;\n #versionSelectedTypeEl: HTMLChRadioGroupRenderElement;\n\n @Element() el: HTMLGxIdeCreateKbFromServerElement;\n\n #localKBNameEl!: HTMLChEditElement;\n\n /**\n * State to enable/disable the select versions button\n */\n @State() enableSelectVersionsButton: boolean = false;\n\n /**\n * The current kbn name value.\n */\n @State() localKbNameInputValue: string = \"\";\n\n /**\n * State to store the filter input value to filter the list-box\n */\n @State() filterValue: string = \"\";\n\n /**\n * KBs filtered\n */\n @State() kbsFilteredActionListModel: ActionListItemModel[] = [];\n\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * The version selected type\n */\n @State() versionSelectedType: VersionOption;\n\n /**\n * String value to show the number of versions selected (\"N versions selected\")\n */\n @State() versionsValueInput: string = \"\";\n\n /**\n * Set of data required when executing any of the callbacks that require a connection to the server.\n */\n @Prop() readonly connectionData: GXServerConnectionData;\n\n /**\n * Callback that is invoked when the dialog is closed\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * The host reopens the gx-ide-connect-server login modal with the previous data, and closes the current modal\n */\n @Prop() readonly changeConnectionCallback: (\n data: GXServerConnectionData\n ) => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Create KB' button is pressed. Receives the user's parameter selection to create the remote KB locally and ends the dialog.\n */\n @Prop() readonly createKBCallback!: (\n kbInfo: KnowledgeBaseInfo\n ) => Promise<FormSubmitResult>;\n\n /**\n * Callback that must be invoked when invoking the dialog\n */\n @Prop() readonly getGXserverKBsCallback!: (\n data: GXServerConnectionData\n ) => Promise<KBData[]>;\n\n /**\n * Callback invoked by pressing the ellipsis in the version selector. Receives the KB selected by the user, and displays the version selector dialog. Returns a list of versions chosen by the user.\n */\n @Prop() readonly selectKBVersionsCallback: (\n selectedKB: string\n ) => Promise<KBVersion[]>;\n\n componentDidLoad() {\n (this.#searchKbsEl as HTMLElement).focus();\n\n this.versionSelectedType = this.#versionSelectedTypeEl\n .value as VersionOption;\n\n this.#initializeValidatableControls();\n }\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n await this.#init();\n }\n\n #cancelHandler = (): void => {\n this.cancelCallback();\n };\n\n #changeConnectionHandler = async (): Promise<void> => {\n this.changeConnectionCallback({\n authenticationType: this.connectionData.authenticationType,\n serverUrl: this.connectionData.serverUrl,\n userName: this.connectionData.userName,\n userPassword: this.connectionData.userPassword\n });\n };\n\n #createHandler = async (): Promise<void> => {\n if (this.versionSelectedType !== \"Select\") {\n this.#kbVersions = [];\n }\n this.createKBCallback({\n selectedKB: this.#selectedKbId,\n versionSelected: this.versionSelectedType,\n localKBName: this.localKbNameInputValue,\n versionList: this.#kbVersions\n }).then((formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n });\n };\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on other dialogs as well.\n #evaluateTooltipRender = (\n controlReference: HTMLElement\n ): HTMLChTooltipElement =>\n this.validatableControls?.get(controlReference?.id)?.hasError &&\n this.validatableControls.get(controlReference.id)?.message && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={controlReference as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.validatableControls.get(controlReference.id).message}\n </ch-tooltip>\n );\n\n #filterValueChangedHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.filterValue = (event.detail as string).toLowerCase();\n this.kbsFilteredActionListModel = this.#kbsActionListModel.filter(\n (item: ActionListItemActionable) =>\n item.caption.toLowerCase().includes(this.filterValue)\n );\n };\n\n #init = async () => {\n await this.getGXserverKBsCallback({\n authenticationType: this.connectionData.authenticationType,\n serverUrl: this.connectionData.serverUrl,\n userName: this.connectionData.userName,\n userPassword: this.connectionData.userPassword\n }).then(result => {\n this.#kbsActionListModel = mapKbsModelToActionListModel(result);\n this.kbsFilteredActionListModel = this.#kbsActionListModel;\n this.filterValue = \"\";\n });\n };\n\n #initializeValidatableControls = () => {\n // populate validatableControls with the controls that could have errors.\n const validatableControls: HTMLElement[] = [this.#localKBNameEl];\n validatableControls.forEach(validatableControl => {\n if (validatableControl.id) {\n this.validatableControls.set(validatableControl.id, {\n reference: validatableControl,\n hasError: false,\n message: undefined\n });\n }\n });\n };\n\n #inputLocalKbNameHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.localKbNameInputValue = event.detail as string;\n this.#kbNameAlreadyEditedByUser = true;\n };\n\n #selectedVersionHandler = async () => {\n if (this.selectKBVersionsCallback) {\n await this.selectKBVersionsCallback(this.#selectedKbId).then(result => {\n if (result?.length) {\n this.#kbVersions = result.map(kbVersion => ({\n id: kbVersion.id,\n name: kbVersion.name\n }));\n\n if (result.length === 1 && this.#kbVersions[0].id === 0) {\n this.localKbNameInputValue = this.#selectedKbId;\n this.versionsValueInput =\n this.#_componentLocale.kb.versionsPlaceholder;\n } else if (result.length > 1) {\n this.localKbNameInputValue = this.#selectedKbId;\n this.versionsValueInput = `${result.length.toString()} ${\n this.#_componentLocale.kb.versionSelectedFieldValue\n }`;\n } else {\n this.localKbNameInputValue = `${this.#selectedKbId}_${\n this.#kbVersions[0].name\n }`;\n this.versionsValueInput = `${result[0].name} ${\n this.#_componentLocale.kb.oneVersionSelectedFieldValue\n }`;\n }\n }\n });\n }\n };\n\n #selectKbChangeHandler = (\n event: ChActionListRenderCustomEvent<ActionListItemModelExtended[]>\n ): void => {\n const item = event.detail[0]?.item as ActionListItemActionable;\n if (item === undefined) {\n this.enableSelectVersionsButton = false;\n this.#selectedKbId = undefined;\n return;\n }\n this.enableSelectVersionsButton = true;\n this.#selectedKbId = item.id;\n if (this.#kbNameAlreadyEditedByUser) {\n return;\n }\n this.localKbNameInputValue = item.caption;\n if (this.versionSelectedType === \"Select\") {\n this.versionsValueInput = \"\";\n this.#kbVersions = [];\n }\n };\n\n #versionsChangedHandler = (event: CustomEvent<string>) => {\n this.versionSelectedType = event.detail as VersionOption;\n };\n\n #renderFooter = () => {\n return (\n <footer class=\"footer control-footer-with-border spacing-body-inline spacing-body-block-end\">\n <div class=\"buttons-spacer\">\n <button\n // cancel button\n class=\"button-secondary\"\n onClick={this.#cancelHandler}\n part=\"button button-cancel\"\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n\n <button\n // create kb button\n class=\"button-primary\"\n onClick={this.enableSelectVersionsButton && this.#createHandler}\n disabled={!this.enableSelectVersionsButton}\n part=\"button button-create-kb\"\n >\n {this.#_componentLocale.footer.createKb}\n </button>\n </div>\n </footer>\n );\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n\n <section class=\"section\">\n <header class=\"header control-header-with-border space-body spacing-body-inline spacing-body-block-start\">\n <div class=\"field field-block\">\n <label class=\"label\">\n {this.#_componentLocale.header.serverUrl}\n </label>\n <p>{this.connectionData.serverUrl}</p>\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\">{this.#_componentLocale.header.user}</label>\n <p>{this.connectionData.userName}</p>\n </div>\n\n <button\n class=\"button-tertiary button-change\"\n onClick={this.#changeConnectionHandler}\n >\n {this.#_componentLocale.header.change}\n </button>\n </header>\n\n <section class=\"main field-group spacing-body\">\n <ch-edit\n class=\"input search-kbs\"\n id=\"local-kb-name\"\n startImgSrc={this.#chSearchIcon}\n onInput={this.#filterValueChangedHandler}\n placeholder={this.#_componentLocale.kb.searchKbsPlaceholder}\n ref={el => (this.#searchKbsEl = el as HTMLChEditElement)}\n ></ch-edit>\n\n <ch-action-list-render\n selection=\"single\"\n class=\"list-box\"\n onSelectedItemsChange={this.#selectKbChangeHandler}\n model={this.kbsFilteredActionListModel}\n ></ch-action-list-render>\n\n <div class=\"versions-container field-group\">\n <ch-radio-group-render\n class=\"radio-group\"\n model={this.#versionsSelect}\n onChange={this.#versionsChangedHandler}\n value={this.#versionsSelect[0].value}\n ref={el =>\n (this.#versionSelectedTypeEl =\n el as HTMLChRadioGroupRenderElement)\n }\n ></ch-radio-group-render>\n\n {this.versionSelectedType === \"Select\" && (\n <div class=\"versions-container__item field-group\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"control-id-1\">\n {this.#_componentLocale.kb.versionsLabel}\n </label>\n <div class=\"versions-container__input\">\n <ch-edit\n class=\"input\"\n readonly\n placeholder={\n this.enableSelectVersionsButton\n ? this.#_componentLocale.kb.versionsPlaceholder\n : this.#_componentLocale.kb\n .versionsPlaceholderDisabled\n }\n value={this.versionsValueInput}\n ></ch-edit>\n <button\n class=\"button-tertiary button-icon-only\"\n onClick={this.#selectedVersionHandler}\n disabled={!this.enableSelectVersionsButton}\n >\n <ch-image\n src={this.#showMoreIcon}\n class=\"icon-sm\"\n ></ch-image>\n </button>\n </div>\n </div>\n </div>\n )}\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"localKbName\">\n {this.#_componentLocale.kb.localKbNameLabel}\n </label>\n <ch-edit\n // local kb name\n class=\"input\"\n id=\"local-kb-name\"\n value={this.localKbNameInputValue}\n onInput={this.#inputLocalKbNameHandler}\n placeholder={this.#_componentLocale.kb.localKbNamePlaceholder}\n ref={(el: HTMLChEditElement) =>\n (this.#localKBNameEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#localKBNameEl)}\n </div>\n </section>\n\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type KBData = {\n id: string;\n name: string;\n};\n\nexport type KBVersion = {\n id: number;\n name: string;\n type?: VersionType;\n};\n\nexport type ConnectionResultData = {\n formResult: FormSubmitResult;\n kbs: KBData[];\n};\n\nexport type KnowledgeBaseInfo = {\n selectedKB: string;\n versionSelected: VersionOption;\n localKBName: string;\n versionList: KBVersion[];\n};\n\nexport type VersionOption = \"Trunk\" | \"All\" | \"Select\";\n\nexport type VersionType = \"Branch\" | \"Frozen\";\n"],"mappings":"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"}
1
+ {"version":3,"names":["mapKbsModelToActionListModel","kbsData","listBoxItems","forEach","kb","push","id","type","caption","name","createKbFromServerCss","CSS_BUNDLES","GxIdeCreateKbFromServer","_GxIdeCreateKbFromServer_chSearchIcon","set","this","getIconPath","category","colorType","_GxIdeCreateKbFromServer_showMoreIcon","_GxIdeCreateKbFromServer_versionsSelect","value","_GxIdeCreateKbFromServer__componentLocale","_GxIdeCreateKbFromServer_kbsActionListModel","_GxIdeCreateKbFromServer_kbVersions","_GxIdeCreateKbFromServer_shortcutsSrc","getAssetPath","_GxIdeCreateKbFromServer_selectedKbId","_GxIdeCreateKbFromServer_kbNameAlreadyEditedByUser","_GxIdeCreateKbFromServer_searchKbsEl","_GxIdeCreateKbFromServer_versionSelectedTypeEl","_GxIdeCreateKbFromServer_localKBNameEl","_GxIdeCreateKbFromServer_cancelHandler","cancelCallback","_GxIdeCreateKbFromServer_changeConnectionHandler","async","changeConnectionCallback","authenticationType","connectionData","serverUrl","userName","userPassword","_GxIdeCreateKbFromServer_createHandler","versionSelectedType","__classPrivateFieldSet","createKBCallback","selectedKB","__classPrivateFieldGet","versionSelected","localKBName","localKbNameInputValue","versionList","then","formSubmitResult","validatableControls","validateControls","_GxIdeCreateKbFromServer_evaluateTooltipRender","controlReference","_b","_a","get","hasError","_c","message","h","class","actionElement","blockAlign","config","tooltipSettings","inlineAlign","delay","_GxIdeCreateKbFromServer_filterValueChangedHandler","event","filterValue","detail","toLowerCase","kbsFilteredActionListModel","filter","item","includes","_GxIdeCreateKbFromServer_init","getGXserverKBsCallback","result","_GxIdeCreateKbFromServer_initializeValidatableControls","validatableControl","reference","undefined","_GxIdeCreateKbFromServer_inputLocalKbNameHandler","_GxIdeCreateKbFromServer_selectedVersionHandler","selectKBVersionsCallback","length","map","kbVersion","versionsValueInput","versionsPlaceholder","toString","versionSelectedFieldValue","oneVersionSelectedFieldValue","_GxIdeCreateKbFromServer_selectKbChangeHandler","enableSelectVersionsButton","_GxIdeCreateKbFromServer_versionsChangedHandler","_GxIdeCreateKbFromServer_renderFooter","onClick","part","footer","cancel","disabled","createKb","Map","componentDidLoad","focus","call","componentWillLoad","Locale","getComponentStrings","el","render","Host","model","src","ref","chShortcutsEl","header","user","change","startImgSrc","onInput","placeholder","searchKbsPlaceholder","selection","onSelectedItemsChange","onChange","htmlFor","versionsLabel","readonly","versionsPlaceholderDisabled","localKbNameLabel","localKbNamePlaceholder"],"sources":["src/components/team-dev/create-kb-from-server/helpers.ts","src/components/team-dev/create-kb-from-server/create-kb-from-server.scss?tag=gx-ide-create-kb-from-server&encapsulation=shadow","src/components/team-dev/create-kb-from-server/create-kb-from-server.tsx"],"sourcesContent":["import { ActionListItemModel } from \"@genexus/chameleon-controls-library\";\nimport { KBData } from \"./create-kb-from-server\";\n\nexport const mapKbsModelToActionListModel = (\n kbsData: KBData[]\n): ActionListItemModel[] => {\n const listBoxItems: ActionListItemModel[] = [];\n kbsData.forEach(kb => {\n listBoxItems.push({\n id: kb.id,\n type: \"actionable\",\n caption: kb.name\n });\n });\n return listBoxItems;\n};\n",":host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n// - - - - - - - - - - -\n// Header\n// - - - - - - - - - - -\n\nheader {\n display: grid;\n grid-template-rows: max-content;\n grid-template-columns: 1fr 1fr max-content;\n}\n\n.button-change {\n align-self: center;\n justify-self: end;\n}\n\n// - - - - - - - - - - -\n// Main\n// - - - - - - - - - - -\n\n.main {\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: max-content 1fr max-content max-content;\n}\n\n.search-kbs {\n inline-size: 50%;\n}\n\n.versions-container {\n grid-auto-rows: max-content;\n\n &__input {\n display: grid;\n grid-template-columns: 1fr max-content;\n gap: var(--mer-spacing--xs);\n }\n\n .button-icon-only {\n border-color: var(--mer-color__neutral-gray--500);\n border-width: var(--mer-border__width--sm);\n border-radius: var(--mer-border__radius--sm);\n }\n\n .button-icon-only:hover {\n border-color: var(--mer-color__neutral-gray--100);\n }\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n getAssetPath\n} from \"@stencil/core\";\n\n// Other Libraries\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\n// Custom Imports\nimport { config } from \"../../../common/config\";\nimport { GXServerConnectionData } from \"../connect-gx-server/connect-gx-server\";\nimport { FormSubmitResult } from \"../../../common/types\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../../common/form-validation\";\nimport { Locale } from \"../../../common/locale\";\nimport { mapKbsModelToActionListModel } from \"./helpers\";\nimport {\n ActionListItemActionable,\n ActionListItemModel,\n ActionListItemModelExtended,\n ChActionListRenderCustomEvent,\n ChEditCustomEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"components/list-box\",\n \"components/tooltip\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-create-kb-from-server\",\n styleUrl: \"create-kb-from-server.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/create-kb-from-server\"]\n})\nexport class GxIdeCreateKbFromServer {\n #chSearchIcon = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n });\n\n #showMoreIcon = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"on-elevation\"\n });\n\n #versionsSelect: RadioGroupItemModel[] = [\n { value: \"Trunk\", caption: \"Trunk Version\" },\n { value: \"All\", caption: \"All Versions\" },\n { value: \"Select\", caption: \"Select Version\" }\n ];\n\n [key: string]: any;\n\n #_componentLocale: any;\n #kbsActionListModel: ActionListItemModel[] = [];\n #kbVersions: KBVersion[] = [];\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/create-kb-from-server/shortcuts.json`\n );\n #selectedKbId: string;\n #kbNameAlreadyEditedByUser: boolean = false;\n\n #searchKbsEl!: HTMLChEditElement;\n #versionSelectedTypeEl: HTMLChRadioGroupRenderElement;\n\n @Element() el: HTMLGxIdeCreateKbFromServerElement;\n\n #localKBNameEl!: HTMLChEditElement;\n\n /**\n * State to enable/disable the select versions button\n */\n @State() enableSelectVersionsButton: boolean = false;\n\n /**\n * The current kbn name value.\n */\n @State() localKbNameInputValue: string = \"\";\n\n /**\n * State to store the filter input value to filter the list-box\n */\n @State() filterValue: string = \"\";\n\n /**\n * KBs filtered\n */\n @State() kbsFilteredActionListModel: ActionListItemModel[] = [];\n\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * The version selected type\n */\n @State() versionSelectedType: VersionOption;\n\n /**\n * String value to show the number of versions selected (\"N versions selected\")\n */\n @State() versionsValueInput: string = \"\";\n\n /**\n * Set of data required when executing any of the callbacks that require a connection to the server.\n */\n @Prop() readonly connectionData: GXServerConnectionData;\n\n /**\n * Callback that is invoked when the dialog is closed\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * The host reopens the gx-ide-connect-server login modal with the previous data, and closes the current modal\n */\n @Prop() readonly changeConnectionCallback: (\n data: GXServerConnectionData\n ) => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Create KB' button is pressed. Receives the user's parameter selection to create the remote KB locally and ends the dialog.\n */\n @Prop() readonly createKBCallback!: (\n kbInfo: KnowledgeBaseInfo\n ) => Promise<FormSubmitResult>;\n\n /**\n * Callback that must be invoked when invoking the dialog\n */\n @Prop() readonly getGXserverKBsCallback!: (\n data: GXServerConnectionData\n ) => Promise<KBData[]>;\n\n /**\n * Callback invoked by pressing the ellipsis in the version selector. Receives the KB selected by the user, and displays the version selector dialog. Returns a list of versions chosen by the user.\n */\n @Prop() readonly selectKBVersionsCallback: (\n selectedKB: string\n ) => Promise<KBVersion[]>;\n\n componentDidLoad() {\n (this.#searchKbsEl as HTMLElement).focus();\n\n this.versionSelectedType = this.#versionSelectedTypeEl\n .value as VersionOption;\n\n this.#initializeValidatableControls();\n }\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n await this.#init();\n }\n\n #cancelHandler = (): void => {\n this.cancelCallback();\n };\n\n #changeConnectionHandler = async (): Promise<void> => {\n this.changeConnectionCallback({\n authenticationType: this.connectionData.authenticationType,\n serverUrl: this.connectionData.serverUrl,\n userName: this.connectionData.userName,\n userPassword: this.connectionData.userPassword\n });\n };\n\n #createHandler = async (): Promise<void> => {\n if (this.versionSelectedType !== \"Select\") {\n this.#kbVersions = [];\n }\n this.createKBCallback({\n selectedKB: this.#selectedKbId,\n versionSelected: this.versionSelectedType,\n localKBName: this.localKbNameInputValue,\n versionList: this.#kbVersions\n }).then((formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n });\n };\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on other dialogs as well.\n #evaluateTooltipRender = (\n controlReference: HTMLElement\n ): HTMLChTooltipElement =>\n this.validatableControls?.get(controlReference?.id)?.hasError &&\n this.validatableControls.get(controlReference.id)?.message && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={controlReference as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.validatableControls.get(controlReference.id).message}\n </ch-tooltip>\n );\n\n #filterValueChangedHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.filterValue = (event.detail as string).toLowerCase();\n this.kbsFilteredActionListModel = this.#kbsActionListModel.filter(\n (item: ActionListItemActionable) =>\n item.caption.toLowerCase().includes(this.filterValue)\n );\n };\n\n #init = async () => {\n await this.getGXserverKBsCallback({\n authenticationType: this.connectionData.authenticationType,\n serverUrl: this.connectionData.serverUrl,\n userName: this.connectionData.userName,\n userPassword: this.connectionData.userPassword\n }).then(result => {\n this.#kbsActionListModel = mapKbsModelToActionListModel(result);\n this.kbsFilteredActionListModel = this.#kbsActionListModel;\n this.filterValue = \"\";\n });\n };\n\n #initializeValidatableControls = () => {\n // populate validatableControls with the controls that could have errors.\n const validatableControls: HTMLElement[] = [this.#localKBNameEl];\n validatableControls.forEach(validatableControl => {\n if (validatableControl.id) {\n this.validatableControls.set(validatableControl.id, {\n reference: validatableControl,\n hasError: false,\n message: undefined\n });\n }\n });\n };\n\n #inputLocalKbNameHandler = (\n event: ChEditCustomEvent<string> | InputEvent\n ) => {\n this.localKbNameInputValue = event.detail as string;\n this.#kbNameAlreadyEditedByUser = true;\n };\n\n #selectedVersionHandler = async () => {\n if (this.selectKBVersionsCallback) {\n await this.selectKBVersionsCallback(this.#selectedKbId).then(result => {\n if (result?.length) {\n this.#kbVersions = result.map(kbVersion => ({\n id: kbVersion.id,\n name: kbVersion.name\n }));\n\n if (result.length === 1 && this.#kbVersions[0].id === 0) {\n this.localKbNameInputValue = this.#selectedKbId;\n this.versionsValueInput =\n this.#_componentLocale.kb.versionsPlaceholder;\n } else if (result.length > 1) {\n this.localKbNameInputValue = this.#selectedKbId;\n this.versionsValueInput = `${result.length.toString()} ${\n this.#_componentLocale.kb.versionSelectedFieldValue\n }`;\n } else {\n this.localKbNameInputValue = `${this.#selectedKbId}_${\n this.#kbVersions[0].name\n }`;\n this.versionsValueInput = `${result[0].name} ${\n this.#_componentLocale.kb.oneVersionSelectedFieldValue\n }`;\n }\n }\n });\n }\n };\n\n #selectKbChangeHandler = (\n event: ChActionListRenderCustomEvent<ActionListItemModelExtended[]>\n ): void => {\n const item = event.detail[0]?.item as ActionListItemActionable;\n if (item === undefined) {\n this.enableSelectVersionsButton = false;\n this.#selectedKbId = undefined;\n return;\n }\n this.enableSelectVersionsButton = true;\n this.#selectedKbId = item.id;\n if (this.#kbNameAlreadyEditedByUser) {\n return;\n }\n this.localKbNameInputValue = item.caption;\n if (this.versionSelectedType === \"Select\") {\n this.versionsValueInput = \"\";\n this.#kbVersions = [];\n }\n };\n\n #versionsChangedHandler = (event: CustomEvent<string>) => {\n this.versionSelectedType = event.detail as VersionOption;\n };\n\n #renderFooter = () => {\n return (\n <footer class=\"footer control-footer-with-border spacing-body-inline spacing-body-block-end\">\n <div class=\"buttons-spacer\">\n <button\n // cancel button\n class=\"button-secondary\"\n onClick={this.#cancelHandler}\n part=\"button button-cancel\"\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n\n <button\n // create kb button\n class=\"button-primary\"\n onClick={this.enableSelectVersionsButton && this.#createHandler}\n disabled={!this.enableSelectVersionsButton}\n part=\"button button-create-kb\"\n >\n {this.#_componentLocale.footer.createKb}\n </button>\n </div>\n </footer>\n );\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n\n <section class=\"section\">\n <header class=\"header control-header-with-border space-body spacing-body-inline spacing-body-block-start\">\n <div class=\"field field-block\">\n <label class=\"label\">\n {this.#_componentLocale.header.serverUrl}\n </label>\n <p>{this.connectionData.serverUrl}</p>\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\">{this.#_componentLocale.header.user}</label>\n <p>{this.connectionData.userName}</p>\n </div>\n\n <button\n class=\"button-tertiary button-change\"\n onClick={this.#changeConnectionHandler}\n >\n {this.#_componentLocale.header.change}\n </button>\n </header>\n\n <section class=\"main field-group spacing-body\">\n <ch-edit\n class=\"input search-kbs\"\n id=\"local-kb-name\"\n startImgSrc={this.#chSearchIcon}\n onInput={this.#filterValueChangedHandler}\n placeholder={this.#_componentLocale.kb.searchKbsPlaceholder}\n ref={el => (this.#searchKbsEl = el as HTMLChEditElement)}\n ></ch-edit>\n\n <ch-action-list-render\n selection=\"single\"\n class=\"list-box\"\n onSelectedItemsChange={this.#selectKbChangeHandler}\n model={this.kbsFilteredActionListModel}\n ></ch-action-list-render>\n\n <div class=\"versions-container field-group\">\n <ch-radio-group-render\n class=\"radio-group\"\n model={this.#versionsSelect}\n onChange={this.#versionsChangedHandler}\n value={this.#versionsSelect[0].value}\n ref={el =>\n (this.#versionSelectedTypeEl =\n el as HTMLChRadioGroupRenderElement)\n }\n ></ch-radio-group-render>\n\n {this.versionSelectedType === \"Select\" && (\n <div class=\"versions-container__item field-group\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"control-id-1\">\n {this.#_componentLocale.kb.versionsLabel}\n </label>\n <div class=\"versions-container__input\">\n <ch-edit\n class=\"input\"\n readonly\n placeholder={\n this.enableSelectVersionsButton\n ? this.#_componentLocale.kb.versionsPlaceholder\n : this.#_componentLocale.kb\n .versionsPlaceholderDisabled\n }\n value={this.versionsValueInput}\n ></ch-edit>\n <button\n class=\"button-tertiary button-icon-only\"\n onClick={this.#selectedVersionHandler}\n disabled={!this.enableSelectVersionsButton}\n >\n <ch-image\n src={this.#showMoreIcon}\n class=\"icon-sm\"\n ></ch-image>\n </button>\n </div>\n </div>\n </div>\n )}\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"localKbName\">\n {this.#_componentLocale.kb.localKbNameLabel}\n </label>\n <ch-edit\n // local kb name\n class=\"input\"\n id=\"local-kb-name\"\n value={this.localKbNameInputValue}\n onInput={this.#inputLocalKbNameHandler}\n placeholder={this.#_componentLocale.kb.localKbNamePlaceholder}\n ref={(el: HTMLChEditElement) =>\n (this.#localKBNameEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#localKBNameEl)}\n </div>\n </section>\n\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type KBData = {\n id: string;\n name: string;\n};\n\nexport type KBVersion = {\n id: number;\n name: string;\n type?: VersionType;\n};\n\nexport type ConnectionResultData = {\n formResult: FormSubmitResult;\n kbs: KBData[];\n};\n\nexport type KnowledgeBaseInfo = {\n selectedKB: string;\n versionSelected: VersionOption;\n localKBName: string;\n versionList: KBVersion[];\n};\n\nexport type VersionOption = \"Trunk\" | \"All\" | \"Select\";\n\nexport type VersionType = \"Branch\" | \"Frozen\";\n"],"mappings":"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"}
@@ -0,0 +1,109 @@
1
+ import { h as e } from "./p-25a9f1d7.js";
2
+
3
+ import { A as s } from "./p-48f5911b.js";
4
+
5
+ const t = s("regular", "nexa");
6
+
7
+ const a = "code-block-header__copy";
8
+
9
+ const o = `${a}-copied`;
10
+
11
+ const r = "code-block-header";
12
+
13
+ const copy = (e, s = false) => t => {
14
+ const a = 1750;
15
+ t.stopPropagation();
16
+ // 1. Copy message
17
+ navigator.clipboard.writeText(e);
18
+ const r = t.target;
19
+ if (s) {
20
+ const e = r.previousElementSibling;
21
+ const s = e === null || e === void 0 ? void 0 : e.getAttribute("part");
22
+ const t = `${s} ${o}`;
23
+ e.setAttribute("part", t);
24
+ setTimeout((() => {
25
+ e.setAttribute("part", `${s}`);
26
+ }), a);
27
+ } else {
28
+ const e = r.closest("ch-smart-grid-cell");
29
+ const s = e === null || e === void 0 ? void 0 : e.getAttribute("part");
30
+ const t = `${s} copied`;
31
+ e.setAttribute("part", t);
32
+ setTimeout((() => {
33
+ e.setAttribute("part", `${s}`);
34
+ }), a);
35
+ }
36
+ };
37
+
38
+ const copyButton = (s, t, a, o = false) => e("button", {
39
+ "aria-label": t,
40
+ title: t,
41
+ class: "button-copy-code",
42
+ type: "button",
43
+ onClick: copy(s, o),
44
+ part: `message__copy-button ${a}`
45
+ });
46
+
47
+ const mercuryCodeRender = s => t => e("div", {
48
+ class: "code-block-container"
49
+ }, e("div", {
50
+ class: r,
51
+ part: r
52
+ }, e("p", {
53
+ part: "code-block-header__copy"
54
+ }, "Copied"), copyButton(t.plainText, s, "code-render", true)), e("ch-code", {
55
+ language: t.language,
56
+ lastNestedChildClass: t.lastNestedChildClass,
57
+ value: t.plainText
58
+ }));
59
+
60
+ const renderMessageHeader = (s, t, a, o) => e("div", {
61
+ part: "message__header"
62
+ }, e("div", {
63
+ part: "message__header-start"
64
+ }, e("span", {
65
+ part: "message__avatar",
66
+ style: {
67
+ backgroundImage: `url(${s})`
68
+ }
69
+ }), e("span", {
70
+ part: `message__role assistant`
71
+ }, t), e("time", {
72
+ dateTime: o,
73
+ part: "message__time"
74
+ }, o)), e("div", {
75
+ part: "message__header-end"
76
+ }, e("p", {
77
+ part: "message__header-copy"
78
+ }, "Copied"), copyButton(a, "Copy code", "common-message")));
79
+
80
+ const mercuryChatMessageRender = (s, n, c = "AI Assistant") => p => {
81
+ const i = renderMessageHeader(n, c, p.content, p.metadata);
82
+ if (p.role === "assistant") {
83
+ return p.status === "waiting" ? [ i, e("div", {
84
+ part: "message__processing-container"
85
+ }, e("span", {
86
+ part: "message__processing"
87
+ }, p.content), t) ] : [ i, e("div", {
88
+ part: `message__content assistant ${p.parts}`
89
+ }, e("ch-markdown-viewer", {
90
+ theme: s,
91
+ showIndicator: false,
92
+ renderCode: mercuryCodeRender("Copy response"),
93
+ value: p.content,
94
+ exportparts: `${r},${a},${o}`
95
+ })) ];
96
+ } else if (p.role === "user") {
97
+ return [ e("span", {
98
+ part: `message__content ${p.role}`
99
+ }, p.content) ];
100
+ } else {
101
+ // error (this is nor from assistant but design dictates to show header)
102
+ return [ i, e("span", {
103
+ part: `message__content ${p.role}`
104
+ }, p.content) ];
105
+ }
106
+ };
107
+
108
+ export { mercuryCodeRender as a, mercuryChatMessageRender as m };
109
+ //# sourceMappingURL=p-c5178973.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["animationDots","ANIMATION_DOTS","CODE_RENDER_COPY_PART","CODE_RENDER_COPIED_PART","CODE_BLOCK_HEADER_PART","copy","text","isForCodeRender","event","setTimeoutTime","stopPropagation","navigator","clipboard","writeText","copyButtonRef","target","copyTextElement","previousElementSibling","copyTextElementOriginalParts","getAttribute","copyTextElementWithCopiedPart","setAttribute","setTimeout","cmSmartGridCellRef","closest","cmSmartGridCellRefOriginalParts","cmSmartGridCellRefWithCopiedPart","copyButton","textToCopy","accessibleName","additionalPart","h","title","class","type","onClick","part","mercuryCodeRender","copyButtonAccessibleName","options","plainText","language","lastNestedChildClass","value","renderMessageHeader","avatarImagePath","displayName","messageContent","metadata","style","backgroundImage","dateTime","mercuryChatMessageRender","theme","assistantAvatarPath","assistantName","messageModel","messageHeader","content","role","status","parts","showIndicator","renderCode","exportparts"],"sources":["src/components/chat/code-render.tsx"],"sourcesContent":["import { h, JSX } from \"@stencil/core\";\nimport {\n MarkdownViewerCodeRender,\n ChatMessageByRole\n} from \"@genexus/chameleon-controls-library\";\nimport { MarkdownViewerCodeRenderOptions } from \"@genexus/chameleon-controls-library/dist/types/components/markdown-viewer/parsers/types\";\n\nimport { ANIMATION_DOTS } from \"../../common/common\";\nconst animationDots = ANIMATION_DOTS(\"regular\", \"nexa\");\nconst CODE_RENDER_COPY_PART = \"code-block-header__copy\";\nconst CODE_RENDER_COPIED_PART = `${CODE_RENDER_COPY_PART}-copied`;\nconst CODE_BLOCK_HEADER_PART = \"code-block-header\";\n\nconst copy =\n (text: string, isForCodeRender: boolean = false) =>\n (event: Event) => {\n const setTimeoutTime = 1750;\n event.stopPropagation();\n\n // 1. Copy message\n navigator.clipboard.writeText(text);\n\n const copyButtonRef = event.target as HTMLElement;\n\n if (isForCodeRender) {\n const copyTextElement = copyButtonRef.previousElementSibling;\n\n const copyTextElementOriginalParts =\n copyTextElement?.getAttribute(\"part\");\n const copyTextElementWithCopiedPart = `${copyTextElementOriginalParts} ${CODE_RENDER_COPIED_PART}`;\n copyTextElement.setAttribute(\"part\", copyTextElementWithCopiedPart);\n\n setTimeout(() => {\n copyTextElement.setAttribute(\"part\", `${copyTextElementOriginalParts}`);\n }, setTimeoutTime);\n } else {\n const cmSmartGridCellRef = copyButtonRef.closest(\"ch-smart-grid-cell\");\n\n const cmSmartGridCellRefOriginalParts =\n cmSmartGridCellRef?.getAttribute(\"part\");\n const cmSmartGridCellRefWithCopiedPart = `${cmSmartGridCellRefOriginalParts} copied`;\n cmSmartGridCellRef.setAttribute(\"part\", cmSmartGridCellRefWithCopiedPart);\n\n setTimeout(() => {\n cmSmartGridCellRef.setAttribute(\n \"part\",\n `${cmSmartGridCellRefOriginalParts}`\n );\n }, setTimeoutTime);\n }\n };\n\nconst copyButton = (\n textToCopy: string,\n accessibleName: string,\n additionalPart: string,\n isForCodeRender: boolean = false\n) => {\n return (\n <button\n aria-label={accessibleName}\n title={accessibleName}\n class=\"button-copy-code\"\n type=\"button\"\n onClick={copy(textToCopy, isForCodeRender)}\n part={`message__copy-button ${additionalPart}`}\n ></button>\n );\n};\n\nexport const mercuryCodeRender =\n (copyButtonAccessibleName: string) =>\n (options: MarkdownViewerCodeRenderOptions): MarkdownViewerCodeRender =>\n (\n <div class=\"code-block-container\">\n <div class={CODE_BLOCK_HEADER_PART} part={CODE_BLOCK_HEADER_PART}>\n <p part=\"code-block-header__copy\">Copied</p>\n {copyButton(\n options.plainText,\n copyButtonAccessibleName,\n \"code-render\",\n true\n )}\n </div>\n <ch-code\n language={options.language}\n lastNestedChildClass={options.lastNestedChildClass}\n value={options.plainText}\n ></ch-code>\n </div>\n );\n\nconst renderMessageHeader = (\n avatarImagePath: string,\n displayName: string,\n messageContent: string,\n metadata: string\n): JSX.Element => {\n return (\n <div part=\"message__header\">\n <div part=\"message__header-start\">\n <span\n part=\"message__avatar\"\n style={{ backgroundImage: `url(${avatarImagePath})` }}\n ></span>\n <span part={`message__role assistant`}>{displayName}</span>\n <time dateTime={metadata} part=\"message__time\">\n {metadata}\n </time>\n </div>\n <div part=\"message__header-end\">\n <p part=\"message__header-copy\">Copied</p>\n {copyButton(messageContent, \"Copy code\", \"common-message\")}\n </div>\n </div>\n );\n};\n\nexport const mercuryChatMessageRender =\n (\n theme: string,\n assistantAvatarPath: string,\n assistantName: string = \"AI Assistant\"\n ) =>\n (messageModel: ChatMessageByRole<\"assistant\" | \"error\" | \"user\">) => {\n const messageHeader = renderMessageHeader(\n assistantAvatarPath,\n assistantName,\n messageModel.content as string,\n messageModel.metadata\n );\n if (messageModel.role === \"assistant\") {\n return messageModel.status === \"waiting\"\n ? [\n messageHeader,\n <div part=\"message__processing-container\">\n <span part=\"message__processing\">{messageModel.content}</span>\n {animationDots}\n </div>\n ]\n : [\n messageHeader,\n <div part={`message__content assistant ${messageModel.parts}`}>\n <ch-markdown-viewer\n theme={theme}\n showIndicator={false}\n renderCode={mercuryCodeRender(\"Copy response\")}\n value={messageModel.content as string}\n exportparts={`${CODE_BLOCK_HEADER_PART},${CODE_RENDER_COPY_PART},${CODE_RENDER_COPIED_PART}`}\n ></ch-markdown-viewer>\n </div>\n ];\n } else if (messageModel.role === \"user\") {\n return [\n <span part={`message__content ${messageModel.role}`}>\n {messageModel.content}\n </span>\n ];\n } else {\n // error (this is nor from assistant but design dictates to show header)\n return [\n messageHeader,\n <span part={`message__content ${messageModel.role}`}>\n {messageModel.content}\n </span>\n ];\n }\n };\n"],"mappings":";;;;AAQA,MAAMA,IAAgBC,EAAe,WAAW;;AAChD,MAAMC,IAAwB;;AAC9B,MAAMC,IAA0B,GAAGD;;AACnC,MAAME,IAAyB;;AAE/B,MAAMC,OACJ,CAACC,GAAcC,IAA2B,UACzCC;EACC,MAAMC,IAAiB;EACvBD,EAAME;;IAGNC,UAAUC,UAAUC,UAAUP;EAE9B,MAAMQ,IAAgBN,EAAMO;EAE5B,IAAIR,GAAiB;IACnB,MAAMS,IAAkBF,EAAcG;IAEtC,MAAMC,IACJF,MAAe,QAAfA,WAAe,aAAfA,EAAiBG,aAAa;IAChC,MAAMC,IAAgC,GAAGF,KAAgCf;IACzEa,EAAgBK,aAAa,QAAQD;IAErCE,YAAW;MACTN,EAAgBK,aAAa,QAAQ,GAAGH;AAA+B,QACtET;SACE;IACL,MAAMc,IAAqBT,EAAcU,QAAQ;IAEjD,MAAMC,IACJF,MAAkB,QAAlBA,WAAkB,aAAlBA,EAAoBJ,aAAa;IACnC,MAAMO,IAAmC,GAAGD;IAC5CF,EAAmBF,aAAa,QAAQK;IAExCJ,YAAW;MACTC,EAAmBF,aACjB,QACA,GAAGI;AACJ,QACAhB;;;;AAIT,MAAMkB,aAAa,CACjBC,GACAC,GACAC,GACAvB,IAA2B,UAGzBwB,EAAA;EAAA,cACcF;EACZG,OAAOH;EACPI,OAAM;EACNC,MAAK;EACLC,SAAS9B,KAAKuB,GAAYrB;EAC1B6B,MAAM,wBAAwBN;;;MAKvBO,oBACVC,KACAC,KAEGR,EAAA;EAAKE,OAAM;GACTF,EAAA;EAAKE,OAAO7B;EAAwBgC,MAAMhC;GACxC2B,EAAA;EAAGK,MAAK;GAAyB,WAChCT,WACCY,EAAQC,WACRF,GACA,eACA,QAGJP,EAAA;EACEU,UAAUF,EAAQE;EAClBC,sBAAsBH,EAAQG;EAC9BC,OAAOJ,EAAQC;;;AAKzB,MAAMI,sBAAsB,CAC1BC,GACAC,GACAC,GACAC,MAGEjB,EAAA;EAAKK,MAAK;GACRL,EAAA;EAAKK,MAAK;GACRL,EAAA;EACEK,MAAK;EACLa,OAAO;IAAEC,iBAAiB,OAAOL;;IAEnCd,EAAA;EAAMK,MAAM;GAA4BU,IACxCf,EAAA;EAAMoB,UAAUH;EAAUZ,MAAK;GAC5BY,KAGLjB,EAAA;EAAKK,MAAK;GACRL,EAAA;EAAGK,MAAK;GAAsB,WAC7BT,WAAWoB,GAAgB,aAAa;;MAMpCK,2BACX,CACEC,GACAC,GACAC,IAAwB,mBAEzBC;EACC,MAAMC,IAAgBb,oBACpBU,GACAC,GACAC,EAAaE,SACbF,EAAaR;EAEf,IAAIQ,EAAaG,SAAS,aAAa;IACrC,OAAOH,EAAaI,WAAW,YAC3B,EACEH,GACA1B,EAAA;MAAKK,MAAK;OACRL,EAAA;MAAMK,MAAK;OAAuBoB,EAAaE,UAC9C1D,OAGL,EACEyD,GACA1B,EAAA;MAAKK,MAAM,8BAA8BoB,EAAaK;OACpD9B,EAAA;MACEsB,OAAOA;MACPS,eAAe;MACfC,YAAY1B,kBAAkB;MAC9BM,OAAOa,EAAaE;MACpBM,aAAa,GAAG5D,KAA0BF,KAAyBC;;SAIxE,IAAIqD,EAAaG,SAAS,QAAQ;IACvC,OAAO,EACL5B,EAAA;MAAMK,MAAM,oBAAoBoB,EAAaG;OAC1CH,EAAaE;SAGb;;IAEL,OAAO,EACLD,GACA1B,EAAA;MAAMK,MAAM,oBAAoBoB,EAAaG;OAC1CH,EAAaE"}
@@ -1,8 +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-6e4208d8.js";
4
-
5
- import "./p-5ac47c69.js";
3
+ import { g as r } from "./p-ede7bd20.js";
6
4
 
7
5
  import { L as n } from "./p-311eedf3.js";
8
6
 
@@ -167,4 +165,4 @@ b = new WeakMap;
167
165
  _.style = a;
168
166
 
169
167
  export { _ as gx_ide_entity_selector };
170
- //# sourceMappingURL=p-eea944d4.entry.js.map
168
+ //# sourceMappingURL=p-c7badbf1.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["entitySelectorCss","CSS_BUNDLES","SELECT_DEFAULT_ICON","getIconPath","category","name","colorType","CLEAR_ICON","GxIdeEntitySelector","_GxIdeEntitySelector_componentLocale","set","this","_GxIdeEntitySelector_btnClearClickHandler","value","defaultValue","iconSrc","_a","_GxIdeEntitySelector_btnSelectClickHandler","selectEntityCallback","then","result","_GxIdeEntitySelector_buttonFocusHandler","e","type","buttonHasFocus","_GxIdeEntitySelector_renderControl","h","part","class","accessibleName","labelPosition","__classPrivateFieldGet","entitySelectorInputAccessibleName","disabled","entitySelectorNameAttribute","startImgSrc","readonly","_b","id","clearButtonLabel","title","onClick","onFocus","undefined","onBlur","src","selectButtonLabel","_GxIdeEntitySelector_updateIconSrc","valueChangedHandler","valueChanged","emit","call","componentWillLoad","__classPrivateFieldSet","Locale","getComponentStrings","el","connectedCallback","render","Host","model","field","htmlFor","labelCaption"],"sources":["src/components/_helpers/entity-selector/entity-selector.scss?tag=gx-ide-entity-selector&encapsulation=shadow","src/components/_helpers/entity-selector/entity-selector.tsx"],"sourcesContent":["/*wrapper*/\n.wrapper {\n display: grid;\n grid-template-columns: 1fr max-content max-content;\n gap: var(--mer-spacing--xs);\n border-radius: var(--control__border-radius);\n border: var(--control__border-width) var(--control__border-style)\n var(--control__border-color);\n padding: var(--control__padding-block) var(--control__padding-inline);\n\n &:hover {\n --control__border-color: var(--control__border-color--hover);\n }\n &:focus {\n }\n}\n/*input*/\n.input {\n --control__padding-block: 0;\n --control__padding-inline: 0;\n // Remove control border. We want to simulate a input that includes two buttons at the end.\n --control__border-width: 0;\n --focus__outline-width: 0;\n}\n:host(:focus-within) {\n .wrapper {\n --control__border-color: var(--focus__outline-color);\n }\n}\n:host(.entity-selector--button-has-focus) {\n .wrapper {\n outline: none;\n }\n}\n\n:host([disabled]) {\n pointer-events: none;\n .wrapper {\n background-color: var(--control__background-color--disabled);\n border-color: var(--control__border-color--disabled);\n }\n}\n/*custom button icon*/\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Event,\n EventEmitter,\n Watch\n} from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../../common/locale\";\nimport { LabelPosition } from \"../../../common/types\";\nimport { EntityData } from \"../../../common/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/edit\",\n \"components/button\",\n \"components/icon\",\n \"utils/form\"\n];\nconst SELECT_DEFAULT_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"primary\"\n});\nconst CLEAR_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"reset\",\n colorType: \"primary\"\n});\n\n@Component({\n tag: \"gx-ide-entity-selector\",\n styleUrl: \"entity-selector.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/entity-selector\"]\n})\nexport class GxIdeEntitySelector {\n #componentLocale: any;\n\n @Element() el: HTMLGxIdeEntitySelectorElement;\n\n /**\n * Adds/removes a CSS class on the host. It removes focus-within styles when\n * focus is on a button.\n */\n @State() buttonHasFocus = false;\n\n @State() iconSrc: string = null;\n\n /**\n * Default value for the component. Used when the 'X' button is pressed.\n */\n @Prop() readonly defaultValue?: EntityData | null | undefined;\n\n /**\n * This attribute lets you specify if the element is disabled.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false;\n\n /**\n * The label caption. Only visible if \"labelPosition\" is not \"none\".\n * I no \"labelCaption\" is provided, a generic caption \"Select Entity\" will be provided\n */\n @Prop() readonly labelCaption?: string;\n\n /**\n * The label position\n */\n @Prop({ reflect: true }) readonly labelPosition?: LabelPosition =\n \"block-start\";\n\n /**\n * This property specifies the `name` of the control when used in a form.\n */\n @Prop({ reflect: true }) readonly name?: string;\n\n /**\n * Callback invoked when the action button is pressed. Returns the new value.\n */\n @Prop() readonly selectEntityCallback!: () => Promise<EntityData> | null;\n\n /**\n * Value currently assigned.\n */\n @Prop({ mutable: true }) value: EntityData | null | undefined;\n @Watch(\"value\")\n valueChangedHandler() {\n this.valueChanged.emit(this.value);\n this.#updateIconSrc();\n }\n\n /**\n * Emits the input value every time it changes\n */\n @Event() valueChanged: EventEmitter<EntityData>;\n\n // 6.Component Lifecycle Events\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n connectedCallback() {\n this.#updateIconSrc();\n }\n\n #btnClearClickHandler = () => {\n this.value = this.defaultValue;\n this.iconSrc = this.defaultValue?.iconSrc;\n };\n\n #btnSelectClickHandler = () => {\n this.selectEntityCallback().then(result => {\n if (result) {\n this.value = result;\n }\n });\n };\n\n #buttonFocusHandler = (e: FocusEvent) => {\n if (e.type === \"focus\") {\n this.buttonHasFocus = true;\n } else if (e.type === \"blur\") {\n this.buttonHasFocus = false;\n }\n };\n\n #renderControl = (): HTMLDivElement => {\n return (\n <div part=\"wrapper\" class=\"wrapper\">\n <ch-edit\n accessibleName={\n this.labelPosition === \"none\" &&\n this.#componentLocale.entitySelectorInputAccessibleName\n }\n class=\"input\"\n disabled={this.disabled}\n name={this.name || this.#componentLocale.entitySelectorNameAttribute}\n startImgSrc={this.iconSrc}\n readonly\n value={this.value?.name || this.defaultValue?.name}\n id=\"entity-input\"\n ></ch-edit>\n\n <button\n part=\"button-clear\"\n class=\"icon-button\"\n aria-label={this.#componentLocale.clearButtonLabel}\n title={this.#componentLocale.clearButtonLabel}\n type=\"button\"\n disabled={this.disabled}\n onClick={this.#btnClearClickHandler}\n onFocus={this.buttonHasFocus ? this.#buttonFocusHandler : undefined}\n onBlur={!this.buttonHasFocus ? this.#buttonFocusHandler : undefined}\n >\n <ch-image\n class=\"icon-md\"\n src={CLEAR_ICON}\n disabled={this.disabled}\n ></ch-image>\n </button>\n\n <button\n class=\"icon-button\"\n aria-label={this.#componentLocale.selectButtonLabel}\n title={this.#componentLocale.selectButtonLabel}\n type=\"button\"\n disabled={!this.selectEntityCallback || this.disabled}\n onClick={this.#btnSelectClickHandler}\n onBlur={!this.buttonHasFocus ? this.#buttonFocusHandler : undefined}\n onFocus={this.buttonHasFocus ? this.#buttonFocusHandler : undefined}\n >\n <ch-image\n class=\"icon-md\"\n src={SELECT_DEFAULT_ICON}\n disabled={this.disabled}\n ></ch-image>\n </button>\n </div>\n );\n };\n\n #updateIconSrc = () => {\n if (this.value && this.value.iconSrc) {\n this.iconSrc = this.value.iconSrc;\n }\n };\n\n render() {\n return (\n <Host\n class={{\n \"entity-selector--button-has-focus\": this.buttonHasFocus\n }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n {this.labelPosition !== \"none\" ? (\n <div\n class={{\n \"field\": true,\n \"field-block\": this.labelPosition === \"block-start\",\n \"field-inline\": this.labelPosition === \"inline-start\"\n }}\n >\n <label class=\"label\" htmlFor=\"entity-input\">\n {this.labelCaption ||\n this.#componentLocale.entitySelectorInputAccessibleName}\n </label>\n {this.#renderControl()}\n </div>\n ) : (\n this.#renderControl()\n )}\n </Host>\n );\n }\n}\n\nexport type EntitySelectorLabels = {\n buttonClearLabel: string;\n buttonSelectLabel: string;\n};\n"],"mappings":"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"}
1
+ {"version":3,"names":["entitySelectorCss","CSS_BUNDLES","SELECT_DEFAULT_ICON","getIconPath","category","name","colorType","CLEAR_ICON","GxIdeEntitySelector","_GxIdeEntitySelector_componentLocale","set","this","_GxIdeEntitySelector_btnClearClickHandler","value","defaultValue","iconSrc","_a","_GxIdeEntitySelector_btnSelectClickHandler","selectEntityCallback","then","result","_GxIdeEntitySelector_buttonFocusHandler","e","type","buttonHasFocus","_GxIdeEntitySelector_renderControl","h","part","class","accessibleName","labelPosition","__classPrivateFieldGet","entitySelectorInputAccessibleName","disabled","entitySelectorNameAttribute","startImgSrc","readonly","_b","id","clearButtonLabel","title","onClick","onFocus","undefined","onBlur","src","selectButtonLabel","_GxIdeEntitySelector_updateIconSrc","valueChangedHandler","valueChanged","emit","call","componentWillLoad","__classPrivateFieldSet","Locale","getComponentStrings","el","connectedCallback","render","Host","model","field","htmlFor","labelCaption"],"sources":["src/components/_helpers/entity-selector/entity-selector.scss?tag=gx-ide-entity-selector&encapsulation=shadow","src/components/_helpers/entity-selector/entity-selector.tsx"],"sourcesContent":["/*wrapper*/\n.wrapper {\n display: grid;\n grid-template-columns: 1fr max-content max-content;\n gap: var(--mer-spacing--xs);\n border-radius: var(--control__border-radius);\n border: var(--control__border-width) var(--control__border-style)\n var(--control__border-color);\n padding: var(--control__padding-block) var(--control__padding-inline);\n\n &:hover {\n --control__border-color: var(--control__border-color--hover);\n }\n &:focus {\n }\n}\n/*input*/\n.input {\n --control__padding-block: 0;\n --control__padding-inline: 0;\n // Remove control border. We want to simulate a input that includes two buttons at the end.\n --control__border-width: 0;\n --focus__outline-width: 0;\n}\n:host(:focus-within) {\n .wrapper {\n --control__border-color: var(--focus__outline-color);\n }\n}\n:host(.entity-selector--button-has-focus) {\n .wrapper {\n outline: none;\n }\n}\n\n:host([disabled]) {\n pointer-events: none;\n .wrapper {\n background-color: var(--control__background-color--disabled);\n border-color: var(--control__border-color--disabled);\n }\n}\n/*custom button icon*/\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Event,\n EventEmitter,\n Watch\n} from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../../common/locale\";\nimport { LabelPosition } from \"../../../common/types\";\nimport { EntityData } from \"../../../common/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/edit\",\n \"components/button\",\n \"components/icon\",\n \"utils/form\"\n];\nconst SELECT_DEFAULT_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"primary\"\n});\nconst CLEAR_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"reset\",\n colorType: \"primary\"\n});\n\n@Component({\n tag: \"gx-ide-entity-selector\",\n styleUrl: \"entity-selector.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/entity-selector\"]\n})\nexport class GxIdeEntitySelector {\n #componentLocale: any;\n\n @Element() el: HTMLGxIdeEntitySelectorElement;\n\n /**\n * Adds/removes a CSS class on the host. It removes focus-within styles when\n * focus is on a button.\n */\n @State() buttonHasFocus = false;\n\n @State() iconSrc: string = null;\n\n /**\n * Default value for the component. Used when the 'X' button is pressed.\n */\n @Prop() readonly defaultValue?: EntityData | null | undefined;\n\n /**\n * This attribute lets you specify if the element is disabled.\n */\n @Prop({ reflect: true }) readonly disabled: boolean = false;\n\n /**\n * The label caption. Only visible if \"labelPosition\" is not \"none\".\n * I no \"labelCaption\" is provided, a generic caption \"Select Entity\" will be provided\n */\n @Prop() readonly labelCaption?: string;\n\n /**\n * The label position\n */\n @Prop({ reflect: true }) readonly labelPosition?: LabelPosition =\n \"block-start\";\n\n /**\n * This property specifies the `name` of the control when used in a form.\n */\n @Prop({ reflect: true }) readonly name?: string;\n\n /**\n * Callback invoked when the action button is pressed. Returns the new value.\n */\n @Prop() readonly selectEntityCallback!: () => Promise<EntityData> | null;\n\n /**\n * Value currently assigned.\n */\n @Prop({ mutable: true }) value: EntityData | null | undefined;\n @Watch(\"value\")\n valueChangedHandler() {\n this.valueChanged.emit(this.value);\n this.#updateIconSrc();\n }\n\n /**\n * Emits the input value every time it changes\n */\n @Event() valueChanged: EventEmitter<EntityData>;\n\n // 6.Component Lifecycle Events\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n connectedCallback() {\n this.#updateIconSrc();\n }\n\n #btnClearClickHandler = () => {\n this.value = this.defaultValue;\n this.iconSrc = this.defaultValue?.iconSrc;\n };\n\n #btnSelectClickHandler = () => {\n this.selectEntityCallback().then(result => {\n if (result) {\n this.value = result;\n }\n });\n };\n\n #buttonFocusHandler = (e: FocusEvent) => {\n if (e.type === \"focus\") {\n this.buttonHasFocus = true;\n } else if (e.type === \"blur\") {\n this.buttonHasFocus = false;\n }\n };\n\n #renderControl = (): HTMLDivElement => {\n return (\n <div part=\"wrapper\" class=\"wrapper\">\n <ch-edit\n accessibleName={\n this.labelPosition === \"none\" &&\n this.#componentLocale.entitySelectorInputAccessibleName\n }\n class=\"input\"\n disabled={this.disabled}\n name={this.name || this.#componentLocale.entitySelectorNameAttribute}\n startImgSrc={this.iconSrc}\n readonly\n value={this.value?.name || this.defaultValue?.name}\n id=\"entity-input\"\n ></ch-edit>\n\n <button\n part=\"button-clear\"\n class=\"icon-button\"\n aria-label={this.#componentLocale.clearButtonLabel}\n title={this.#componentLocale.clearButtonLabel}\n type=\"button\"\n disabled={this.disabled}\n onClick={this.#btnClearClickHandler}\n onFocus={this.buttonHasFocus ? this.#buttonFocusHandler : undefined}\n onBlur={!this.buttonHasFocus ? this.#buttonFocusHandler : undefined}\n >\n <ch-image\n class=\"icon-md\"\n src={CLEAR_ICON}\n disabled={this.disabled}\n ></ch-image>\n </button>\n\n <button\n class=\"icon-button\"\n aria-label={this.#componentLocale.selectButtonLabel}\n title={this.#componentLocale.selectButtonLabel}\n type=\"button\"\n disabled={!this.selectEntityCallback || this.disabled}\n onClick={this.#btnSelectClickHandler}\n onBlur={!this.buttonHasFocus ? this.#buttonFocusHandler : undefined}\n onFocus={this.buttonHasFocus ? this.#buttonFocusHandler : undefined}\n >\n <ch-image\n class=\"icon-md\"\n src={SELECT_DEFAULT_ICON}\n disabled={this.disabled}\n ></ch-image>\n </button>\n </div>\n );\n };\n\n #updateIconSrc = () => {\n if (this.value && this.value.iconSrc) {\n this.iconSrc = this.value.iconSrc;\n }\n };\n\n render() {\n return (\n <Host\n class={{\n \"entity-selector--button-has-focus\": this.buttonHasFocus\n }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n {this.labelPosition !== \"none\" ? (\n <div\n class={{\n \"field\": true,\n \"field-block\": this.labelPosition === \"block-start\",\n \"field-inline\": this.labelPosition === \"inline-start\"\n }}\n >\n <label class=\"label\" htmlFor=\"entity-input\">\n {this.labelCaption ||\n this.#componentLocale.entitySelectorInputAccessibleName}\n </label>\n {this.#renderControl()}\n </div>\n ) : (\n this.#renderControl()\n )}\n </Host>\n );\n }\n}\n\nexport type EntitySelectorLabels = {\n buttonClearLabel: string;\n buttonSelectLabel: string;\n};\n"],"mappings":"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"}
@@ -8,7 +8,7 @@ import { r as s } from "./p-f549f6e1.js";
8
8
 
9
9
  import { f as n } from "./p-9ddea83b.js";
10
10
 
11
- const c = ':root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.pill-tag{padding:1px 4px;border-radius:2px;min-inline-size:40px;text-align:center;margin-inline-end:10px;font-size:11px}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}:host{display:block}.header{border-top:1px solid var(--gx-ide-container-border-color);display:flex;flex-direction:column}.header>*{padding:var(--gx-ide-container__padding)}.header__first-row{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:-3px}.header__first-row .commit-label{flex:none}.header__first-row .commit-textarea{flex:none}.header__first-row__right-col{display:flex;align-items:center;gap:var(--gx-ide-grid-column-gap)}.header__second-row{padding:0 var(--gx-ide-container__padding) var(--gx-ide-container__padding) var(--gx-ide-container__padding)}.header .filters-outer-wrapper{display:grid;padding:0;grid-template-rows:1fr;transition:grid-template-rows 200ms;border-bottom:1px solid var(--gx-ide-container-border-color)}.header .filters-outer-wrapper--hidden{grid-template-rows:0fr}.header .filters-inner-wrapper{overflow:hidden}.header__third-row{padding:0 var(--gx-ide-container__padding) var(--gx-ide-container__padding) var(--gx-ide-container__padding);display:grid;column-gap:var(--gx-ide-grid-column-gap);row-gap:var(--gx-ide-grid-row-gap);grid-template-columns:auto 1fr auto 1fr;grid-template-areas:"pattern-label pattern-form-text pattern-form-text pattern-form-text" "changeset-label changeset-combo type-label type-combo" "folder-label folder-combo category-label category-combo"}.header__third-row .pattern-label{grid-area:pattern-label}.header__third-row .pattern-form-text{grid-area:pattern-form-text}.header__third-row .changeset-label{grid-area:changeset-label}.header__third-row .changeset-combo{grid-area:changeset-combo}.header__third-row .type-label{grid-area:type-label}.header__third-row .type-combo{grid-area:type-combo}.header__third-row .folder-label{grid-area:folder-label}.header__third-row .folder-combo{grid-area:folder-combo}.header__third-row .category-label{grid-area:category-label}.header__third-row .category-combo{grid-area:category-combo}.main{height:100%}.grid-container{padding:0}ch-grid{height:auto}gxg-tab::part(container){line-height:unset}.tabular-grid{block-size:100%}.tabular-grid-td-commit ch-tabular-grid-cell:is(:nth-child(6)){padding-block:var(--grid-cell__padding-block);padding-inline:var(--grid-cell__padding-inline);align-items:start;justify-content:start;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}gx-ide-container::part(content){overflow:hidden}';
11
+ const c = ':root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.pill-tag{padding:1px 4px;border-radius:2px;min-inline-size:40px;text-align:center;margin-inline-end:10px;font-size:11px}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}:host{display:block}.header{border-top:1px solid var(--gx-ide-container-border-color);display:flex;flex-direction:column}.header>*{padding:var(--gx-ide-container__padding)}.header__first-row{display:flex;flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:-3px}.header__first-row .commit-label{flex:none}.header__first-row .commit-textarea{flex:none}.header__first-row__right-col{display:flex;align-items:center;gap:var(--gx-ide-grid-column-gap)}.header__second-row{padding:0 var(--gx-ide-container__padding) var(--gx-ide-container__padding) var(--gx-ide-container__padding)}.header .filters-outer-wrapper{display:grid;padding:0;grid-template-rows:1fr;transition:grid-template-rows 200ms;border-bottom:1px solid var(--gx-ide-container-border-color)}.header .filters-outer-wrapper--hidden{grid-template-rows:0fr}.header .filters-inner-wrapper{overflow:hidden}.header__third-row{padding:0 var(--gx-ide-container__padding) var(--gx-ide-container__padding) var(--gx-ide-container__padding);display:grid;column-gap:var(--gx-ide-grid-column-gap);row-gap:var(--gx-ide-grid-row-gap);grid-template-columns:auto 1fr auto 1fr;grid-template-areas:"pattern-label pattern-form-text pattern-form-text pattern-form-text" "changeset-label changeset-combo type-label type-combo" "folder-label folder-combo category-label category-combo"}.header__third-row .pattern-label{grid-area:pattern-label}.header__third-row .pattern-form-text{grid-area:pattern-form-text}.header__third-row .changeset-label{grid-area:changeset-label}.header__third-row .changeset-combo{grid-area:changeset-combo}.header__third-row .type-label{grid-area:type-label}.header__third-row .type-combo{grid-area:type-combo}.header__third-row .folder-label{grid-area:folder-label}.header__third-row .folder-combo{grid-area:folder-combo}.header__third-row .category-label{grid-area:category-label}.header__third-row .category-combo{grid-area:category-combo}.main{height:100%}.grid-container{padding:0}ch-grid{height:auto}gxg-tab::part(container){line-height:unset}.tabular-grid{block-size:100%}.tabular-grid-td-commit ch-tabular-grid-cell:is(:nth-child(6)){padding-block:var(--grid-cell__padding-block);padding-inline:var(--grid-cell__padding-inline);align-items:start;justify-content:start;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-inline-size:0}gx-ide-container::part(content){overflow:hidden}';
12
12
 
13
13
  const d = [ "resets/box-sizing", "utils/form", "utils/layout", "utils/typography", "components/button", "components/checkbox", "components/edit", "components/tabular-grid" ];
14
14
 
@@ -585,4 +585,4 @@ const g = class {
585
585
  g.style = c;
586
586
 
587
587
  export { g as gx_ide_team_dev_commit };
588
- //# sourceMappingURL=p-2b3938b4.entry.js.map
588
+ //# sourceMappingURL=p-d2107cb2.entry.js.map
@@ -6,7 +6,7 @@ import { L as o } from "./p-311eedf3.js";
6
6
 
7
7
  import { r, m as h } from "./p-9ddea83b.js";
8
8
 
9
- import { g as d } from "./p-9a609b51.js";
9
+ import { g as d } from "./p-48f5911b.js";
10
10
 
11
11
  import { v as l } from "./p-289c3290.js";
12
12
 
@@ -431,4 +431,4 @@ V = new WeakMap, q = new WeakMap, B = new WeakMap, G = new WeakMap, J = new Weak
431
431
  X.style = f;
432
432
 
433
433
  export { X as gx_ide_new_environment };
434
- //# sourceMappingURL=p-ba7d1472.entry.js.map
434
+ //# sourceMappingURL=p-d3767a7d.entry.js.map