@genexus/genexus-ide-ui 1.0.2 → 1.0.3

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 (379) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +1 -1
  3. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +1 -1
  9. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +1 -1
  13. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js.map +1 -1
  14. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +1 -1
  15. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js.map +1 -1
  16. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +1 -1
  17. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
  18. package/dist/cjs/gx-ide-card.cjs.entry.js +1 -1
  19. package/dist/cjs/gx-ide-card.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +1 -1
  21. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
  22. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +1 -1
  23. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  24. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +1 -1
  25. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
  26. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +1 -1
  27. package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
  28. package/dist/cjs/gx-ide-design-import.cjs.entry.js +1 -1
  29. package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
  30. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +1 -1
  31. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
  32. package/dist/cjs/gx-ide-empty-state.cjs.entry.js +1 -1
  33. package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -1
  34. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +3 -1
  35. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js.map +1 -1
  36. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +1 -1
  37. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
  38. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
  39. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
  40. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
  41. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  42. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +1 -1
  43. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
  44. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +1 -1
  45. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js.map +1 -1
  46. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +1 -1
  47. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
  48. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
  49. package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
  50. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
  51. package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
  52. package/dist/cjs/gx-ide-new-object.cjs.entry.js +1 -1
  53. package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
  54. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +2 -2
  55. package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
  56. package/dist/cjs/gx-ide-recent-news.cjs.entry.js +4 -3
  57. package/dist/cjs/gx-ide-recent-news.cjs.entry.js.map +1 -1
  58. package/dist/cjs/gx-ide-references.cjs.entry.js +1 -1
  59. package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
  60. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
  61. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  62. package/dist/cjs/gx-ide-start-page.cjs.entry.js +4 -3
  63. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  64. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
  65. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  66. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
  67. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js.map +1 -1
  68. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
  69. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
  70. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
  71. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js.map +1 -1
  72. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
  73. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  74. package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
  75. package/dist/cjs/gx-ide-template.cjs.entry.js.map +1 -1
  76. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +1 -1
  77. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js.map +1 -1
  78. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  79. package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
  80. package/dist/cjs/loader.cjs.js +1 -1
  81. package/dist/collection/components/_helpers/card/card.css +0 -40
  82. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +0 -40
  83. package/dist/collection/components/_helpers/entity-selector/entity-selector.js +20 -1
  84. package/dist/collection/components/_helpers/entity-selector/entity-selector.js.map +1 -1
  85. package/dist/collection/components/_helpers/entity-selector/gx-ide-assets/entity-selector/langs/entity-selector.lang.en.json +1 -1
  86. package/dist/collection/components/_helpers/list-selector/list-selector.css +0 -40
  87. package/dist/collection/components/_starting-template/template.css +0 -40
  88. package/dist/collection/components/ai-assistant/ai-assistant.css +0 -40
  89. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.css +0 -80
  90. package/dist/collection/components/bpm/assign-roles/bpm-assign-roles.css +0 -40
  91. package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.css +0 -40
  92. package/dist/collection/components/bpm/import-files/bpm-import-files.css +0 -40
  93. package/dist/collection/components/bpm/import-gxpm/bpm-import-gxpm.css +0 -40
  94. package/dist/collection/components/bpm/objects-selector/bpm-objects-selector.css +0 -40
  95. package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.css +0 -40
  96. package/dist/collection/components/connect-gx-server/connect-gx-server.css +0 -40
  97. package/dist/collection/components/create-kb-from-server/create-kb-from-server.css +0 -40
  98. package/dist/collection/components/dashboard-home/dashboard-home.css +0 -40
  99. package/dist/collection/components/data-selector/data-selector.css +0 -40
  100. package/dist/collection/components/design-import/design-import.css +0 -40
  101. package/dist/collection/components/gam-installation-settings/gam-installation-settings.css +0 -40
  102. package/dist/collection/components/kb-manager-export/kb-manager-export.css +0 -40
  103. package/dist/collection/components/kb-manager-import/kb-manager-import.css +0 -80
  104. package/dist/collection/components/modules/edit-module-server/edit-module-server.css +0 -40
  105. package/dist/collection/components/modules/manage-module-references/manage-module-references.css +0 -40
  106. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references.css +0 -40
  107. package/dist/collection/components/new-environment/new-environment.css +0 -40
  108. package/dist/collection/components/new-kb/new-kb.css +0 -40
  109. package/dist/collection/components/new-object/new-object.css +0 -40
  110. package/dist/collection/components/object-selector/gx-ide-assets/object-selector/langs/object-selector.lang.en.json +0 -2
  111. package/dist/collection/components/object-selector/gx-ide-assets/object-selector/langs/object-selector.lang.ja.json +1 -1
  112. package/dist/collection/components/object-selector/object-selector.css +0 -80
  113. package/dist/collection/components/object-selector/object-selector.js +1 -1
  114. package/dist/collection/components/object-selector/object-selector.js.map +1 -1
  115. package/dist/collection/components/references/references.css +0 -40
  116. package/dist/collection/components/share-kb/share-kb.css +0 -40
  117. package/dist/collection/components/start-page/recent-news.css +0 -40
  118. package/dist/collection/components/start-page/recent-news.js +3 -2
  119. package/dist/collection/components/start-page/recent-news.js.map +1 -1
  120. package/dist/collection/components/start-page/start-page.css +0 -40
  121. package/dist/collection/components/start-page/start-page.js +3 -2
  122. package/dist/collection/components/start-page/start-page.js.map +1 -1
  123. package/dist/collection/components/team-dev/commit/commit.css +0 -80
  124. package/dist/collection/components/team-dev/select-recent-comment/select-recent-comment.css +0 -40
  125. package/dist/collection/components/team-dev/update/update.css +0 -80
  126. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +0 -40
  127. package/dist/collection/components/team-dev/update-to-revision/update-to-revision.css +0 -40
  128. package/dist/collection/components/wf-settings/wf-settings.css +0 -40
  129. package/dist/collection/components/ww-images/ww-images.css +0 -80
  130. package/dist/components/bpm-objects-selector.js +1 -1
  131. package/dist/components/bpm-objects-selector.js.map +1 -1
  132. package/dist/components/entity-selector.js +4 -1
  133. package/dist/components/entity-selector.js.map +1 -1
  134. package/dist/components/gx-ide-ai-assistant.js +1 -1
  135. package/dist/components/gx-ide-ai-assistant.js.map +1 -1
  136. package/dist/components/gx-ide-bpm-app-declaration.js +1 -1
  137. package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
  138. package/dist/components/gx-ide-bpm-assign-roles.js +1 -1
  139. package/dist/components/gx-ide-bpm-assign-roles.js.map +1 -1
  140. package/dist/components/gx-ide-bpm-export-xpdl.js +1 -1
  141. package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
  142. package/dist/components/gx-ide-bpm-import-files.js +1 -1
  143. package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
  144. package/dist/components/gx-ide-bpm-import-gxpm.js +1 -1
  145. package/dist/components/gx-ide-bpm-import-gxpm.js.map +1 -1
  146. package/dist/components/gx-ide-bpm-timer-duration.js +1 -1
  147. package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
  148. package/dist/components/gx-ide-card.js +1 -1
  149. package/dist/components/gx-ide-card.js.map +1 -1
  150. package/dist/components/gx-ide-connect-gx-server.js +1 -1
  151. package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
  152. package/dist/components/gx-ide-create-kb-from-server.js +1 -1
  153. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  154. package/dist/components/gx-ide-dashboard-home.js +1 -1
  155. package/dist/components/gx-ide-dashboard-home.js.map +1 -1
  156. package/dist/components/gx-ide-data-selector.js +1 -1
  157. package/dist/components/gx-ide-data-selector.js.map +1 -1
  158. package/dist/components/gx-ide-design-import.js +1 -1
  159. package/dist/components/gx-ide-design-import.js.map +1 -1
  160. package/dist/components/gx-ide-edit-module-server.js +1 -1
  161. package/dist/components/gx-ide-edit-module-server.js.map +1 -1
  162. package/dist/components/gx-ide-empty-state2.js +1 -1
  163. package/dist/components/gx-ide-empty-state2.js.map +1 -1
  164. package/dist/components/gx-ide-gam-installation-settings.js +1 -1
  165. package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
  166. package/dist/components/gx-ide-kb-manager-export.js +1 -1
  167. package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
  168. package/dist/components/gx-ide-kb-manager-import.js +1 -1
  169. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  170. package/dist/components/gx-ide-manage-module-references-v2.js +1 -1
  171. package/dist/components/gx-ide-manage-module-references-v2.js.map +1 -1
  172. package/dist/components/gx-ide-manage-module-references.js +1 -1
  173. package/dist/components/gx-ide-manage-module-references.js.map +1 -1
  174. package/dist/components/gx-ide-new-environment.js +1 -1
  175. package/dist/components/gx-ide-new-environment.js.map +1 -1
  176. package/dist/components/gx-ide-new-kb.js +1 -1
  177. package/dist/components/gx-ide-new-kb.js.map +1 -1
  178. package/dist/components/gx-ide-new-object.js +1 -1
  179. package/dist/components/gx-ide-new-object.js.map +1 -1
  180. package/dist/components/gx-ide-object-selector.js +2 -2
  181. package/dist/components/gx-ide-object-selector.js.map +1 -1
  182. package/dist/components/gx-ide-references.js +1 -1
  183. package/dist/components/gx-ide-references.js.map +1 -1
  184. package/dist/components/gx-ide-share-kb.js +1 -1
  185. package/dist/components/gx-ide-share-kb.js.map +1 -1
  186. package/dist/components/gx-ide-start-page.js +4 -3
  187. package/dist/components/gx-ide-start-page.js.map +1 -1
  188. package/dist/components/gx-ide-team-dev-commit.js +1 -1
  189. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  190. package/dist/components/gx-ide-team-dev-select-recent-comment.js +1 -1
  191. package/dist/components/gx-ide-team-dev-select-recent-comment.js.map +1 -1
  192. package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
  193. package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
  194. package/dist/components/gx-ide-team-dev-update-to-revision.js +1 -1
  195. package/dist/components/gx-ide-team-dev-update-to-revision.js.map +1 -1
  196. package/dist/components/gx-ide-team-dev-update.js +1 -1
  197. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  198. package/dist/components/gx-ide-template.js +1 -1
  199. package/dist/components/gx-ide-template.js.map +1 -1
  200. package/dist/components/gx-ide-wf-settings.js +1 -1
  201. package/dist/components/gx-ide-wf-settings.js.map +1 -1
  202. package/dist/components/gx-ide-ww-images.js +1 -1
  203. package/dist/components/gx-ide-ww-images.js.map +1 -1
  204. package/dist/components/list-selector.js +1 -1
  205. package/dist/components/list-selector.js.map +1 -1
  206. package/dist/components/recent-news.js +4 -3
  207. package/dist/components/recent-news.js.map +1 -1
  208. package/dist/esm/genexus-ide-ui.js +1 -1
  209. package/dist/esm/gx-ide-ai-assistant.entry.js +1 -1
  210. package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
  211. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
  212. package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
  213. package/dist/esm/gx-ide-bpm-assign-roles.entry.js +1 -1
  214. package/dist/esm/gx-ide-bpm-assign-roles.entry.js.map +1 -1
  215. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +1 -1
  216. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
  217. package/dist/esm/gx-ide-bpm-import-files.entry.js +1 -1
  218. package/dist/esm/gx-ide-bpm-import-files.entry.js.map +1 -1
  219. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +1 -1
  220. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js.map +1 -1
  221. package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
  222. package/dist/esm/gx-ide-bpm-objects-selector.entry.js.map +1 -1
  223. package/dist/esm/gx-ide-bpm-timer-duration.entry.js +1 -1
  224. package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
  225. package/dist/esm/gx-ide-card.entry.js +1 -1
  226. package/dist/esm/gx-ide-card.entry.js.map +1 -1
  227. package/dist/esm/gx-ide-connect-gx-server.entry.js +1 -1
  228. package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
  229. package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
  230. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  231. package/dist/esm/gx-ide-dashboard-home.entry.js +1 -1
  232. package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
  233. package/dist/esm/gx-ide-data-selector.entry.js +1 -1
  234. package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
  235. package/dist/esm/gx-ide-design-import.entry.js +1 -1
  236. package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
  237. package/dist/esm/gx-ide-edit-module-server.entry.js +1 -1
  238. package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
  239. package/dist/esm/gx-ide-empty-state.entry.js +1 -1
  240. package/dist/esm/gx-ide-empty-state.entry.js.map +1 -1
  241. package/dist/esm/gx-ide-entity-selector.entry.js +3 -1
  242. package/dist/esm/gx-ide-entity-selector.entry.js.map +1 -1
  243. package/dist/esm/gx-ide-gam-installation-settings.entry.js +1 -1
  244. package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
  245. package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
  246. package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
  247. package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
  248. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  249. package/dist/esm/gx-ide-list-selector_2.entry.js +1 -1
  250. package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
  251. package/dist/esm/gx-ide-manage-module-references-v2.entry.js +1 -1
  252. package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +1 -1
  253. package/dist/esm/gx-ide-manage-module-references.entry.js +1 -1
  254. package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
  255. package/dist/esm/gx-ide-new-environment.entry.js +1 -1
  256. package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
  257. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  258. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  259. package/dist/esm/gx-ide-new-object.entry.js +1 -1
  260. package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
  261. package/dist/esm/gx-ide-object-selector.entry.js +2 -2
  262. package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
  263. package/dist/esm/gx-ide-recent-news.entry.js +4 -3
  264. package/dist/esm/gx-ide-recent-news.entry.js.map +1 -1
  265. package/dist/esm/gx-ide-references.entry.js +1 -1
  266. package/dist/esm/gx-ide-references.entry.js.map +1 -1
  267. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  268. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  269. package/dist/esm/gx-ide-start-page.entry.js +4 -3
  270. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  271. package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
  272. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  273. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
  274. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js.map +1 -1
  275. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
  276. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
  277. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
  278. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js.map +1 -1
  279. package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
  280. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  281. package/dist/esm/gx-ide-template.entry.js +1 -1
  282. package/dist/esm/gx-ide-template.entry.js.map +1 -1
  283. package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
  284. package/dist/esm/gx-ide-wf-settings.entry.js.map +1 -1
  285. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  286. package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
  287. package/dist/esm/loader.js +1 -1
  288. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  289. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  290. package/dist/genexus-ide-ui/gx-ide-assets/entity-selector/langs/entity-selector.lang.en.json +1 -1
  291. package/dist/genexus-ide-ui/gx-ide-assets/object-selector/langs/object-selector.lang.en.json +0 -2
  292. package/dist/genexus-ide-ui/gx-ide-assets/object-selector/langs/object-selector.lang.ja.json +1 -1
  293. package/dist/genexus-ide-ui/{p-4a0e3c34.entry.js → p-032bdefc.entry.js} +72 -72
  294. package/dist/genexus-ide-ui/{p-ed72073c.entry.js → p-04421676.entry.js} +40 -40
  295. package/dist/genexus-ide-ui/{p-33434d7d.entry.js → p-0ac125fc.entry.js} +169 -169
  296. package/dist/genexus-ide-ui/{p-03b4b814.entry.js → p-0bb18689.entry.js} +168 -168
  297. package/dist/genexus-ide-ui/{p-969e4799.entry.js → p-0be068bf.entry.js} +65 -65
  298. package/dist/genexus-ide-ui/{p-02c7b423.entry.js → p-19789aa2.entry.js} +72 -72
  299. package/dist/genexus-ide-ui/{p-92e46b5d.entry.js → p-27fcaad7.entry.js} +30 -30
  300. package/dist/genexus-ide-ui/{p-2073deab.entry.js → p-2fd83e6c.entry.js} +29 -29
  301. package/dist/genexus-ide-ui/{p-a88e14f8.entry.js → p-33c1ddd9.entry.js} +154 -154
  302. package/dist/genexus-ide-ui/{p-82649b9b.entry.js → p-38f61bea.entry.js} +46 -46
  303. package/dist/genexus-ide-ui/{p-28456a97.entry.js → p-3e48e2f6.entry.js} +16 -16
  304. package/dist/genexus-ide-ui/{p-51771269.entry.js → p-54ee665f.entry.js} +27 -27
  305. package/dist/genexus-ide-ui/{p-43cfd06b.entry.js → p-638befbe.entry.js} +35 -35
  306. package/dist/genexus-ide-ui/{p-77239013.entry.js → p-68810397.entry.js} +20 -20
  307. package/dist/genexus-ide-ui/{p-941cdab8.entry.js → p-69edc29c.entry.js} +52 -52
  308. package/dist/genexus-ide-ui/{p-7ca8ed4b.entry.js → p-6da8bf60.entry.js} +53 -53
  309. package/dist/genexus-ide-ui/{p-73afc989.entry.js → p-7b8e41dd.entry.js} +12 -12
  310. package/dist/genexus-ide-ui/{p-60b5aa38.entry.js → p-8da18e59.entry.js} +2 -2
  311. package/dist/genexus-ide-ui/{p-2238f5b3.entry.js → p-929dd336.entry.js} +9 -9
  312. package/dist/genexus-ide-ui/{p-a1f28f2b.entry.js → p-980f96c5.entry.js} +44 -44
  313. package/dist/genexus-ide-ui/{p-8ee27085.entry.js → p-a04d556d.entry.js} +39 -39
  314. package/dist/genexus-ide-ui/{p-04875060.entry.js → p-a3daa189.entry.js} +97 -97
  315. package/dist/genexus-ide-ui/{p-54f34df2.entry.js → p-a587e7ca.entry.js} +3 -2
  316. package/dist/genexus-ide-ui/p-a587e7ca.entry.js.map +1 -0
  317. package/dist/genexus-ide-ui/p-ad92d701.entry.js +318 -0
  318. package/dist/genexus-ide-ui/{p-d0f99e7f.entry.js → p-b3baa3d2.entry.js} +35 -35
  319. package/dist/genexus-ide-ui/{p-44a2f835.entry.js → p-b7384b06.entry.js} +133 -132
  320. package/dist/genexus-ide-ui/p-b7384b06.entry.js.map +1 -0
  321. package/dist/genexus-ide-ui/{p-48723dcd.entry.js → p-bb1d0ab8.entry.js} +8 -8
  322. package/dist/genexus-ide-ui/{p-8050e61d.entry.js → p-bbb30314.entry.js} +18 -18
  323. package/dist/genexus-ide-ui/p-bbb30314.entry.js.map +1 -0
  324. package/dist/genexus-ide-ui/p-c64a4398.entry.js +683 -0
  325. package/dist/genexus-ide-ui/{p-0f7b7541.entry.js → p-cd7100fa.entry.js} +44 -44
  326. package/dist/genexus-ide-ui/{p-ee3161f8.entry.js → p-d178da38.entry.js} +19 -19
  327. package/dist/genexus-ide-ui/{p-f9aafa8f.entry.js → p-d541640a.entry.js} +24 -24
  328. package/dist/genexus-ide-ui/{p-73a98f20.entry.js → p-d9f7d2c3.entry.js} +41 -41
  329. package/dist/genexus-ide-ui/{p-b984f974.entry.js → p-e4db9c34.entry.js} +46 -46
  330. package/dist/genexus-ide-ui/{p-f1f6b028.entry.js → p-eb52d685.entry.js} +31 -31
  331. package/dist/genexus-ide-ui/{p-d40d8792.entry.js → p-f220c75a.entry.js} +7 -7
  332. package/dist/genexus-ide-ui/{p-51ea74a5.entry.js → p-f5c02654.entry.js} +39 -39
  333. package/dist/genexus-ide-ui/{p-0bddf199.entry.js → p-f69df17d.entry.js} +29 -29
  334. package/dist/genexus-ide-ui/{p-957341c7.entry.js → p-f924f02a.entry.js} +84 -83
  335. package/dist/genexus-ide-ui/p-f924f02a.entry.js.map +1 -0
  336. package/dist/types/components/_helpers/entity-selector/entity-selector.d.ts +5 -0
  337. package/dist/types/components.d.ts +8 -0
  338. package/package.json +3 -3
  339. package/dist/genexus-ide-ui/p-15ab148b.entry.js +0 -683
  340. package/dist/genexus-ide-ui/p-44a2f835.entry.js.map +0 -1
  341. package/dist/genexus-ide-ui/p-537dfb63.entry.js +0 -318
  342. package/dist/genexus-ide-ui/p-54f34df2.entry.js.map +0 -1
  343. package/dist/genexus-ide-ui/p-8050e61d.entry.js.map +0 -1
  344. package/dist/genexus-ide-ui/p-957341c7.entry.js.map +0 -1
  345. /package/dist/genexus-ide-ui/{p-4a0e3c34.entry.js.map → p-032bdefc.entry.js.map} +0 -0
  346. /package/dist/genexus-ide-ui/{p-ed72073c.entry.js.map → p-04421676.entry.js.map} +0 -0
  347. /package/dist/genexus-ide-ui/{p-33434d7d.entry.js.map → p-0ac125fc.entry.js.map} +0 -0
  348. /package/dist/genexus-ide-ui/{p-03b4b814.entry.js.map → p-0bb18689.entry.js.map} +0 -0
  349. /package/dist/genexus-ide-ui/{p-969e4799.entry.js.map → p-0be068bf.entry.js.map} +0 -0
  350. /package/dist/genexus-ide-ui/{p-02c7b423.entry.js.map → p-19789aa2.entry.js.map} +0 -0
  351. /package/dist/genexus-ide-ui/{p-92e46b5d.entry.js.map → p-27fcaad7.entry.js.map} +0 -0
  352. /package/dist/genexus-ide-ui/{p-2073deab.entry.js.map → p-2fd83e6c.entry.js.map} +0 -0
  353. /package/dist/genexus-ide-ui/{p-a88e14f8.entry.js.map → p-33c1ddd9.entry.js.map} +0 -0
  354. /package/dist/genexus-ide-ui/{p-82649b9b.entry.js.map → p-38f61bea.entry.js.map} +0 -0
  355. /package/dist/genexus-ide-ui/{p-28456a97.entry.js.map → p-3e48e2f6.entry.js.map} +0 -0
  356. /package/dist/genexus-ide-ui/{p-51771269.entry.js.map → p-54ee665f.entry.js.map} +0 -0
  357. /package/dist/genexus-ide-ui/{p-43cfd06b.entry.js.map → p-638befbe.entry.js.map} +0 -0
  358. /package/dist/genexus-ide-ui/{p-77239013.entry.js.map → p-68810397.entry.js.map} +0 -0
  359. /package/dist/genexus-ide-ui/{p-941cdab8.entry.js.map → p-69edc29c.entry.js.map} +0 -0
  360. /package/dist/genexus-ide-ui/{p-7ca8ed4b.entry.js.map → p-6da8bf60.entry.js.map} +0 -0
  361. /package/dist/genexus-ide-ui/{p-73afc989.entry.js.map → p-7b8e41dd.entry.js.map} +0 -0
  362. /package/dist/genexus-ide-ui/{p-60b5aa38.entry.js.map → p-8da18e59.entry.js.map} +0 -0
  363. /package/dist/genexus-ide-ui/{p-2238f5b3.entry.js.map → p-929dd336.entry.js.map} +0 -0
  364. /package/dist/genexus-ide-ui/{p-a1f28f2b.entry.js.map → p-980f96c5.entry.js.map} +0 -0
  365. /package/dist/genexus-ide-ui/{p-8ee27085.entry.js.map → p-a04d556d.entry.js.map} +0 -0
  366. /package/dist/genexus-ide-ui/{p-04875060.entry.js.map → p-a3daa189.entry.js.map} +0 -0
  367. /package/dist/genexus-ide-ui/{p-537dfb63.entry.js.map → p-ad92d701.entry.js.map} +0 -0
  368. /package/dist/genexus-ide-ui/{p-d0f99e7f.entry.js.map → p-b3baa3d2.entry.js.map} +0 -0
  369. /package/dist/genexus-ide-ui/{p-48723dcd.entry.js.map → p-bb1d0ab8.entry.js.map} +0 -0
  370. /package/dist/genexus-ide-ui/{p-15ab148b.entry.js.map → p-c64a4398.entry.js.map} +0 -0
  371. /package/dist/genexus-ide-ui/{p-0f7b7541.entry.js.map → p-cd7100fa.entry.js.map} +0 -0
  372. /package/dist/genexus-ide-ui/{p-ee3161f8.entry.js.map → p-d178da38.entry.js.map} +0 -0
  373. /package/dist/genexus-ide-ui/{p-f9aafa8f.entry.js.map → p-d541640a.entry.js.map} +0 -0
  374. /package/dist/genexus-ide-ui/{p-73a98f20.entry.js.map → p-d9f7d2c3.entry.js.map} +0 -0
  375. /package/dist/genexus-ide-ui/{p-b984f974.entry.js.map → p-e4db9c34.entry.js.map} +0 -0
  376. /package/dist/genexus-ide-ui/{p-f1f6b028.entry.js.map → p-eb52d685.entry.js.map} +0 -0
  377. /package/dist/genexus-ide-ui/{p-d40d8792.entry.js.map → p-f220c75a.entry.js.map} +0 -0
  378. /package/dist/genexus-ide-ui/{p-51ea74a5.entry.js.map → p-f5c02654.entry.js.map} +0 -0
  379. /package/dist/genexus-ide-ui/{p-0bddf199.entry.js.map → p-f69df17d.entry.js.map} +0 -0
@@ -8,7 +8,7 @@ const locale = require('./locale-bf43b87c.js');
8
8
  const config = require('./config-7499aff7.js');
9
9
  const helpers = require('./helpers-be14ea67.js');
10
10
 
11
- const startPageCss = ":root {\n --ui-animaton-speed: 0.2s;\n}\n\n/*ALIGNMENT*/\n/*Ellipsis*/\n/*****************************************************\nTYPOGRAPHY\n*****************************************************/\n/*Title 01 (Positive)*/\n.gxg-title-01 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n/*Title 01 (Negative)*/\n.gxg-title-01--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 02 (Positive)*/\n.gxg-title-02 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-02--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--color-on-primary);\n}\n\n/*Title 03*/\n.gxg-title-03 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-03--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 04*/\n.gxg-title-04 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-04--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 05*/\n.gxg-title-05 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-05--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Text*/\n.gxg-text {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-text--negative {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n.gxg-text--gray {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--dimmed);\n}\n\n/*Quote*/\n.gxg-quote {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n font-style: italic;\n}\n\n.gxg-quote--negative {\n color: var(--ds-base-font-color--negative);\n}\n\n/*Link*/\n.gxg-link {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n}\n.gxg-link:hover {\n color: var(--ds-base-font-color--link-hover);\n}\n.gxg-link:active {\n color: var(--ds-base-font-color--link-active);\n}\n\n.gxg-link-gray {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n}\n.gxg-link-gray:hover {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n filter: brightness(1.4);\n}\n\n/*Alerts*/\n.gxg-alert-error {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--error);\n display: inline-block;\n}\n\n.gxg-alert-warning {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--warning);\n display: inline-block;\n}\n\n.gxg-alert-success {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--success);\n display: inline-block;\n}\n\n/*Tab*/\n.gxg-tab--disabled {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n.gxg-tab--disabled[disabled] {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n\n/*Label*/\n.gxg-label {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--gxg-label-font-weight);\n font-size: var(--gxg-label-font-size);\n color: var(--gxg-label-color);\n text-align: center;\n line-height: 1.455em;\n display: flex;\n align-items: center;\n}\n.gxg-label:hover {\n color: var(--color-primary-hover);\n}\n.gxg-label:focus {\n color: var(--color-primary-active);\n}\n.gxg-label:active {\n color: var(--color-primary-active);\n}\n.gxg-label[disabled] {\n color: var(--color-primary-disabled);\n}\n\n.gxg-label--negative {\n color: var(--color-on-primary);\n}\n.gxg-label--negative[disabled] {\n color: var(--color-on-disabled);\n}\n\n/*****************************************************\nGXG-BUTTON and GXG-BUTTON-GROUP COMMON STYLES\n*****************************************************/\n/*****************************************************\nFORM ELEMENTS\n*****************************************************/\n.gxg-scrollbar {\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\n.gxg-scrollbar::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n.gxg-scrollbar::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n.gxg-scrollbar::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n\n/*Gx Ide*/\n/*@container queries*/\n/* hiChar styles\nFound on /common/helpers.tsx hiChar function is used to add a span/class to every character that matches a search value. It is used to help the user see why the filter results are filtered. The span/class on the characters are useless without proper styling.\n*/\n.button-primary-destructive {\n --control__border-color: var(--button-primary__border-color--destructive);\n background-color: var(--button-primary__bg-color--destructive);\n color: var(--button-primary__color--destructive);\n}\n.button-primary-destructive:hover {\n --control__border-color: var(\n --button-primary__bg-color--destructive-hover\n );\n background-color: var(--button-primary__bg-color--destructive-hover);\n color: var(--button-primary__color--destructive);\n}\n.button-primary-destructive:active {\n --control__border-color: var(\n --button-primary__bg-color--destructive-active\n );\n background-color: var(--button-primary__bg-color--destructive-active);\n color: var(--button-primary__color--destructive);\n}\n\n.button-secondary-destructive {\n --control__border-color: var(--button-secondary__border-color--destructive);\n background-color: var(--button-secondary__bg-color--destructive);\n color: var(--button-secondary__color--destructive);\n}\n.button-secondary-destructive:hover {\n --control__border-color: var(\n --button-secondary__bg-color--destructive-hover\n );\n background-color: var(--button-secondary__bg-color--destructive-hover);\n color: var(--button-secondary__color--destructive);\n}\n.button-secondary-destructive:active {\n --control__border-color: var(\n --button-secondary__bg-color--destructive-active\n );\n background-color: var(--button-secondary__bg-color--destructive-active);\n color: var(--button-secondary__color--destructive);\n}\n\n/* - - - - - - - - - - - - - - - - -\nNew classes for Chameleon + Mercury\n- - - - - - - - - - - - - - - - - */\n:host {\n display: grid;\n block-size: 100%;\n}\n\n.card-regular {\n background-color: var(--mer-surface__elevation--01);\n border: var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);\n border-radius: var(--mer-border__radius--md);\n padding: var(--mer-spacing--md) var(--mer-spacing--md);\n display: grid;\n}\n\n.card-small {\n background-color: var(--mer-surface__elevation--02);\n border-radius: var(--mer-border__radius--sm);\n padding: var(--mer-spacing--sm) var(--mer-spacing--sm);\n}\n.card-small--actionable:hover {\n background-color: var(--mer-color__neutral-gray--600);\n}\n.card-small--actionable:active {\n background-color: var(--mer-color__neutral-gray--650);\n}\n.card-small:focus-visible {\n outline: var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);\n outline-offset: var(--focus__outline-offset);\n}\n\n.empty-state {\n block-size: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n gap: var(--mer-spacing--sm);\n text-align: center;\n}\n.empty-state__title, .empty-state__button, .empty-state__link {\n max-inline-size: 300px;\n}\n\n.opacity-0 {\n opacity: 0;\n}\n\n.opacity-1 {\n opacity: 1;\n}\n\n.display-contents {\n display: contents;\n}\n\n/* - - - - - - - - - - - - - - - - - - - \nOld classes (Gemini) to be removed soon\n- - - - - - - - - - - - - - - - - - - */\n/* Helper Classes */\n.gxi-hidden {\n display: none !important;\n}\n\n.gxi-full-height {\n height: 100%;\n}\n\n.gxi-overflow-auto {\n overflow: auto;\n}\n\n.gxi-display-flex {\n display: flex;\n}\n\n.align-start {\n display: flex;\n align-items: start;\n}\n\n.align-center {\n display: flex;\n align-items: center;\n}\n\n.align-end {\n display: flex;\n align-items: end;\n}\n\n.overflow-auto {\n overflow: auto;\n}\n\n.justify-start {\n display: flex;\n justify-content: start;\n}\n\n.justify-center {\n display: flex;\n justify-content: center;\n}\n\n.justify-end {\n display: flex;\n justify-content: end;\n}\n\n/* Grids */\n.grid {\n display: grid;\n grid-row-gap: var(--gx-ide-grid-row-gap);\n grid-column-gap: var(--gx-ide-grid-column-gap);\n grid-template-rows: auto;\n}\n\nch-grid-cell {\n display: flex;\n}\n\nch-grid {\n overflow: auto;\n height: 100%;\n}\n\nch-grid-column {\n /*to be removed when this works inside a component with shadow: true*/\n z-index: 99;\n border-bottom: 1px solid var(--mer-color__neutral-gray--800);\n}\n\nch-grid-column:first-child {\n padding-inline-start: var(--gx-ide-container__padding) !important;\n}\n\nch-grid-column:last-child {\n padding-inline-end: var(--gx-ide-container__padding) !important;\n}\n\nch-grid-cell {\n --mer-spacing--xs: var(--gx-ide-container__padding);\n}\n\n/*--- Layout ---*/\n.layout {\n display: grid;\n gap: var(--mer-spacing--lg);\n box-sizing: border-box;\n}\n.layout--two-cols {\n grid-template-columns: 1fr 1fr;\n}\n.layout--space-above {\n padding-block-start: var(--mer-spacing--lg);\n}\n\n/*Gxg Tabs*/\ngxg-tabs {\n box-shadow: none;\n}\n\n/*All components Host should have this class set. !important is set on every rule, since this styles could be overridden by the host user, since they are applied on the host component*/\n:host(.gx-ide-component) {\n height: 100% !important;\n display: flex !important;\n flex-direction: column !important;\n}\n\n/*stylize the top bar*/\n:host(:focus-within) gx-ide-top-bar::part(wrapper) {\n background-color: var(--color-secondary-enabled);\n}\n\n/* Main wrapper (should be the first element inside the host. Everything should be inside .gx-ide-main-wrapper) */\n.gx-ide-main-wrapper {\n color: var(--gx-ide-component-text-color);\n font-weight: var(--mer-font__weight--regular);\n font-size: var(--mer-font__size--xs);\n font-family: var(--mer-font-family--primary);\n height: 100%;\n background-color: var(--gx-ide-component-background-color);\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n box-sizing: border-box;\n}\n\n/*This is the main element. This is the one that take the remaining vertical space*/\n.gx-ide-main {\n flex-grow: 1;\n overflow-y: auto;\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\n.gx-ide-main::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n.gx-ide-main::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n.gx-ide-main::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n.gx-ide-main::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n.gx-ide-main::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n\n.gx-ide-overflow {\n overflow-y: auto;\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\n.gx-ide-overflow::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n.gx-ide-overflow::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n.gx-ide-overflow::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n.gx-ide-overflow::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n.gx-ide-overflow::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n\n.tree-view-primary {\n font-size: var(--mer-font__size--2xs);\n}\n\np {\n margin: 0;\n font-size: var(--mer-font__size--xxs);\n}\n\n/* - - - - - - - - - - - - - - - - - -\nNew : For Mercury\n- - - - - - - - - - - - - - - - - - */\n.buttons-container {\n display: flex;\n gap: var(--mer-spacing--xs);\n}\n\n/*Gx Ide*/\n/*@container queries*/\n/* hiChar styles\nFound on /common/helpers.tsx hiChar function is used to add a span/class to every character that matches a search value. It is used to help the user see why the filter results are filtered. The span/class on the characters are useless without proper styling.\n*/\n.hiChar {\n color: var(--mer-color__primary-blue--200);\n filter: brightness(1.3);\n}\n\n:host {\n overflow: auto;\n container-type: inline-size;\n container-name: host;\n}\n\n.layout-main,\n.layout__panel {\n block-size: 100%;\n overflow: auto;\n}\n\n@container host (max-width: 768px) {\n .layout.layout-main {\n grid-template-columns: 1fr;\n grid-template-rows: 1fr 1fr;\n }\n}\n.panel-recent-kbs {\n position: relative;\n}\n\n.recent-kbs,\n.recent-news {\n display: grid;\n grid-template-rows: auto 1fr;\n gap: var(--mer-spacing--md);\n overflow: auto;\n}\n.recent-kbs__header,\n.recent-news__header {\n display: grid;\n gap: var(--mer-spacing--md);\n}\n\n.kbs-container {\n display: grid;\n gap: var(--mer-spacing--xs);\n overflow: auto;\n grid-auto-rows: max-content;\n container-type: inline-size;\n container-name: kb-container;\n animation: fadeIn var(--mer-timing--super-fast) forwards linear;\n}\n\n.card-kb {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--mer-spacing--lg);\n container-type: inline-size;\n container-name: card-kb;\n}\n.card-kb__left-col {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--sm);\n}\n\n@container kb-container (max-width: 360px) {\n .card-kb {\n align-items: center;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n justify-content: start;\n }\n}\ngx-ide-recent-news {\n overflow: auto;\n}\n\n.panel-recent-news {\n position: relative;\n}\n\n@keyframes exactMatchBright {\n 100% {\n filter: brightness(1.25);\n }\n}\n.exact-match-bright {\n animation: exactMatchBright var(--mer-timing--super-fast) ease-in-out 4 alternate;\n}\n\ngx-ide-loader::part(loader-wrapper) {\n border: var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);\n border-radius: var(--mer-border__radius--md);\n}\n\n@keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n}";
11
+ const startPageCss = ":root {\n --ui-animaton-speed: 0.2s;\n}\n\n/*ALIGNMENT*/\n/*Ellipsis*/\n/*****************************************************\nTYPOGRAPHY\n*****************************************************/\n/*Title 01 (Positive)*/\n.gxg-title-01 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n/*Title 01 (Negative)*/\n.gxg-title-01--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 02 (Positive)*/\n.gxg-title-02 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-02--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--color-on-primary);\n}\n\n/*Title 03*/\n.gxg-title-03 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-03--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 04*/\n.gxg-title-04 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-04--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 05*/\n.gxg-title-05 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-05--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Text*/\n.gxg-text {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-text--negative {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n.gxg-text--gray {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--dimmed);\n}\n\n/*Quote*/\n.gxg-quote {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n font-style: italic;\n}\n\n.gxg-quote--negative {\n color: var(--ds-base-font-color--negative);\n}\n\n/*Link*/\n.gxg-link {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n}\n.gxg-link:hover {\n color: var(--ds-base-font-color--link-hover);\n}\n.gxg-link:active {\n color: var(--ds-base-font-color--link-active);\n}\n\n.gxg-link-gray {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n}\n.gxg-link-gray:hover {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n filter: brightness(1.4);\n}\n\n/*Alerts*/\n.gxg-alert-error {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--error);\n display: inline-block;\n}\n\n.gxg-alert-warning {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--warning);\n display: inline-block;\n}\n\n.gxg-alert-success {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--success);\n display: inline-block;\n}\n\n/*Tab*/\n.gxg-tab--disabled {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n.gxg-tab--disabled[disabled] {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n\n/*Label*/\n.gxg-label {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--gxg-label-font-weight);\n font-size: var(--gxg-label-font-size);\n color: var(--gxg-label-color);\n text-align: center;\n line-height: 1.455em;\n display: flex;\n align-items: center;\n}\n.gxg-label:hover {\n color: var(--color-primary-hover);\n}\n.gxg-label:focus {\n color: var(--color-primary-active);\n}\n.gxg-label:active {\n color: var(--color-primary-active);\n}\n.gxg-label[disabled] {\n color: var(--color-primary-disabled);\n}\n\n.gxg-label--negative {\n color: var(--color-on-primary);\n}\n.gxg-label--negative[disabled] {\n color: var(--color-on-disabled);\n}\n\n/*****************************************************\nGXG-BUTTON and GXG-BUTTON-GROUP COMMON STYLES\n*****************************************************/\n/*****************************************************\nFORM ELEMENTS\n*****************************************************/\n.gxg-scrollbar {\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\n.gxg-scrollbar::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n.gxg-scrollbar::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n.gxg-scrollbar::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n\n/*Gx Ide*/\n/*@container queries*/\n/* hiChar styles\nFound on /common/helpers.tsx hiChar function is used to add a span/class to every character that matches a search value. It is used to help the user see why the filter results are filtered. The span/class on the characters are useless without proper styling.\n*/\n/* - - - - - - - - - - - - - - - - -\nNew classes for Chameleon + Mercury\n- - - - - - - - - - - - - - - - - */\n:host {\n display: grid;\n block-size: 100%;\n}\n\n.card-regular {\n background-color: var(--mer-surface__elevation--01);\n border: var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);\n border-radius: var(--mer-border__radius--md);\n padding: var(--mer-spacing--md) var(--mer-spacing--md);\n display: grid;\n}\n\n.card-small {\n background-color: var(--mer-surface__elevation--02);\n border-radius: var(--mer-border__radius--sm);\n padding: var(--mer-spacing--sm) var(--mer-spacing--sm);\n}\n.card-small--actionable:hover {\n background-color: var(--mer-color__neutral-gray--600);\n}\n.card-small--actionable:active {\n background-color: var(--mer-color__neutral-gray--650);\n}\n.card-small:focus-visible {\n outline: var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);\n outline-offset: var(--focus__outline-offset);\n}\n\n.empty-state {\n block-size: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n gap: var(--mer-spacing--sm);\n text-align: center;\n}\n.empty-state__title, .empty-state__button, .empty-state__link {\n max-inline-size: 300px;\n}\n\n.opacity-0 {\n opacity: 0;\n}\n\n.opacity-1 {\n opacity: 1;\n}\n\n.display-contents {\n display: contents;\n}\n\n/* - - - - - - - - - - - - - - - - - - - \nOld classes (Gemini) to be removed soon\n- - - - - - - - - - - - - - - - - - - */\n/* Helper Classes */\n.gxi-hidden {\n display: none !important;\n}\n\n.gxi-full-height {\n height: 100%;\n}\n\n.gxi-overflow-auto {\n overflow: auto;\n}\n\n.gxi-display-flex {\n display: flex;\n}\n\n.align-start {\n display: flex;\n align-items: start;\n}\n\n.align-center {\n display: flex;\n align-items: center;\n}\n\n.align-end {\n display: flex;\n align-items: end;\n}\n\n.overflow-auto {\n overflow: auto;\n}\n\n.justify-start {\n display: flex;\n justify-content: start;\n}\n\n.justify-center {\n display: flex;\n justify-content: center;\n}\n\n.justify-end {\n display: flex;\n justify-content: end;\n}\n\n/* Grids */\n.grid {\n display: grid;\n grid-row-gap: var(--gx-ide-grid-row-gap);\n grid-column-gap: var(--gx-ide-grid-column-gap);\n grid-template-rows: auto;\n}\n\nch-grid-cell {\n display: flex;\n}\n\nch-grid {\n overflow: auto;\n height: 100%;\n}\n\nch-grid-column {\n /*to be removed when this works inside a component with shadow: true*/\n z-index: 99;\n border-bottom: 1px solid var(--mer-color__neutral-gray--800);\n}\n\nch-grid-column:first-child {\n padding-inline-start: var(--gx-ide-container__padding) !important;\n}\n\nch-grid-column:last-child {\n padding-inline-end: var(--gx-ide-container__padding) !important;\n}\n\nch-grid-cell {\n --mer-spacing--xs: var(--gx-ide-container__padding);\n}\n\n/*--- Layout ---*/\n.layout {\n display: grid;\n gap: var(--mer-spacing--lg);\n box-sizing: border-box;\n}\n.layout--two-cols {\n grid-template-columns: 1fr 1fr;\n}\n.layout--space-above {\n padding-block-start: var(--mer-spacing--lg);\n}\n\n/*Gxg Tabs*/\ngxg-tabs {\n box-shadow: none;\n}\n\n/*All components Host should have this class set. !important is set on every rule, since this styles could be overridden by the host user, since they are applied on the host component*/\n:host(.gx-ide-component) {\n height: 100% !important;\n display: flex !important;\n flex-direction: column !important;\n}\n\n/*stylize the top bar*/\n:host(:focus-within) gx-ide-top-bar::part(wrapper) {\n background-color: var(--color-secondary-enabled);\n}\n\n/* Main wrapper (should be the first element inside the host. Everything should be inside .gx-ide-main-wrapper) */\n.gx-ide-main-wrapper {\n color: var(--gx-ide-component-text-color);\n font-weight: var(--mer-font__weight--regular);\n font-size: var(--mer-font__size--xs);\n font-family: var(--mer-font-family--primary);\n height: 100%;\n background-color: var(--gx-ide-component-background-color);\n display: flex;\n flex-direction: column;\n flex-grow: 1;\n box-sizing: border-box;\n}\n\n/*This is the main element. This is the one that take the remaining vertical space*/\n.gx-ide-main {\n flex-grow: 1;\n overflow-y: auto;\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\n.gx-ide-main::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n.gx-ide-main::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n.gx-ide-main::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n.gx-ide-main::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n.gx-ide-main::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n\n.gx-ide-overflow {\n overflow-y: auto;\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\n.gx-ide-overflow::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n.gx-ide-overflow::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n.gx-ide-overflow::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n.gx-ide-overflow::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n.gx-ide-overflow::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n\n.tree-view-primary {\n font-size: var(--mer-font__size--2xs);\n}\n\np {\n margin: 0;\n font-size: var(--mer-font__size--xxs);\n}\n\n/* - - - - - - - - - - - - - - - - - -\nNew : For Mercury\n- - - - - - - - - - - - - - - - - - */\n.buttons-container {\n display: flex;\n gap: var(--mer-spacing--xs);\n}\n\n/*Gx Ide*/\n/*@container queries*/\n/* hiChar styles\nFound on /common/helpers.tsx hiChar function is used to add a span/class to every character that matches a search value. It is used to help the user see why the filter results are filtered. The span/class on the characters are useless without proper styling.\n*/\n.hiChar {\n color: var(--mer-color__primary-blue--200);\n filter: brightness(1.3);\n}\n\n:host {\n overflow: auto;\n container-type: inline-size;\n container-name: host;\n}\n\n.layout-main,\n.layout__panel {\n block-size: 100%;\n overflow: auto;\n}\n\n@container host (max-width: 768px) {\n .layout.layout-main {\n grid-template-columns: 1fr;\n grid-template-rows: 1fr 1fr;\n }\n}\n.panel-recent-kbs {\n position: relative;\n}\n\n.recent-kbs,\n.recent-news {\n display: grid;\n grid-template-rows: auto 1fr;\n gap: var(--mer-spacing--md);\n overflow: auto;\n}\n.recent-kbs__header,\n.recent-news__header {\n display: grid;\n gap: var(--mer-spacing--md);\n}\n\n.kbs-container {\n display: grid;\n gap: var(--mer-spacing--xs);\n overflow: auto;\n grid-auto-rows: max-content;\n container-type: inline-size;\n container-name: kb-container;\n animation: fadeIn var(--mer-timing--super-fast) forwards linear;\n}\n\n.card-kb {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--mer-spacing--lg);\n container-type: inline-size;\n container-name: card-kb;\n}\n.card-kb__left-col {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--sm);\n}\n\n@container kb-container (max-width: 360px) {\n .card-kb {\n align-items: center;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n justify-content: start;\n }\n}\ngx-ide-recent-news {\n overflow: auto;\n}\n\n.panel-recent-news {\n position: relative;\n}\n\n@keyframes exactMatchBright {\n 100% {\n filter: brightness(1.25);\n }\n}\n.exact-match-bright {\n animation: exactMatchBright var(--mer-timing--super-fast) ease-in-out 4 alternate;\n}\n\ngx-ide-loader::part(loader-wrapper) {\n border: var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);\n border-radius: var(--mer-border__radius--md);\n}\n\n@keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n}";
12
12
 
13
13
  var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
14
14
  if (kind === "a" && !f)
@@ -33,7 +33,8 @@ const CSS_BUNDLES = [
33
33
  "utils/layout",
34
34
  "components/edit",
35
35
  "components/icon",
36
- "components/button"
36
+ "components/button",
37
+ "chameleon/scrollbar"
37
38
  ];
38
39
  const KB_ICON = assetsManager.getIconPath({
39
40
  category: "objects",
@@ -88,7 +89,7 @@ const GxIdeStartPage = class {
88
89
  _GxIdeStartPage_renderKbs.set(this, () => {
89
90
  var _a;
90
91
  if (this.filteredKbs.length) {
91
- return (index.h("div", { class: "kbs-container" }, (_a = this.filteredKbs) === null || _a === void 0 ? void 0 : _a.map(__classPrivateFieldGet(this, _GxIdeStartPage_renderKb, "f"))));
92
+ return (index.h("div", { class: "kbs-container scrollable" }, (_a = this.filteredKbs) === null || _a === void 0 ? void 0 : _a.map(__classPrivateFieldGet(this, _GxIdeStartPage_renderKb, "f"))));
92
93
  }
93
94
  return (index.h("gx-ide-empty-state", { stateIconSrc: KB_ICON, stateTitle: this._componentLocale.recentKbs.noKbsFiltered.title }));
94
95
  });
@@ -1 +1 @@
1
- {"file":"gx-ide-start-page.entry.cjs.js","mappings":"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","names":["getIconPath","h","formatDate","config","hiChar","Locale","Host"],"sources":["src/components/start-page/start-page.scss?tag=gx-ide-start-page&encapsulation=shadow","src/components/start-page/start-page.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n@import \"../../global/reset.scss\";\n\n@include hiChar();\n\n:host {\n overflow: auto;\n container-type: inline-size;\n container-name: host;\n}\n\n.layout-main,\n.layout__panel {\n block-size: 100%;\n overflow: auto;\n}\n@container host (max-width: 768px) {\n .layout.layout-main {\n grid-template-columns: 1fr;\n grid-template-rows: 1fr 1fr;\n }\n}\n\n// recent kb's\n.panel-recent-kbs {\n position: relative;\n}\n.recent-kbs,\n.recent-news {\n display: grid;\n grid-template-rows: auto 1fr;\n gap: var(--mer-spacing--md);\n overflow: auto;\n\n &__header {\n display: grid;\n gap: var(--mer-spacing--md);\n }\n}\n\n.kbs-container {\n display: grid;\n gap: var(--mer-spacing--xs);\n overflow: auto;\n grid-auto-rows: max-content;\n container-type: inline-size;\n container-name: kb-container;\n animation: fadeIn var(--mer-timing--super-fast) forwards linear;\n}\n\n.card-kb {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--mer-spacing--lg);\n container-type: inline-size;\n container-name: card-kb;\n\n &__left-col {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--sm);\n }\n}\n@container kb-container (max-width: 360px) {\n .card-kb {\n align-items: center;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n justify-content: start;\n }\n}\n\n// recent news\ngx-ide-recent-news {\n overflow: auto;\n}\n.panel-recent-news {\n position: relative;\n}\n\n@keyframes exactMatchBright {\n 100% {\n filter: brightness(1.25);\n }\n}\n.exact-match-bright {\n animation: exactMatchBright var(--mer-timing--super-fast) ease-in-out 4\n alternate;\n}\n\ngx-ide-loader::part(loader-wrapper) {\n border: var(--mer-border__width--sm) solid\n var(--mer-border-color__on-elevation--01);\n border-radius: var(--mer-border__radius--md);\n}\n\n@keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n}\n","/* STENCIL IMPORTS */\nimport { Component, Host, h, Prop, Element, State, Watch } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport { formatDate, hiChar } from \"../../common/helpers\";\nimport { ChEditCustomEvent } from \"@genexus/chameleon-controls-library\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"utils/layout\",\n \"components/edit\",\n \"components/icon\",\n \"components/button\"\n];\n\nconst KB_ICON = getIconPath({\n category: \"objects\",\n name: \"knowledge-base\"\n});\nconst FOLDER_ICON = getIconPath({\n category: \"system\",\n name: \"folder\",\n colorType: \"on-elevation\"\n});\n\n@Component({\n tag: \"gx-ide-start-page\",\n styleUrl: \"start-page.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/start-page\"]\n})\nexport class GxIdeStartPage {\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n\n #recentKbsFilter: HTMLChEditElement;\n #kbsFilterValue: string = \"\";\n\n @Element() el: HTMLGxIdeStartPageElement;\n\n /**\n * The condition required to display the kbs filter\n */\n @State() displayKbsFilter: boolean = true;\n\n /**\n * The condition required to display the news filter\n */\n @State() displayNewsFilter: boolean = false;\n\n /**\n * The filtered KBs after user input\n */\n @State() filteredKbs: RecentKBData[] = [];\n\n /**\n * The filtered news after user input\n */\n @State() filteredNews: NewsData[] = [];\n\n /**\n * True if kbs have been not loaded yet.\n */\n @State() loadingKbs: boolean = true;\n\n /**\n * A list of recent news\n */\n @State() news: NewsData[];\n @Watch(\"news\")\n watchNews(news: NewsData[]) {\n if (news?.length >= this.newsFilterThreshold) {\n this.displayNewsFilter = true;\n } else {\n this.displayNewsFilter = false;\n }\n }\n\n /**\n * The filter value for the recent news set by the user input\n */\n @State() newsFilterValue: string;\n\n /**\n * True if the component has been rendered for the first time.\n */\n @State() renderedFirstTime = false;\n\n /**\n * Callback invoked to load the news feed (right panel \"Recent News\").\n */\n @Prop() readonly getNewsCallback!: GetNewsCallback;\n\n /**\n * Ann array of the user's KB's\n */\n @Prop() readonly kbs: RecentKBData[] = [];\n @Watch(\"kbs\")\n kbsChanged(kbs: RecentKBData[]) {\n this.loadingKbs = false;\n this.#filterKbs();\n if (kbs?.length >= this.kbsFilterThreshold) {\n this.displayKbsFilter = true;\n } else {\n this.displayKbsFilter = false;\n }\n }\n\n /**\n * The minimum number of \"kbs\" that is required to display the kb's filter.\n */\n @Prop() readonly kbsFilterThreshold: number = 6;\n\n /**\n * The minimum number of \"news\" that is required to display the news's filter.\n */\n @Prop() readonly newsFilterThreshold: number = 6;\n\n /**\n * Callback invoked to open a knowledge base when the user clicks on a KB card.\n */\n @Prop() readonly openKbCallback!: OpenKbCallback;\n\n /**\n * Callback invoked to open a news article.\n */\n @Prop() readonly openNewsCallback!: OpenNewsCallback;\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidLoad() {\n this.#recentKbsFilter?.focus();\n }\n\n #evaluateRenderKbs = () => {\n if (this.kbs?.length > 0) {\n return this.#renderKbs();\n } else {\n return (\n <gx-ide-empty-state\n class=\"kbs-empty-state\"\n stateIconSrc={FOLDER_ICON}\n stateTitle={this._componentLocale.emptyState.title}\n stateDescription={this._componentLocale.emptyState.description}\n ></gx-ide-empty-state>\n );\n }\n };\n\n #filterKbs = () => {\n this.filteredKbs = this.kbs.filter(kb =>\n kb.name?.toLowerCase().includes(this.#kbsFilterValue)\n );\n };\n\n #getNewsCallbackRecentNews = async (): Promise<NewsData[]> => {\n return new Promise(async resolve => {\n this.news = await this.getNewsCallback();\n resolve(this.news);\n });\n };\n\n #openKbHandler = async (e: MouseEvent) => {\n const kbId = (e.target as HTMLElement).id;\n await this.openKbCallback(kbId);\n };\n\n #renderKb = (kb: RecentKBData): HTMLButtonElement | null => {\n const formattedDate = formatDate(kb.lastOpenedDate, \"pretty\");\n const dateCaption = formattedDate\n ? `${this._componentLocale.recentKbs.lastOpened} ${formattedDate}`\n : null;\n return (\n <article class=\"display-contents\">\n <button\n class={{\n \"card-small\": true,\n \"card-small--actionable\": true,\n \"card-kb\": true,\n \"exact-match-bright\":\n kb.name?.toLocaleLowerCase() ===\n this.#kbsFilterValue?.toLowerCase()\n }}\n id={kb.id}\n key={kb.id}\n type=\"button\"\n onClick={this.#openKbHandler}\n >\n <div class=\"card-kb__left-col\">\n <ch-image src={KB_ICON} class=\"icon-md\"></ch-image>\n <h2 class={config.headingsClasses.cardSmall}>\n {hiChar(kb.name, this.#kbsFilterValue)}\n </h2>\n </div>\n {dateCaption && <div class=\"card-kb__right-col\">{dateCaption}</div>}\n </button>\n </article>\n );\n };\n\n #renderKbs = () => {\n if (this.filteredKbs.length) {\n return (\n <div class=\"kbs-container\">{this.filteredKbs?.map(this.#renderKb)}</div>\n );\n }\n return (\n <gx-ide-empty-state\n stateIconSrc={KB_ICON}\n stateTitle={this._componentLocale.recentKbs.noKbsFiltered.title}\n ></gx-ide-empty-state>\n );\n };\n\n #searchKbsInputHandler = (event: Event | ChEditCustomEvent<InputEvent>) => {\n this.#kbsFilterValue = (\n event as ChEditCustomEvent<InputEvent>\n ).target.value.toLowerCase();\n this.#filterKbs();\n };\n\n #searchNewsInputHandler = (event: Event | ChEditCustomEvent<InputEvent>) => {\n this.newsFilterValue = (\n event as ChEditCustomEvent<InputEvent>\n ).target.value.toLowerCase();\n };\n\n render() {\n return (\n <Host class=\"start-page-host\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"layout layout-main layout--cols-2\">\n <div class=\"layout__panel panel-recent-kbs\">\n <section class=\"card-regular recent-kbs\">\n <header class=\"recent-kbs__header\">\n <h2\n class={{\n [config.headingsClasses.cardRegular]: true,\n \"recent-kbs__title\": true\n }}\n >\n {this._componentLocale.recentKbs.title}\n </h2>\n {this.displayKbsFilter && (\n <ch-edit\n type=\"text\"\n class=\"form-input recent-kbs__name-filter\"\n placeholder={this._componentLocale.recentKbs.placeholder}\n onInput={this.#searchKbsInputHandler}\n ref={el =>\n (this.#recentKbsFilter = el as HTMLChEditElement)\n }\n disabled={!(this.kbs?.length > 0)}\n ></ch-edit>\n )}\n </header>\n\n {this.loadingKbs ? (\n <gx-ide-loader\n loaderTitle={this._componentLocale.recentKbs.loader.title}\n description={\n this._componentLocale.recentKbs.loader.description\n }\n show={true}\n ></gx-ide-loader>\n ) : (\n this.#evaluateRenderKbs()\n )}\n </section>\n </div>\n\n <div class=\"layout__panel panel-recent-news\">\n <section class=\"card-regular recent-news\">\n <header class=\"recent-news__header\">\n <h2 class={config.headingsClasses.cardRegular}>\n {this._componentLocale.recentNews.title}\n </h2>\n {this.displayNewsFilter && (\n <ch-edit\n type=\"text\"\n class=\"form-input recent-news__filter\"\n placeholder={\n this._componentLocale.recentNews.inputPlaceholder\n }\n onInput={\n this.news?.length > 0\n ? this.#searchNewsInputHandler\n : null\n }\n disabled={!(this.news?.length > 0)}\n ></ch-edit>\n )}\n </header>\n\n <gx-ide-recent-news\n getNewsCallback={this.#getNewsCallbackRecentNews}\n openNewsCallback={this.openNewsCallback}\n filterValue={this.newsFilterValue}\n ></gx-ide-recent-news>\n </section>\n </div>\n </div>\n </Host>\n );\n }\n}\n\nexport type OpenKbCallback = (id: string) => Promise<void>;\nexport type GetNewsCallback = () => Promise<NewsData[]>;\nexport type OpenNewsCallback = (id: string) => Promise<void>;\n\nexport type RecentKBData = {\n id: string;\n name: string;\n lastOpenedDate?: Date;\n};\nexport type NewsData = {\n id: string;\n title: string;\n body: string;\n};\n"],"version":3}
1
+ {"file":"gx-ide-start-page.entry.cjs.js","mappings":"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","names":["getIconPath","h","formatDate","config","hiChar","Locale","Host"],"sources":["src/components/start-page/start-page.scss?tag=gx-ide-start-page&encapsulation=shadow","src/components/start-page/start-page.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n@import \"../../global/reset.scss\";\n\n@include hiChar();\n\n:host {\n overflow: auto;\n container-type: inline-size;\n container-name: host;\n}\n\n.layout-main,\n.layout__panel {\n block-size: 100%;\n overflow: auto;\n}\n@container host (max-width: 768px) {\n .layout.layout-main {\n grid-template-columns: 1fr;\n grid-template-rows: 1fr 1fr;\n }\n}\n\n// recent kb's\n.panel-recent-kbs {\n position: relative;\n}\n.recent-kbs,\n.recent-news {\n display: grid;\n grid-template-rows: auto 1fr;\n gap: var(--mer-spacing--md);\n overflow: auto;\n\n &__header {\n display: grid;\n gap: var(--mer-spacing--md);\n }\n}\n\n.kbs-container {\n display: grid;\n gap: var(--mer-spacing--xs);\n overflow: auto;\n grid-auto-rows: max-content;\n container-type: inline-size;\n container-name: kb-container;\n animation: fadeIn var(--mer-timing--super-fast) forwards linear;\n}\n\n.card-kb {\n display: flex;\n align-items: center;\n justify-content: space-between;\n gap: var(--mer-spacing--lg);\n container-type: inline-size;\n container-name: card-kb;\n\n &__left-col {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--sm);\n }\n}\n@container kb-container (max-width: 360px) {\n .card-kb {\n align-items: center;\n flex-direction: column;\n gap: var(--mer-spacing--xs);\n justify-content: start;\n }\n}\n\n// recent news\ngx-ide-recent-news {\n overflow: auto;\n}\n.panel-recent-news {\n position: relative;\n}\n\n@keyframes exactMatchBright {\n 100% {\n filter: brightness(1.25);\n }\n}\n.exact-match-bright {\n animation: exactMatchBright var(--mer-timing--super-fast) ease-in-out 4\n alternate;\n}\n\ngx-ide-loader::part(loader-wrapper) {\n border: var(--mer-border__width--sm) solid\n var(--mer-border-color__on-elevation--01);\n border-radius: var(--mer-border__radius--md);\n}\n\n@keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n}\n","/* STENCIL IMPORTS */\nimport { Component, Host, h, Prop, Element, State, Watch } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport { formatDate, hiChar } from \"../../common/helpers\";\nimport { ChEditCustomEvent } from \"@genexus/chameleon-controls-library\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"utils/layout\",\n \"components/edit\",\n \"components/icon\",\n \"components/button\",\n \"chameleon/scrollbar\"\n];\n\nconst KB_ICON = getIconPath({\n category: \"objects\",\n name: \"knowledge-base\"\n});\nconst FOLDER_ICON = getIconPath({\n category: \"system\",\n name: \"folder\",\n colorType: \"on-elevation\"\n});\n\n@Component({\n tag: \"gx-ide-start-page\",\n styleUrl: \"start-page.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/start-page\"]\n})\nexport class GxIdeStartPage {\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n\n #recentKbsFilter: HTMLChEditElement;\n #kbsFilterValue: string = \"\";\n\n @Element() el: HTMLGxIdeStartPageElement;\n\n /**\n * The condition required to display the kbs filter\n */\n @State() displayKbsFilter: boolean = true;\n\n /**\n * The condition required to display the news filter\n */\n @State() displayNewsFilter: boolean = false;\n\n /**\n * The filtered KBs after user input\n */\n @State() filteredKbs: RecentKBData[] = [];\n\n /**\n * The filtered news after user input\n */\n @State() filteredNews: NewsData[] = [];\n\n /**\n * True if kbs have been not loaded yet.\n */\n @State() loadingKbs: boolean = true;\n\n /**\n * A list of recent news\n */\n @State() news: NewsData[];\n @Watch(\"news\")\n watchNews(news: NewsData[]) {\n if (news?.length >= this.newsFilterThreshold) {\n this.displayNewsFilter = true;\n } else {\n this.displayNewsFilter = false;\n }\n }\n\n /**\n * The filter value for the recent news set by the user input\n */\n @State() newsFilterValue: string;\n\n /**\n * True if the component has been rendered for the first time.\n */\n @State() renderedFirstTime = false;\n\n /**\n * Callback invoked to load the news feed (right panel \"Recent News\").\n */\n @Prop() readonly getNewsCallback!: GetNewsCallback;\n\n /**\n * Ann array of the user's KB's\n */\n @Prop() readonly kbs: RecentKBData[] = [];\n @Watch(\"kbs\")\n kbsChanged(kbs: RecentKBData[]) {\n this.loadingKbs = false;\n this.#filterKbs();\n if (kbs?.length >= this.kbsFilterThreshold) {\n this.displayKbsFilter = true;\n } else {\n this.displayKbsFilter = false;\n }\n }\n\n /**\n * The minimum number of \"kbs\" that is required to display the kb's filter.\n */\n @Prop() readonly kbsFilterThreshold: number = 6;\n\n /**\n * The minimum number of \"news\" that is required to display the news's filter.\n */\n @Prop() readonly newsFilterThreshold: number = 6;\n\n /**\n * Callback invoked to open a knowledge base when the user clicks on a KB card.\n */\n @Prop() readonly openKbCallback!: OpenKbCallback;\n\n /**\n * Callback invoked to open a news article.\n */\n @Prop() readonly openNewsCallback!: OpenNewsCallback;\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidLoad() {\n this.#recentKbsFilter?.focus();\n }\n\n #evaluateRenderKbs = () => {\n if (this.kbs?.length > 0) {\n return this.#renderKbs();\n } else {\n return (\n <gx-ide-empty-state\n class=\"kbs-empty-state\"\n stateIconSrc={FOLDER_ICON}\n stateTitle={this._componentLocale.emptyState.title}\n stateDescription={this._componentLocale.emptyState.description}\n ></gx-ide-empty-state>\n );\n }\n };\n\n #filterKbs = () => {\n this.filteredKbs = this.kbs.filter(kb =>\n kb.name?.toLowerCase().includes(this.#kbsFilterValue)\n );\n };\n\n #getNewsCallbackRecentNews = async (): Promise<NewsData[]> => {\n return new Promise(async resolve => {\n this.news = await this.getNewsCallback();\n resolve(this.news);\n });\n };\n\n #openKbHandler = async (e: MouseEvent) => {\n const kbId = (e.target as HTMLElement).id;\n await this.openKbCallback(kbId);\n };\n\n #renderKb = (kb: RecentKBData): HTMLButtonElement | null => {\n const formattedDate = formatDate(kb.lastOpenedDate, \"pretty\");\n const dateCaption = formattedDate\n ? `${this._componentLocale.recentKbs.lastOpened} ${formattedDate}`\n : null;\n return (\n <article class=\"display-contents\">\n <button\n class={{\n \"card-small\": true,\n \"card-small--actionable\": true,\n \"card-kb\": true,\n \"exact-match-bright\":\n kb.name?.toLocaleLowerCase() ===\n this.#kbsFilterValue?.toLowerCase()\n }}\n id={kb.id}\n key={kb.id}\n type=\"button\"\n onClick={this.#openKbHandler}\n >\n <div class=\"card-kb__left-col\">\n <ch-image src={KB_ICON} class=\"icon-md\"></ch-image>\n <h2 class={config.headingsClasses.cardSmall}>\n {hiChar(kb.name, this.#kbsFilterValue)}\n </h2>\n </div>\n {dateCaption && <div class=\"card-kb__right-col\">{dateCaption}</div>}\n </button>\n </article>\n );\n };\n\n #renderKbs = () => {\n if (this.filteredKbs.length) {\n return (\n <div class=\"kbs-container scrollable\">\n {this.filteredKbs?.map(this.#renderKb)}\n </div>\n );\n }\n return (\n <gx-ide-empty-state\n stateIconSrc={KB_ICON}\n stateTitle={this._componentLocale.recentKbs.noKbsFiltered.title}\n ></gx-ide-empty-state>\n );\n };\n\n #searchKbsInputHandler = (event: Event | ChEditCustomEvent<InputEvent>) => {\n this.#kbsFilterValue = (\n event as ChEditCustomEvent<InputEvent>\n ).target.value.toLowerCase();\n this.#filterKbs();\n };\n\n #searchNewsInputHandler = (event: Event | ChEditCustomEvent<InputEvent>) => {\n this.newsFilterValue = (\n event as ChEditCustomEvent<InputEvent>\n ).target.value.toLowerCase();\n };\n\n render() {\n return (\n <Host class=\"start-page-host\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"layout layout-main layout--cols-2\">\n <div class=\"layout__panel panel-recent-kbs\">\n <section class=\"card-regular recent-kbs\">\n <header class=\"recent-kbs__header\">\n <h2\n class={{\n [config.headingsClasses.cardRegular]: true,\n \"recent-kbs__title\": true\n }}\n >\n {this._componentLocale.recentKbs.title}\n </h2>\n {this.displayKbsFilter && (\n <ch-edit\n type=\"text\"\n class=\"form-input recent-kbs__name-filter\"\n placeholder={this._componentLocale.recentKbs.placeholder}\n onInput={this.#searchKbsInputHandler}\n ref={el =>\n (this.#recentKbsFilter = el as HTMLChEditElement)\n }\n disabled={!(this.kbs?.length > 0)}\n ></ch-edit>\n )}\n </header>\n\n {this.loadingKbs ? (\n <gx-ide-loader\n loaderTitle={this._componentLocale.recentKbs.loader.title}\n description={\n this._componentLocale.recentKbs.loader.description\n }\n show={true}\n ></gx-ide-loader>\n ) : (\n this.#evaluateRenderKbs()\n )}\n </section>\n </div>\n\n <div class=\"layout__panel panel-recent-news\">\n <section class=\"card-regular recent-news\">\n <header class=\"recent-news__header\">\n <h2 class={config.headingsClasses.cardRegular}>\n {this._componentLocale.recentNews.title}\n </h2>\n {this.displayNewsFilter && (\n <ch-edit\n type=\"text\"\n class=\"form-input recent-news__filter\"\n placeholder={\n this._componentLocale.recentNews.inputPlaceholder\n }\n onInput={\n this.news?.length > 0\n ? this.#searchNewsInputHandler\n : null\n }\n disabled={!(this.news?.length > 0)}\n ></ch-edit>\n )}\n </header>\n\n <gx-ide-recent-news\n getNewsCallback={this.#getNewsCallbackRecentNews}\n openNewsCallback={this.openNewsCallback}\n filterValue={this.newsFilterValue}\n ></gx-ide-recent-news>\n </section>\n </div>\n </div>\n </Host>\n );\n }\n}\n\nexport type OpenKbCallback = (id: string) => Promise<void>;\nexport type GetNewsCallback = () => Promise<NewsData[]>;\nexport type OpenNewsCallback = (id: string) => Promise<void>;\n\nexport type RecentKBData = {\n id: string;\n name: string;\n lastOpenedDate?: Date;\n};\nexport type NewsData = {\n id: string;\n title: string;\n body: string;\n};\n"],"version":3}
@@ -8,7 +8,7 @@ const config = require('./config-7499aff7.js');
8
8
  const renderComboItems = require('./render-combo-items-9d83241b.js');
9
9
  const helpers = require('./helpers-be14ea67.js');
10
10
 
11
- const commitCss = ":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)}.button-primary-destructive{--control__border-color:var(--button-primary__border-color--destructive);background-color:var(--button-primary__bg-color--destructive);color:var(--button-primary__color--destructive)}.button-primary-destructive:hover{--control__border-color:var(\n --button-primary__bg-color--destructive-hover\n );background-color:var(--button-primary__bg-color--destructive-hover);color:var(--button-primary__color--destructive)}.button-primary-destructive:active{--control__border-color:var(\n --button-primary__bg-color--destructive-active\n );background-color:var(--button-primary__bg-color--destructive-active);color:var(--button-primary__color--destructive)}.button-secondary-destructive{--control__border-color:var(--button-secondary__border-color--destructive);background-color:var(--button-secondary__bg-color--destructive);color:var(--button-secondary__color--destructive)}.button-secondary-destructive:hover{--control__border-color:var(\n --button-secondary__bg-color--destructive-hover\n );background-color:var(--button-secondary__bg-color--destructive-hover);color:var(--button-secondary__color--destructive)}.button-secondary-destructive:active{--control__border-color:var(\n --button-secondary__bg-color--destructive-active\n );background-color:var(--button-secondary__bg-color--destructive-active);color:var(--button-secondary__color--destructive)}: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}.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)}.button-primary-destructive{--control__border-color:var(--button-primary__border-color--destructive);background-color:var(--button-primary__bg-color--destructive);color:var(--button-primary__color--destructive)}.button-primary-destructive:hover{--control__border-color:var(\n --button-primary__bg-color--destructive-hover\n );background-color:var(--button-primary__bg-color--destructive-hover);color:var(--button-primary__color--destructive)}.button-primary-destructive:active{--control__border-color:var(\n --button-primary__bg-color--destructive-active\n );background-color:var(--button-primary__bg-color--destructive-active);color:var(--button-primary__color--destructive)}.button-secondary-destructive{--control__border-color:var(--button-secondary__border-color--destructive);background-color:var(--button-secondary__bg-color--destructive);color:var(--button-secondary__color--destructive)}.button-secondary-destructive:hover{--control__border-color:var(\n --button-secondary__bg-color--destructive-hover\n );background-color:var(--button-secondary__bg-color--destructive-hover);color:var(--button-secondary__color--destructive)}.button-secondary-destructive:active{--control__border-color:var(\n --button-secondary__bg-color--destructive-active\n );background-color:var(--button-secondary__bg-color--destructive-active);color:var(--button-secondary__color--destructive)}: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 commitCss = ":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}.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}";
12
12
 
13
13
  const CSS_BUNDLES = [
14
14
  "resets/box-sizing",
@@ -1 +1 @@
1
- {"file":"gx-ide-team-dev-commit.entry.cjs.js","mappings":"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","names":["h","config","formatDate","Locale","Host","renderComboItems"],"sources":["src/components/team-dev/commit/commit.scss?tag=gx-ide-team-dev-commit&encapsulation=shadow","src/components/team-dev/commit/commit.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-common.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n@import \"../../../../node_modules/@genexus/mercury/dist/mercury.scss\";\n\n:host {\n display: block;\n}\n/*--- Header ---*/\n.header {\n border-top: 1px solid var(--gx-ide-container-border-color);\n display: flex;\n flex-direction: column;\n > * {\n padding: var(--gx-ide-container__padding);\n }\n &__first-row {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n margin-bottom: -3px;\n .commit-label {\n flex: none;\n }\n .commit-textarea {\n flex: none;\n }\n &__right-col {\n display: flex;\n align-items: center;\n gap: var(--gx-ide-grid-column-gap);\n }\n }\n &__second-row {\n padding: 0 var(--gx-ide-container__padding) var(--gx-ide-container__padding)\n var(--gx-ide-container__padding);\n }\n .filters-outer-wrapper {\n display: grid;\n padding: 0;\n grid-template-rows: 1fr;\n transition: grid-template-rows 200ms;\n border-bottom: 1px solid var(--gx-ide-container-border-color);\n &--hidden {\n grid-template-rows: 0fr;\n }\n }\n .filters-inner-wrapper {\n overflow: hidden;\n }\n &__third-row {\n padding: 0 var(--gx-ide-container__padding) var(--gx-ide-container__padding)\n var(--gx-ide-container__padding);\n display: grid;\n column-gap: var(--gx-ide-grid-column-gap);\n row-gap: var(--gx-ide-grid-row-gap);\n grid-template-columns: auto 1fr auto 1fr;\n grid-template-areas:\n \"pattern-label pattern-form-text pattern-form-text pattern-form-text\"\n \"changeset-label changeset-combo type-label type-combo\"\n \"folder-label folder-combo category-label category-combo\";\n\n .pattern-label {\n grid-area: pattern-label;\n }\n .pattern-form-text {\n grid-area: pattern-form-text;\n }\n .changeset-label {\n grid-area: changeset-label;\n }\n .changeset-combo {\n grid-area: changeset-combo;\n }\n .type-label {\n grid-area: type-label;\n }\n .type-combo {\n grid-area: type-combo;\n }\n .folder-label {\n grid-area: folder-label;\n }\n .folder-combo {\n grid-area: folder-combo;\n }\n .category-label {\n grid-area: category-label;\n }\n .category-combo {\n grid-area: category-combo;\n }\n }\n}\n/*--- Main ---*/\n.main {\n height: 100%;\n}\n.grid-container {\n padding: 0;\n}\nch-grid {\n height: auto;\n}\n\ngxg-tab::part(container) {\n line-height: unset;\n}\n\n.tabular-grid {\n block-size: 100%;\n}\n\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid-td-commit\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-apply-ellipsis: true,\n $tabular-grid-affected-columns-nth-list: (\n 6\n )\n);\n\n/*--- WA to be removed after gx-ide-container is removed ---*/\ngx-ide-container::part(content) {\n overflow: hidden;\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n Method,\n State\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport {\n TabularGridMarkingChangedEvent,\n TabularGridRowContextMenuEvent,\n TabularGridSelectionChangedEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../../common/locale\";\nimport { config } from \"../../../common/config\";\nimport {\n GxOption,\n ObjectState,\n ContextMenuInfo,\n ObjectType,\n ItemsCheckedState,\n ItemsCheckedResult\n} from \"../../../common/types\";\nimport { renderComboItems } from \"../../../common/render-combo-items\";\nimport { formatDate } from \"../../../common/helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"components/button\",\n \"components/checkbox\",\n \"components/edit\",\n \"components/tabular-grid\"\n];\n@Component({\n tag: \"gx-ide-team-dev-commit\",\n styleUrl: \"commit.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-commit\"]\n})\nexport class GxIdeTeamDevCommit {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private loadDataCalledFirstTime = false; // pending commits grid checkboxes, should be checked, after loadData has loaded commits for the first time.\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeTeamDevCommitElement;\n\n // filters\n private patternEl!: HTMLGxgFormTextElement;\n private changeSetEl!: HTMLGxgComboBoxElement;\n private typesEl!: HTMLGxgComboBoxElement;\n private foldersEl!: HTMLGxgComboBoxElement;\n private categoriesEl!: HTMLGxgComboBoxElement;\n // other\n private chGridPendingCommitsEl!: HTMLChGridElement;\n private chGridIgnoredObjectsEl!: HTMLChGridElement;\n private commitCommentEl!: HTMLGxgFormTextareaElement;\n\n // 3.STATE() VARIABLES //\n\n @State() filtersHidden = true;\n @State() comment = \"\";\n @State() pendingCommits: ModifiedObjectData[] = [];\n @State() ignoredObjects: ModifiedObjectData[] = [];\n @State() commitButtonEnabled = false;\n @State() filterHasConditions = false;\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Possible values for ChangeSet filter\n */\n @Prop() readonly changeSet: GxOption[];\n\n /**\n * Possible values for Type filter\n */\n @Prop() readonly types: ObjectType[];\n\n /**\n * Possible values for Folders filter\n */\n @Prop() readonly folders: GxOption[];\n\n /**\n * Possible values for Categories filter\n */\n @Prop() readonly categories: GxOption[];\n\n /**\n * Callback invoked when user press Recent Comments button.\n */\n @Prop() readonly getRecentCommentCallback: GetRecentComment;\n\n /**\n * Callback invoked when user wants to reload the grid\n */\n @Prop() readonly loadCallback: LoadCallback;\n\n /**\n * Callback invoked when user starts the commit process\n */\n @Prop() readonly commitCallback: CommitCallback;\n\n /**\n * Callback that should be invoked when the user selects rows from the grids\n */\n @Prop() readonly selectCallback: CommitSelectCallback;\n\n /**\n * Callback invoked when user check/uncheck any item from the 'Pending to Commit' grid\n */\n @Prop() readonly pendingItemsCheckedCallback!: PendingItemsCheckedCallback;\n\n /**\n * Callback that must be invoked when user activate the context menu in any of the grids\n */\n @Prop() readonly objectsContextMenuCallback: ObjectsContextMenuCallback;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n async componentDidLoad() {\n await this.loadData();\n this.loadDataCalledFirstTime = true;\n this.componentDidLoadEvent.emit(true);\n this.conditionToCommit();\n this.commitCommentEl.focus();\n }\n\n async componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n\n if (this.loadDataCalledFirstTime) {\n // call this method only once\n await this.markAllPendingCommitsRows();\n // attach \"rowMarkingChanged\" after rows have been checked for the first time.\n this.chGridPendingCommitsEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingCommitsRowMarkingChangedHandler\n );\n this.loadDataCalledFirstTime = false;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n /**\n * The method used by the Host to instruct the component to force a data refresh in the grids.\n */\n @Method()\n async reload(): Promise<void> {\n this.loadData();\n }\n\n // 9.LOCAL METHODS //\n\n private conditionToCommit = async () => {\n const commitComment = !!this.commitCommentEl.value.length;\n const pendingChecked = await this.chGridPendingCommitsEl.getMarkedRows();\n if (commitComment && pendingChecked.length > 0) {\n this.commitButtonEnabled = true;\n } else {\n this.commitButtonEnabled = false;\n }\n };\n\n private markAllPendingCommitsRows = () => {\n this.chGridPendingCommitsEl.markAllRows();\n };\n\n private togglePendingCommitsCheckboxes = async (\n itemsToToggle: ItemsCheckedResult\n ) => {\n if (this.chGridPendingCommitsEl) {\n const itemsToCheck: string[] = itemsToToggle.itemsToCheck;\n const itemsToUncheck: string[] = itemsToToggle.itemsToUncheck;\n // check\n for (const rowId of itemsToCheck) {\n await this.chGridPendingCommitsEl.markRow(rowId, true);\n }\n // uncheck\n for (const rowId of itemsToUncheck) {\n await this.chGridPendingCommitsEl.markRow(rowId, false);\n }\n }\n };\n\n private revertPendingCommitsCheckboxes = async (\n addedRowsIds: string[],\n removedRowsId: string[]\n ) => {\n if (this.chGridPendingCommitsEl) {\n for (const rowId of addedRowsIds) {\n await this.chGridPendingCommitsEl.markRow(rowId, false);\n }\n for (const rowId of removedRowsId) {\n await this.chGridPendingCommitsEl.markRow(rowId, true);\n }\n }\n };\n\n private renderIconState = (state: ObjectState): HTMLChImageElement => {\n let icon: string;\n switch (state) {\n case \"inserted\":\n icon = \"gx-server/new\";\n break;\n case \"modified\":\n icon = \"gx-server/changes-commit-pending\";\n break;\n case \"deleted\":\n icon = \"gx-server/delete\";\n break;\n case \"conflicted\":\n icon = \"gx-server/conflict\";\n break;\n }\n return <ch-image src={icon} class=\"icon-md\"></ch-image>;\n };\n\n private pendingCommitsRowMarkingChangedHandler = async (\n e: CustomEvent<TabularGridMarkingChangedEvent>\n ): Promise<void> => {\n // remove \"rowMarkingChanged\" until checkboxes have been added/removed on togglePendingCommitsCheckboxes, to prevent loops.\n this.chGridPendingCommitsEl.removeEventListener(\n \"rowMarkingChanged\",\n this.pendingCommitsRowMarkingChangedHandler\n );\n if (this.chGridPendingCommitsEl) {\n const addedRowsIds = e.detail.addedRowsId;\n const removedRowsId = e.detail.removedRowsId;\n const pendingItemCheckedResult = await this.pendingItemsCheckedCallback({\n itemsChecked: addedRowsIds,\n itemsUnchecked: removedRowsId\n });\n if (pendingItemCheckedResult === undefined) {\n // undo check/uncheck\n await this.revertPendingCommitsCheckboxes(addedRowsIds, removedRowsId);\n } else {\n await this.togglePendingCommitsCheckboxes(pendingItemCheckedResult);\n }\n this.conditionToCommit();\n this.chGridPendingCommitsEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingCommitsRowMarkingChangedHandler\n );\n }\n };\n\n private objectsOnContextMenuCallbackHandler =\n (grid: CommitSourceType) =>\n async (ev: CustomEvent<TabularGridRowContextMenuEvent>) => {\n ev.preventDefault();\n ev.stopPropagation();\n let selection: string[] = [];\n if (grid === \"commit\") {\n selection = ev.detail.selectedRowsId;\n } else if (grid === \"ignored\") {\n selection = await this.chGridIgnoredObjectsEl.getSelectedRows();\n }\n if (this.objectsContextMenuCallback) {\n await this.objectsContextMenuCallback(grid, {\n selection: selection,\n clientX: ev.detail.clientX,\n clientY: ev.detail.clientY\n });\n }\n };\n\n private gridOnSelectionChangedCallbackHandler =\n (grid: CommitSourceType) =>\n async (ev: CustomEvent<TabularGridSelectionChangedEvent>) => {\n if (this.selectCallback) {\n await this.selectCallback(grid, ev.detail.rowsId);\n }\n };\n\n /* pending commits grid render*/\n private renderPendingCommitsGrid = (): Element => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid tabular-grid-td-commit\"\n rowSelectionMode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.chGridPendingCommitsEl = el)\n }\n part=\"ch-grid-pending-commits\"\n onRowContextMenu={this.objectsOnContextMenuCallbackHandler(\"commit\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"commit\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnType=\"rich\"\n richRowSelector\n richRowSelectorMode=\"mark\"\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"State\"\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n sortable\n columnName=\"Name\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n sortable\n columnName=\"Type\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Description\"\n settingable={false}\n size={config.tabularGrid.colSize.commonDouble}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n sortable\n columnName=\"Modified On\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Module\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Local State\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Last Synchronized\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n sortable\n columnName=\"User\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {this.pendingCommits.map((obj: ModifiedObjectData) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell\n cell-type=\"rich\"\n row-selector\n class=\"tabular-grid-cell\"\n ></ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconState(obj.state)}\n </ch-tabular-grid-cell>\n\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.iconType} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.type}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.modifiedOn)}`}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.module}\n </ch-tabular-grid-cell>\n\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.localState}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.lastSynchronized)}`}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.user}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n /* ignored objects grid render*/\n private renderIgnoredObjectsGrid = (): Element => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid\"\n rowSelectionMode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.chGridIgnoredObjectsEl = el)\n }\n part=\"ch-grid-pending-commits\"\n onRowContextMenu={this.objectsOnContextMenuCallbackHandler(\"ignored\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"ignored\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"TypeIcon\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Name\"\n settingable={false}\n sortable\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Type\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Description\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Modified On\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Module\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Local State\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Last Synchronized\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"User\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {this.ignoredObjects.map((obj: ModifiedObjectData) => (\n <ch-tabular-grid-row rowid={obj.id} selected class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconState(obj.state)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.iconType} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.type}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.modifiedOn)}`}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.module}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.localState}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.lastSynchronized)}`}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.user}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private getRecentCommentHandler = async () => {\n if (this.getRecentCommentCallback) {\n const response = await this.getRecentCommentCallback();\n if (response) {\n this.comment = response;\n }\n }\n };\n\n private commitCallbackHandler = async () => {\n const commitCommentEl = this.commitCommentEl.value;\n this.chGridPendingCommitsEl\n .getMarkedRows()\n .then(async pendingCommitsCheckedIds => {\n await this.commitCallback(pendingCommitsCheckedIds, commitCommentEl);\n /* returns boolean*/\n });\n };\n\n private loadData = async (): Promise<void> => {\n const filtersData: FiltersData = {\n pattern: this.patternEl.value,\n changeSet: this.changeSetEl.value,\n folder: this.foldersEl.value,\n category: this.categoriesEl.value,\n type: this.typesEl.value\n };\n\n this.evaluateFilterConditions();\n\n // this.pendingCommits = null;\n // this.ignoredObjects = null;\n\n return await this.loadCallback(filtersData).then(\n async ({ pending, ignored }) => {\n this.pendingCommits = pending;\n this.ignoredObjects = ignored;\n }\n );\n };\n\n private toggleFiltersHandler = () => {\n this.filtersHidden = !this.filtersHidden;\n };\n\n private evaluateFilterConditions = () => {\n if (\n this.patternEl.value ||\n this.changeSetEl.value ||\n this.typesEl.value ||\n this.foldersEl.value ||\n this.categoriesEl.value\n ) {\n this.filterHasConditions = true;\n } else {\n this.filterHasConditions = false;\n }\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n noHeadingPadding\n headingPaddingTop\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n noHeadingBorder\n >\n <div class=\"header\" slot=\"header\">\n <div class=\"header__first-row\">\n <div class=\"header__first-row__left-col\">\n <gxg-label\n part=\"commit-label\"\n labelPosition=\"start\"\n class=\"commit-label\"\n noMargin\n >\n {this._componentLocale.header.commentLabel}\n </gxg-label>\n </div>\n <div class=\"header__first-row__right-col\">\n {/* filter button*/}\n <gxg-button\n onClick={this.toggleFiltersHandler}\n type=\"secondary-icon-only\"\n icon={\n this.filterHasConditions\n ? \"window-tools/filter-conditions\"\n : \"window-tools/filter\"\n }\n part=\"gxg-button gxg-button--show-filter\"\n class=\"filter-btn\"\n ></gxg-button>\n\n {/* reset button*/}\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/reset\"\n onClick={this.loadData}\n part=\"gxg-button gxg-button--reload\"\n class=\"reset-btn\"\n ></gxg-button>\n\n {/* recen comments button*/}\n <gxg-button\n class=\"header-button\"\n type=\"outlined\"\n part=\"location\"\n onClick={this.getRecentCommentHandler}\n >\n {this._componentLocale.header.recentCommentsButton}\n </gxg-button>\n </div>\n </div>\n <div class=\"header__second-row\">\n {/* commit comment textarea*/}\n <gxg-form-textarea\n height=\"90px\"\n value={this.comment}\n ref={(el: HTMLGxgFormTextareaElement) =>\n (this.commitCommentEl = el)\n }\n singleLine\n onInput={this.conditionToCommit}\n placeholder={this._componentLocale.header.commentPlaceholder}\n part=\"comment\"\n class=\"commit-textarea\"\n ></gxg-form-textarea>\n </div>\n <div\n class={{\n \"filters-outer-wrapper\": true,\n \"filters-outer-wrapper--hidden\": this.filtersHidden\n }}\n >\n <div\n class={{\n \"filters-inner-wrapper\": true\n }}\n >\n <div\n class={{\n \"header__third-row\": true\n }}\n >\n {/* pattern*/}\n <gxg-label\n part=\"pattern-label\"\n labelPosition=\"start\"\n class=\"pattern-label\"\n noMargin\n >\n {this._componentLocale.filtersMenu.patternLabel}\n </gxg-label>\n <gxg-form-text\n disable-filter\n value=\"\"\n ref={(el: HTMLGxgFormTextElement) =>\n (this.patternEl = el as HTMLGxgFormTextElement)\n }\n display-validation-styles\n display-validation-message\n part=\"pattern-form-text\"\n class=\"pattern-form-text\"\n onInput={this.loadData}\n ></gxg-form-text>\n\n {/* changeset */}\n <gxg-label\n part=\"changeset-label\"\n labelPosition=\"start\"\n class=\"changeset-label\"\n noMargin\n >\n {this._componentLocale.filtersMenu.changesetLabel}\n </gxg-label>\n <gxg-combo-box\n value={this.changeSet[0][\"id\"]}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.changeSetEl = el as HTMLGxgComboBoxElement)\n }\n part=\"changeset-combo\"\n class=\"changeset-combo\"\n display-validation-styles\n display-validation-message\n onValueChanged={this.loadData}\n >\n {renderComboItems(this.changeSet)}\n </gxg-combo-box>\n\n {/* type */}\n <gxg-label\n part=\"type-label\"\n labelPosition=\"start\"\n class=\"type-label\"\n noMargin\n >\n {this._componentLocale.filtersMenu.typeLabel}\n </gxg-label>\n <gxg-combo-box\n labelPosition=\"start\"\n value={this.types[0][\"id\"]}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.typesEl = el as HTMLGxgComboBoxElement)\n }\n part=\"type-combo\"\n class=\"type-combo\"\n onValueChanged={this.loadData}\n >\n {renderComboItems(this.types)}\n </gxg-combo-box>\n\n {/* folder */}\n <gxg-label\n part=\"folder-label\"\n labelPosition=\"start\"\n class=\"folder-label\"\n noMargin\n >\n {this._componentLocale.filtersMenu.folderLabel}\n </gxg-label>\n <gxg-combo-box\n value={this.folders[0][\"id\"]}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.foldersEl = el as HTMLGxgComboBoxElement)\n }\n part=\"folder-combo\"\n display-validation-styles\n display-validation-message\n onValueChanged={this.loadData}\n >\n {renderComboItems(this.folders)}\n </gxg-combo-box>\n\n {/* category */}\n <gxg-label\n part=\"category-label\"\n labelPosition=\"start\"\n class=\"category-label\"\n noMargin\n >\n {this._componentLocale.filtersMenu.categoryLabel}\n </gxg-label>\n <gxg-combo-box\n value={this.categories[0][\"id\"]}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.categoriesEl = el as HTMLGxgComboBoxElement)\n }\n part=\"category-combo\"\n class=\"category-combo\"\n onValueChanged={this.loadData}\n >\n {renderComboItems(this.categories)}\n </gxg-combo-box>\n </div>\n </div>\n </div>\n </div>\n <main class=\"main\">\n <gx-ide-container noContentPadding class=\"grid-container\">\n <div class=\"tabs-container gxi-full-height\">\n <gxg-tabs class=\"gxg-tabs\">\n <gxg-tab-bar slot=\"tab-bar-container\" displayBorder>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={`${this._componentLocale.tabs.pendingCommits} (${this.pendingCommits.length})`}\n tab=\"pending-commits\"\n is-selected\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={`${this._componentLocale.tabs.ignoredObjects} (${this.ignoredObjects.length})`}\n tab=\"ignored-objects\"\n ></gxg-tab-button>\n </gxg-tab-bar>\n <gxg-tab tab=\"pending-commits\" no-padding flex>\n {this.renderPendingCommitsGrid()}\n </gxg-tab>\n <gxg-tab tab=\"ignored-objects\" no-padding flex>\n {this.renderIgnoredObjectsGrid()}\n </gxg-tab>\n </gxg-tabs>\n </div>\n </gx-ide-container>\n </main>\n\n {/* footer */}\n <gxg-button\n slot=\"footer-end\"\n type=\"primary-text-only\"\n onClick={this.commitCallbackHandler}\n part=\"commit-button\"\n disabled={!this.commitButtonEnabled}\n >\n {this._componentLocale.footer.commitButton}\n </gxg-button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type GetRecentComment = () => Promise<string | undefined>;\n\nexport type LoadCallback = (filters: FiltersData) => Promise<CommitData>;\n\nexport type CommitCallback = (\n selection: string[],\n commitCommentEl: string\n) => Promise<boolean>;\n\nexport type PendingItemsCheckedCallback = (\n pendingItemsCheckedState: ItemsCheckedState\n) => Promise<ItemsCheckedResult | undefined>;\n\nexport type CommitSelectCallback = (\n grid: CommitSourceType,\n selectionIds: string[]\n) => Promise<void>;\n\nexport type ItemCheckedCallback = (\n checkedItemIds: string[]\n) => Promise<ItemsCheckedResult | undefined>;\n\nexport type ObjectsContextMenuCallback = (\n grid: CommitSourceType,\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\n\nexport type CommitSourceType = \"commit\" | \"ignored\";\n\nexport type CommitData = {\n pending: ModifiedObjectData[];\n ignored: ModifiedObjectData[];\n};\n\nexport type ModifiedObjectData = {\n id: string;\n name: string;\n iconType: string;\n state: ObjectState;\n type: string;\n description: string;\n modifiedOn: Date;\n module: string;\n localState: ObjectState;\n lastSynchronized: Date;\n user: string;\n};\n\nexport type FiltersData = {\n pattern: string;\n changeSet: string;\n type: string;\n folder: string;\n category: string;\n};\n"],"version":3}
1
+ {"file":"gx-ide-team-dev-commit.entry.cjs.js","mappings":"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","names":["h","config","formatDate","Locale","Host","renderComboItems"],"sources":["src/components/team-dev/commit/commit.scss?tag=gx-ide-team-dev-commit&encapsulation=shadow","src/components/team-dev/commit/commit.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-common.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n@import \"../../../../node_modules/@genexus/mercury/dist/mercury.scss\";\n\n:host {\n display: block;\n}\n/*--- Header ---*/\n.header {\n border-top: 1px solid var(--gx-ide-container-border-color);\n display: flex;\n flex-direction: column;\n > * {\n padding: var(--gx-ide-container__padding);\n }\n &__first-row {\n display: flex;\n flex-direction: row;\n justify-content: space-between;\n align-items: center;\n margin-bottom: -3px;\n .commit-label {\n flex: none;\n }\n .commit-textarea {\n flex: none;\n }\n &__right-col {\n display: flex;\n align-items: center;\n gap: var(--gx-ide-grid-column-gap);\n }\n }\n &__second-row {\n padding: 0 var(--gx-ide-container__padding) var(--gx-ide-container__padding)\n var(--gx-ide-container__padding);\n }\n .filters-outer-wrapper {\n display: grid;\n padding: 0;\n grid-template-rows: 1fr;\n transition: grid-template-rows 200ms;\n border-bottom: 1px solid var(--gx-ide-container-border-color);\n &--hidden {\n grid-template-rows: 0fr;\n }\n }\n .filters-inner-wrapper {\n overflow: hidden;\n }\n &__third-row {\n padding: 0 var(--gx-ide-container__padding) var(--gx-ide-container__padding)\n var(--gx-ide-container__padding);\n display: grid;\n column-gap: var(--gx-ide-grid-column-gap);\n row-gap: var(--gx-ide-grid-row-gap);\n grid-template-columns: auto 1fr auto 1fr;\n grid-template-areas:\n \"pattern-label pattern-form-text pattern-form-text pattern-form-text\"\n \"changeset-label changeset-combo type-label type-combo\"\n \"folder-label folder-combo category-label category-combo\";\n\n .pattern-label {\n grid-area: pattern-label;\n }\n .pattern-form-text {\n grid-area: pattern-form-text;\n }\n .changeset-label {\n grid-area: changeset-label;\n }\n .changeset-combo {\n grid-area: changeset-combo;\n }\n .type-label {\n grid-area: type-label;\n }\n .type-combo {\n grid-area: type-combo;\n }\n .folder-label {\n grid-area: folder-label;\n }\n .folder-combo {\n grid-area: folder-combo;\n }\n .category-label {\n grid-area: category-label;\n }\n .category-combo {\n grid-area: category-combo;\n }\n }\n}\n/*--- Main ---*/\n.main {\n height: 100%;\n}\n.grid-container {\n padding: 0;\n}\nch-grid {\n height: auto;\n}\n\ngxg-tab::part(container) {\n line-height: unset;\n}\n\n.tabular-grid {\n block-size: 100%;\n}\n\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid-td-commit\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-apply-ellipsis: true,\n $tabular-grid-affected-columns-nth-list: (\n 6\n )\n);\n\n/*--- WA to be removed after gx-ide-container is removed ---*/\ngx-ide-container::part(content) {\n overflow: hidden;\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n Method,\n State\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport {\n TabularGridMarkingChangedEvent,\n TabularGridRowContextMenuEvent,\n TabularGridSelectionChangedEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../../common/locale\";\nimport { config } from \"../../../common/config\";\nimport {\n GxOption,\n ObjectState,\n ContextMenuInfo,\n ObjectType,\n ItemsCheckedState,\n ItemsCheckedResult\n} from \"../../../common/types\";\nimport { renderComboItems } from \"../../../common/render-combo-items\";\nimport { formatDate } from \"../../../common/helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"components/button\",\n \"components/checkbox\",\n \"components/edit\",\n \"components/tabular-grid\"\n];\n@Component({\n tag: \"gx-ide-team-dev-commit\",\n styleUrl: \"commit.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-commit\"]\n})\nexport class GxIdeTeamDevCommit {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private loadDataCalledFirstTime = false; // pending commits grid checkboxes, should be checked, after loadData has loaded commits for the first time.\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeTeamDevCommitElement;\n\n // filters\n private patternEl!: HTMLGxgFormTextElement;\n private changeSetEl!: HTMLGxgComboBoxElement;\n private typesEl!: HTMLGxgComboBoxElement;\n private foldersEl!: HTMLGxgComboBoxElement;\n private categoriesEl!: HTMLGxgComboBoxElement;\n // other\n private chGridPendingCommitsEl!: HTMLChGridElement;\n private chGridIgnoredObjectsEl!: HTMLChGridElement;\n private commitCommentEl!: HTMLGxgFormTextareaElement;\n\n // 3.STATE() VARIABLES //\n\n @State() filtersHidden = true;\n @State() comment = \"\";\n @State() pendingCommits: ModifiedObjectData[] = [];\n @State() ignoredObjects: ModifiedObjectData[] = [];\n @State() commitButtonEnabled = false;\n @State() filterHasConditions = false;\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Possible values for ChangeSet filter\n */\n @Prop() readonly changeSet: GxOption[];\n\n /**\n * Possible values for Type filter\n */\n @Prop() readonly types: ObjectType[];\n\n /**\n * Possible values for Folders filter\n */\n @Prop() readonly folders: GxOption[];\n\n /**\n * Possible values for Categories filter\n */\n @Prop() readonly categories: GxOption[];\n\n /**\n * Callback invoked when user press Recent Comments button.\n */\n @Prop() readonly getRecentCommentCallback: GetRecentComment;\n\n /**\n * Callback invoked when user wants to reload the grid\n */\n @Prop() readonly loadCallback: LoadCallback;\n\n /**\n * Callback invoked when user starts the commit process\n */\n @Prop() readonly commitCallback: CommitCallback;\n\n /**\n * Callback that should be invoked when the user selects rows from the grids\n */\n @Prop() readonly selectCallback: CommitSelectCallback;\n\n /**\n * Callback invoked when user check/uncheck any item from the 'Pending to Commit' grid\n */\n @Prop() readonly pendingItemsCheckedCallback!: PendingItemsCheckedCallback;\n\n /**\n * Callback that must be invoked when user activate the context menu in any of the grids\n */\n @Prop() readonly objectsContextMenuCallback: ObjectsContextMenuCallback;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n async componentDidLoad() {\n await this.loadData();\n this.loadDataCalledFirstTime = true;\n this.componentDidLoadEvent.emit(true);\n this.conditionToCommit();\n this.commitCommentEl.focus();\n }\n\n async componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n\n if (this.loadDataCalledFirstTime) {\n // call this method only once\n await this.markAllPendingCommitsRows();\n // attach \"rowMarkingChanged\" after rows have been checked for the first time.\n this.chGridPendingCommitsEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingCommitsRowMarkingChangedHandler\n );\n this.loadDataCalledFirstTime = false;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n /**\n * The method used by the Host to instruct the component to force a data refresh in the grids.\n */\n @Method()\n async reload(): Promise<void> {\n this.loadData();\n }\n\n // 9.LOCAL METHODS //\n\n private conditionToCommit = async () => {\n const commitComment = !!this.commitCommentEl.value.length;\n const pendingChecked = await this.chGridPendingCommitsEl.getMarkedRows();\n if (commitComment && pendingChecked.length > 0) {\n this.commitButtonEnabled = true;\n } else {\n this.commitButtonEnabled = false;\n }\n };\n\n private markAllPendingCommitsRows = () => {\n this.chGridPendingCommitsEl.markAllRows();\n };\n\n private togglePendingCommitsCheckboxes = async (\n itemsToToggle: ItemsCheckedResult\n ) => {\n if (this.chGridPendingCommitsEl) {\n const itemsToCheck: string[] = itemsToToggle.itemsToCheck;\n const itemsToUncheck: string[] = itemsToToggle.itemsToUncheck;\n // check\n for (const rowId of itemsToCheck) {\n await this.chGridPendingCommitsEl.markRow(rowId, true);\n }\n // uncheck\n for (const rowId of itemsToUncheck) {\n await this.chGridPendingCommitsEl.markRow(rowId, false);\n }\n }\n };\n\n private revertPendingCommitsCheckboxes = async (\n addedRowsIds: string[],\n removedRowsId: string[]\n ) => {\n if (this.chGridPendingCommitsEl) {\n for (const rowId of addedRowsIds) {\n await this.chGridPendingCommitsEl.markRow(rowId, false);\n }\n for (const rowId of removedRowsId) {\n await this.chGridPendingCommitsEl.markRow(rowId, true);\n }\n }\n };\n\n private renderIconState = (state: ObjectState): HTMLChImageElement => {\n let icon: string;\n switch (state) {\n case \"inserted\":\n icon = \"gx-server/new\";\n break;\n case \"modified\":\n icon = \"gx-server/changes-commit-pending\";\n break;\n case \"deleted\":\n icon = \"gx-server/delete\";\n break;\n case \"conflicted\":\n icon = \"gx-server/conflict\";\n break;\n }\n return <ch-image src={icon} class=\"icon-md\"></ch-image>;\n };\n\n private pendingCommitsRowMarkingChangedHandler = async (\n e: CustomEvent<TabularGridMarkingChangedEvent>\n ): Promise<void> => {\n // remove \"rowMarkingChanged\" until checkboxes have been added/removed on togglePendingCommitsCheckboxes, to prevent loops.\n this.chGridPendingCommitsEl.removeEventListener(\n \"rowMarkingChanged\",\n this.pendingCommitsRowMarkingChangedHandler\n );\n if (this.chGridPendingCommitsEl) {\n const addedRowsIds = e.detail.addedRowsId;\n const removedRowsId = e.detail.removedRowsId;\n const pendingItemCheckedResult = await this.pendingItemsCheckedCallback({\n itemsChecked: addedRowsIds,\n itemsUnchecked: removedRowsId\n });\n if (pendingItemCheckedResult === undefined) {\n // undo check/uncheck\n await this.revertPendingCommitsCheckboxes(addedRowsIds, removedRowsId);\n } else {\n await this.togglePendingCommitsCheckboxes(pendingItemCheckedResult);\n }\n this.conditionToCommit();\n this.chGridPendingCommitsEl.addEventListener(\n \"rowMarkingChanged\",\n this.pendingCommitsRowMarkingChangedHandler\n );\n }\n };\n\n private objectsOnContextMenuCallbackHandler =\n (grid: CommitSourceType) =>\n async (ev: CustomEvent<TabularGridRowContextMenuEvent>) => {\n ev.preventDefault();\n ev.stopPropagation();\n let selection: string[] = [];\n if (grid === \"commit\") {\n selection = ev.detail.selectedRowsId;\n } else if (grid === \"ignored\") {\n selection = await this.chGridIgnoredObjectsEl.getSelectedRows();\n }\n if (this.objectsContextMenuCallback) {\n await this.objectsContextMenuCallback(grid, {\n selection: selection,\n clientX: ev.detail.clientX,\n clientY: ev.detail.clientY\n });\n }\n };\n\n private gridOnSelectionChangedCallbackHandler =\n (grid: CommitSourceType) =>\n async (ev: CustomEvent<TabularGridSelectionChangedEvent>) => {\n if (this.selectCallback) {\n await this.selectCallback(grid, ev.detail.rowsId);\n }\n };\n\n /* pending commits grid render*/\n private renderPendingCommitsGrid = (): Element => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid tabular-grid-td-commit\"\n rowSelectionMode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.chGridPendingCommitsEl = el)\n }\n part=\"ch-grid-pending-commits\"\n onRowContextMenu={this.objectsOnContextMenuCallbackHandler(\"commit\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"commit\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnType=\"rich\"\n richRowSelector\n richRowSelectorMode=\"mark\"\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"State\"\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n sortable\n columnName=\"Name\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n sortable\n columnName=\"Type\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Description\"\n settingable={false}\n size={config.tabularGrid.colSize.commonDouble}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n sortable\n columnName=\"Modified On\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Module\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Local State\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Last Synchronized\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n sortable\n columnName=\"User\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {this.pendingCommits.map((obj: ModifiedObjectData) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell\n cell-type=\"rich\"\n row-selector\n class=\"tabular-grid-cell\"\n ></ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconState(obj.state)}\n </ch-tabular-grid-cell>\n\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.iconType} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.type}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.modifiedOn)}`}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.module}\n </ch-tabular-grid-cell>\n\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.localState}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.lastSynchronized)}`}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.user}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n /* ignored objects grid render*/\n private renderIgnoredObjectsGrid = (): Element => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid\"\n rowSelectionMode=\"multiple\"\n ref={(el: HTMLChTabularGridElement) =>\n (this.chGridIgnoredObjectsEl = el)\n }\n part=\"ch-grid-pending-commits\"\n onRowContextMenu={this.objectsOnContextMenuCallbackHandler(\"ignored\")}\n onSelectionChanged={this.gridOnSelectionChangedCallbackHandler(\n \"ignored\"\n )}\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"TypeIcon\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Name\"\n settingable={false}\n sortable\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Type\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Description\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Modified On\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Module\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Local State\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"Last Synchronized\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnName=\"User\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {this.ignoredObjects.map((obj: ModifiedObjectData) => (\n <ch-tabular-grid-row rowid={obj.id} selected class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.renderIconState(obj.state)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.iconType} class=\"icon-md\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.type}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.modifiedOn)}`}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.module}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.localState}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.lastSynchronized)}`}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.user}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n private getRecentCommentHandler = async () => {\n if (this.getRecentCommentCallback) {\n const response = await this.getRecentCommentCallback();\n if (response) {\n this.comment = response;\n }\n }\n };\n\n private commitCallbackHandler = async () => {\n const commitCommentEl = this.commitCommentEl.value;\n this.chGridPendingCommitsEl\n .getMarkedRows()\n .then(async pendingCommitsCheckedIds => {\n await this.commitCallback(pendingCommitsCheckedIds, commitCommentEl);\n /* returns boolean*/\n });\n };\n\n private loadData = async (): Promise<void> => {\n const filtersData: FiltersData = {\n pattern: this.patternEl.value,\n changeSet: this.changeSetEl.value,\n folder: this.foldersEl.value,\n category: this.categoriesEl.value,\n type: this.typesEl.value\n };\n\n this.evaluateFilterConditions();\n\n // this.pendingCommits = null;\n // this.ignoredObjects = null;\n\n return await this.loadCallback(filtersData).then(\n async ({ pending, ignored }) => {\n this.pendingCommits = pending;\n this.ignoredObjects = ignored;\n }\n );\n };\n\n private toggleFiltersHandler = () => {\n this.filtersHidden = !this.filtersHidden;\n };\n\n private evaluateFilterConditions = () => {\n if (\n this.patternEl.value ||\n this.changeSetEl.value ||\n this.typesEl.value ||\n this.foldersEl.value ||\n this.categoriesEl.value\n ) {\n this.filterHasConditions = true;\n } else {\n this.filterHasConditions = false;\n }\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n noHeadingPadding\n headingPaddingTop\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n noHeadingBorder\n >\n <div class=\"header\" slot=\"header\">\n <div class=\"header__first-row\">\n <div class=\"header__first-row__left-col\">\n <gxg-label\n part=\"commit-label\"\n labelPosition=\"start\"\n class=\"commit-label\"\n noMargin\n >\n {this._componentLocale.header.commentLabel}\n </gxg-label>\n </div>\n <div class=\"header__first-row__right-col\">\n {/* filter button*/}\n <gxg-button\n onClick={this.toggleFiltersHandler}\n type=\"secondary-icon-only\"\n icon={\n this.filterHasConditions\n ? \"window-tools/filter-conditions\"\n : \"window-tools/filter\"\n }\n part=\"gxg-button gxg-button--show-filter\"\n class=\"filter-btn\"\n ></gxg-button>\n\n {/* reset button*/}\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/reset\"\n onClick={this.loadData}\n part=\"gxg-button gxg-button--reload\"\n class=\"reset-btn\"\n ></gxg-button>\n\n {/* recen comments button*/}\n <gxg-button\n class=\"header-button\"\n type=\"outlined\"\n part=\"location\"\n onClick={this.getRecentCommentHandler}\n >\n {this._componentLocale.header.recentCommentsButton}\n </gxg-button>\n </div>\n </div>\n <div class=\"header__second-row\">\n {/* commit comment textarea*/}\n <gxg-form-textarea\n height=\"90px\"\n value={this.comment}\n ref={(el: HTMLGxgFormTextareaElement) =>\n (this.commitCommentEl = el)\n }\n singleLine\n onInput={this.conditionToCommit}\n placeholder={this._componentLocale.header.commentPlaceholder}\n part=\"comment\"\n class=\"commit-textarea\"\n ></gxg-form-textarea>\n </div>\n <div\n class={{\n \"filters-outer-wrapper\": true,\n \"filters-outer-wrapper--hidden\": this.filtersHidden\n }}\n >\n <div\n class={{\n \"filters-inner-wrapper\": true\n }}\n >\n <div\n class={{\n \"header__third-row\": true\n }}\n >\n {/* pattern*/}\n <gxg-label\n part=\"pattern-label\"\n labelPosition=\"start\"\n class=\"pattern-label\"\n noMargin\n >\n {this._componentLocale.filtersMenu.patternLabel}\n </gxg-label>\n <gxg-form-text\n disable-filter\n value=\"\"\n ref={(el: HTMLGxgFormTextElement) =>\n (this.patternEl = el as HTMLGxgFormTextElement)\n }\n display-validation-styles\n display-validation-message\n part=\"pattern-form-text\"\n class=\"pattern-form-text\"\n onInput={this.loadData}\n ></gxg-form-text>\n\n {/* changeset */}\n <gxg-label\n part=\"changeset-label\"\n labelPosition=\"start\"\n class=\"changeset-label\"\n noMargin\n >\n {this._componentLocale.filtersMenu.changesetLabel}\n </gxg-label>\n <gxg-combo-box\n value={this.changeSet[0][\"id\"]}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.changeSetEl = el as HTMLGxgComboBoxElement)\n }\n part=\"changeset-combo\"\n class=\"changeset-combo\"\n display-validation-styles\n display-validation-message\n onValueChanged={this.loadData}\n >\n {renderComboItems(this.changeSet)}\n </gxg-combo-box>\n\n {/* type */}\n <gxg-label\n part=\"type-label\"\n labelPosition=\"start\"\n class=\"type-label\"\n noMargin\n >\n {this._componentLocale.filtersMenu.typeLabel}\n </gxg-label>\n <gxg-combo-box\n labelPosition=\"start\"\n value={this.types[0][\"id\"]}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.typesEl = el as HTMLGxgComboBoxElement)\n }\n part=\"type-combo\"\n class=\"type-combo\"\n onValueChanged={this.loadData}\n >\n {renderComboItems(this.types)}\n </gxg-combo-box>\n\n {/* folder */}\n <gxg-label\n part=\"folder-label\"\n labelPosition=\"start\"\n class=\"folder-label\"\n noMargin\n >\n {this._componentLocale.filtersMenu.folderLabel}\n </gxg-label>\n <gxg-combo-box\n value={this.folders[0][\"id\"]}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.foldersEl = el as HTMLGxgComboBoxElement)\n }\n part=\"folder-combo\"\n display-validation-styles\n display-validation-message\n onValueChanged={this.loadData}\n >\n {renderComboItems(this.folders)}\n </gxg-combo-box>\n\n {/* category */}\n <gxg-label\n part=\"category-label\"\n labelPosition=\"start\"\n class=\"category-label\"\n noMargin\n >\n {this._componentLocale.filtersMenu.categoryLabel}\n </gxg-label>\n <gxg-combo-box\n value={this.categories[0][\"id\"]}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.categoriesEl = el as HTMLGxgComboBoxElement)\n }\n part=\"category-combo\"\n class=\"category-combo\"\n onValueChanged={this.loadData}\n >\n {renderComboItems(this.categories)}\n </gxg-combo-box>\n </div>\n </div>\n </div>\n </div>\n <main class=\"main\">\n <gx-ide-container noContentPadding class=\"grid-container\">\n <div class=\"tabs-container gxi-full-height\">\n <gxg-tabs class=\"gxg-tabs\">\n <gxg-tab-bar slot=\"tab-bar-container\" displayBorder>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={`${this._componentLocale.tabs.pendingCommits} (${this.pendingCommits.length})`}\n tab=\"pending-commits\"\n is-selected\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={`${this._componentLocale.tabs.ignoredObjects} (${this.ignoredObjects.length})`}\n tab=\"ignored-objects\"\n ></gxg-tab-button>\n </gxg-tab-bar>\n <gxg-tab tab=\"pending-commits\" no-padding flex>\n {this.renderPendingCommitsGrid()}\n </gxg-tab>\n <gxg-tab tab=\"ignored-objects\" no-padding flex>\n {this.renderIgnoredObjectsGrid()}\n </gxg-tab>\n </gxg-tabs>\n </div>\n </gx-ide-container>\n </main>\n\n {/* footer */}\n <gxg-button\n slot=\"footer-end\"\n type=\"primary-text-only\"\n onClick={this.commitCallbackHandler}\n part=\"commit-button\"\n disabled={!this.commitButtonEnabled}\n >\n {this._componentLocale.footer.commitButton}\n </gxg-button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type GetRecentComment = () => Promise<string | undefined>;\n\nexport type LoadCallback = (filters: FiltersData) => Promise<CommitData>;\n\nexport type CommitCallback = (\n selection: string[],\n commitCommentEl: string\n) => Promise<boolean>;\n\nexport type PendingItemsCheckedCallback = (\n pendingItemsCheckedState: ItemsCheckedState\n) => Promise<ItemsCheckedResult | undefined>;\n\nexport type CommitSelectCallback = (\n grid: CommitSourceType,\n selectionIds: string[]\n) => Promise<void>;\n\nexport type ItemCheckedCallback = (\n checkedItemIds: string[]\n) => Promise<ItemsCheckedResult | undefined>;\n\nexport type ObjectsContextMenuCallback = (\n grid: CommitSourceType,\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\n\nexport type CommitSourceType = \"commit\" | \"ignored\";\n\nexport type CommitData = {\n pending: ModifiedObjectData[];\n ignored: ModifiedObjectData[];\n};\n\nexport type ModifiedObjectData = {\n id: string;\n name: string;\n iconType: string;\n state: ObjectState;\n type: string;\n description: string;\n modifiedOn: Date;\n module: string;\n localState: ObjectState;\n lastSynchronized: Date;\n user: string;\n};\n\nexport type FiltersData = {\n pattern: string;\n changeSet: string;\n type: string;\n folder: string;\n category: string;\n};\n"],"version":3}