@genexus/genexus-ide-ui 0.0.100 → 0.0.101

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 (265) 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-card.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-card.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +1 -1
  9. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +16 -14
  11. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +1 -1
  13. package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
  14. package/dist/cjs/gx-ide-empty-state_2.cjs.entry.js +1 -1
  15. package/dist/cjs/gx-ide-empty-state_2.cjs.entry.js.map +1 -1
  16. package/dist/cjs/gx-ide-import-from-design.cjs.entry.js +1 -1
  17. package/dist/cjs/gx-ide-import-from-design.cjs.entry.js.map +1 -1
  18. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
  19. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
  21. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  22. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +1 -1
  23. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
  24. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
  25. package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
  26. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
  27. package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
  28. package/dist/cjs/gx-ide-new-object.cjs.entry.js +1 -1
  29. package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
  30. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
  31. package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
  32. package/dist/cjs/gx-ide-references.cjs.entry.js +1 -1
  33. package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
  34. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
  35. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  36. package/dist/cjs/gx-ide-start-page.cjs.entry.js +1 -1
  37. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  38. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
  39. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  40. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
  41. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js.map +1 -1
  42. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
  43. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
  44. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
  45. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js.map +1 -1
  46. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
  47. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  48. package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
  49. package/dist/cjs/gx-ide-template.cjs.entry.js.map +1 -1
  50. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  51. package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
  52. package/dist/cjs/loader.cjs.js +1 -1
  53. package/dist/collection/components/_helpers/card/card.css +333 -26
  54. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.css +0 -1
  55. package/dist/collection/components/_helpers/list-selector/list-selector.css +519 -13
  56. package/dist/collection/components/_starting-template/template.css +333 -26
  57. package/dist/collection/components/ai-assistant/ai-assistant.css +333 -26
  58. package/dist/collection/components/ai-assistant/ai-message.css +0 -1
  59. package/dist/collection/components/bpm-application-declaration/bpm-app-declaration.css +333 -26
  60. package/dist/collection/components/create-kb-from-server/create-kb-from-server.css +333 -26
  61. package/dist/collection/components/dashboard-home/dashboard-home.css +706 -41
  62. package/dist/collection/components/dashboard-home/dashboard-home.js +51 -14
  63. package/dist/collection/components/dashboard-home/dashboard-home.js.map +1 -1
  64. package/dist/collection/components/data-selector/data-selector.css +333 -26
  65. package/dist/collection/components/import-from-design/import-from-design.css +333 -26
  66. package/dist/collection/components/kb-manager-export/kb-manager-export.css +333 -26
  67. package/dist/collection/components/kb-manager-import/kb-manager-import.css +333 -26
  68. package/dist/collection/components/new-environment/new-environment.css +333 -26
  69. package/dist/collection/components/new-kb/new-kb.css +333 -26
  70. package/dist/collection/components/new-object/new-object.css +333 -26
  71. package/dist/collection/components/object-selector/object-selector.css +333 -26
  72. package/dist/collection/components/references/references.css +333 -26
  73. package/dist/collection/components/share-kb/share-kb.css +333 -26
  74. package/dist/collection/components/start-page/recent-news.css +333 -26
  75. package/dist/collection/components/start-page/start-page.css +333 -26
  76. package/dist/collection/components/team-dev/commit/commit.css +333 -26
  77. package/dist/collection/components/team-dev/select-recent-comment/select-recent-comment.css +333 -26
  78. package/dist/collection/components/team-dev/update/update.css +333 -26
  79. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +333 -26
  80. package/dist/collection/components/team-dev/update-to-revision/update-to-revision.css +333 -26
  81. package/dist/collection/components/ww-images/ww-images.css +333 -26
  82. package/dist/collection/pages/assets/common.js +1 -1
  83. package/dist/components/gx-ide-ai-assistant.js +1 -1
  84. package/dist/components/gx-ide-ai-assistant.js.map +1 -1
  85. package/dist/components/gx-ide-bpm-app-declaration.js +1 -1
  86. package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
  87. package/dist/components/gx-ide-card.js +1 -1
  88. package/dist/components/gx-ide-card.js.map +1 -1
  89. package/dist/components/gx-ide-create-kb-from-server.js +1 -1
  90. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  91. package/dist/components/gx-ide-dashboard-home.js +32 -47
  92. package/dist/components/gx-ide-dashboard-home.js.map +1 -1
  93. package/dist/components/gx-ide-data-selector.js +1 -1
  94. package/dist/components/gx-ide-data-selector.js.map +1 -1
  95. package/dist/components/gx-ide-import-from-design.js +1 -1
  96. package/dist/components/gx-ide-import-from-design.js.map +1 -1
  97. package/dist/components/gx-ide-kb-manager-export.js +1 -1
  98. package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
  99. package/dist/components/gx-ide-kb-manager-import.js +1 -1
  100. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  101. package/dist/components/gx-ide-new-environment.js +1 -1
  102. package/dist/components/gx-ide-new-environment.js.map +1 -1
  103. package/dist/components/gx-ide-new-kb.js +1 -1
  104. package/dist/components/gx-ide-new-kb.js.map +1 -1
  105. package/dist/components/gx-ide-new-object.js +1 -1
  106. package/dist/components/gx-ide-new-object.js.map +1 -1
  107. package/dist/components/gx-ide-object-selector.js +1 -1
  108. package/dist/components/gx-ide-object-selector.js.map +1 -1
  109. package/dist/components/gx-ide-references.js +1 -1
  110. package/dist/components/gx-ide-references.js.map +1 -1
  111. package/dist/components/gx-ide-share-kb.js +1 -1
  112. package/dist/components/gx-ide-share-kb.js.map +1 -1
  113. package/dist/components/gx-ide-start-page.js +1 -1
  114. package/dist/components/gx-ide-start-page.js.map +1 -1
  115. package/dist/components/gx-ide-team-dev-commit.js +1 -1
  116. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  117. package/dist/components/gx-ide-team-dev-select-recent-comment.js +1 -1
  118. package/dist/components/gx-ide-team-dev-select-recent-comment.js.map +1 -1
  119. package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
  120. package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
  121. package/dist/components/gx-ide-team-dev-update-to-revision.js +1 -1
  122. package/dist/components/gx-ide-team-dev-update-to-revision.js.map +1 -1
  123. package/dist/components/gx-ide-team-dev-update.js +1 -1
  124. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  125. package/dist/components/gx-ide-template.js +1 -1
  126. package/dist/components/gx-ide-template.js.map +1 -1
  127. package/dist/components/gx-ide-ww-images.js +1 -1
  128. package/dist/components/gx-ide-ww-images.js.map +1 -1
  129. package/dist/components/list-selector.js +1 -1
  130. package/dist/components/list-selector.js.map +1 -1
  131. package/dist/components/recent-news.js +1 -1
  132. package/dist/components/recent-news.js.map +1 -1
  133. package/dist/esm/genexus-ide-ui.js +1 -1
  134. package/dist/esm/gx-ide-ai-assistant.entry.js +1 -1
  135. package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
  136. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
  137. package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
  138. package/dist/esm/gx-ide-card.entry.js +1 -1
  139. package/dist/esm/gx-ide-card.entry.js.map +1 -1
  140. package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
  141. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  142. package/dist/esm/gx-ide-dashboard-home.entry.js +16 -14
  143. package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
  144. package/dist/esm/gx-ide-data-selector.entry.js +1 -1
  145. package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
  146. package/dist/esm/gx-ide-empty-state_2.entry.js +1 -1
  147. package/dist/esm/gx-ide-empty-state_2.entry.js.map +1 -1
  148. package/dist/esm/gx-ide-import-from-design.entry.js +1 -1
  149. package/dist/esm/gx-ide-import-from-design.entry.js.map +1 -1
  150. package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
  151. package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
  152. package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
  153. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  154. package/dist/esm/gx-ide-list-selector_2.entry.js +1 -1
  155. package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
  156. package/dist/esm/gx-ide-new-environment.entry.js +1 -1
  157. package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
  158. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  159. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  160. package/dist/esm/gx-ide-new-object.entry.js +1 -1
  161. package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
  162. package/dist/esm/gx-ide-object-selector.entry.js +1 -1
  163. package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
  164. package/dist/esm/gx-ide-references.entry.js +1 -1
  165. package/dist/esm/gx-ide-references.entry.js.map +1 -1
  166. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  167. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  168. package/dist/esm/gx-ide-start-page.entry.js +1 -1
  169. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  170. package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
  171. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  172. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
  173. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js.map +1 -1
  174. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
  175. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
  176. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
  177. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js.map +1 -1
  178. package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
  179. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  180. package/dist/esm/gx-ide-template.entry.js +1 -1
  181. package/dist/esm/gx-ide-template.entry.js.map +1 -1
  182. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  183. package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
  184. package/dist/esm/loader.js +1 -1
  185. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  186. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  187. package/dist/genexus-ide-ui/p-05bc4d77.entry.js +598 -0
  188. package/dist/genexus-ide-ui/p-1346991a.entry.js +232 -0
  189. package/dist/genexus-ide-ui/p-1346991a.entry.js.map +1 -0
  190. package/dist/genexus-ide-ui/p-2e6da0ef.entry.js +236 -0
  191. package/dist/genexus-ide-ui/{p-8bdaef96.entry.js → p-336ee17f.entry.js} +74 -74
  192. package/dist/genexus-ide-ui/p-336ee17f.entry.js.map +1 -0
  193. package/dist/genexus-ide-ui/p-382fe6fa.entry.js +331 -0
  194. package/dist/genexus-ide-ui/p-40d52b2f.entry.js +487 -0
  195. package/dist/genexus-ide-ui/p-4a5ad686.entry.js +293 -0
  196. package/dist/genexus-ide-ui/p-4a706d20.entry.js +583 -0
  197. package/dist/genexus-ide-ui/p-4bd869d3.entry.js +702 -0
  198. package/dist/genexus-ide-ui/p-5507f11d.entry.js +571 -0
  199. package/dist/genexus-ide-ui/p-5ac58299.entry.js +238 -0
  200. package/dist/genexus-ide-ui/p-5bce420c.entry.js +187 -0
  201. package/dist/genexus-ide-ui/p-5ed3968f.entry.js +183 -0
  202. package/dist/genexus-ide-ui/p-725fe015.entry.js +273 -0
  203. package/dist/genexus-ide-ui/p-72e5a0db.entry.js +111 -0
  204. package/dist/genexus-ide-ui/p-784d3d82.entry.js +119 -0
  205. package/dist/genexus-ide-ui/p-921fc4d4.entry.js +344 -0
  206. package/dist/genexus-ide-ui/p-9a333c79.entry.js +158 -0
  207. package/dist/genexus-ide-ui/p-a0180ad9.entry.js +614 -0
  208. package/dist/genexus-ide-ui/p-b25c9d3c.entry.js +472 -0
  209. package/dist/genexus-ide-ui/p-bddc1a7b.entry.js +305 -0
  210. package/dist/genexus-ide-ui/p-bf16cfca.entry.js +62 -0
  211. package/dist/genexus-ide-ui/p-d648668d.entry.js +436 -0
  212. package/dist/genexus-ide-ui/p-e0704caf.entry.js +44 -0
  213. package/dist/genexus-ide-ui/p-e0d9ab03.entry.js +257 -0
  214. package/dist/types/components/dashboard-home/dashboard-home.d.ts +8 -5
  215. package/dist/types/components.d.ts +16 -0
  216. package/package.json +1 -1
  217. package/dist/genexus-ide-ui/p-007a3368.entry.js +0 -158
  218. package/dist/genexus-ide-ui/p-148ec5e4.entry.js +0 -293
  219. package/dist/genexus-ide-ui/p-317e4ff6.entry.js +0 -62
  220. package/dist/genexus-ide-ui/p-420a2b62.entry.js +0 -598
  221. package/dist/genexus-ide-ui/p-587f3ba5.entry.js +0 -344
  222. package/dist/genexus-ide-ui/p-5ba47216.entry.js +0 -305
  223. package/dist/genexus-ide-ui/p-6397feb4.entry.js +0 -472
  224. package/dist/genexus-ide-ui/p-66b88b9b.entry.js +0 -614
  225. package/dist/genexus-ide-ui/p-75f0ba9d.entry.js +0 -273
  226. package/dist/genexus-ide-ui/p-7d719234.entry.js +0 -187
  227. package/dist/genexus-ide-ui/p-7fe9374d.entry.js +0 -238
  228. package/dist/genexus-ide-ui/p-8bdaef96.entry.js.map +0 -1
  229. package/dist/genexus-ide-ui/p-906845cd.entry.js +0 -571
  230. package/dist/genexus-ide-ui/p-9e7ea8be.entry.js +0 -44
  231. package/dist/genexus-ide-ui/p-a2805229.entry.js +0 -331
  232. package/dist/genexus-ide-ui/p-a3368c79.entry.js +0 -111
  233. package/dist/genexus-ide-ui/p-a3e07b86.entry.js +0 -240
  234. package/dist/genexus-ide-ui/p-a3e07b86.entry.js.map +0 -1
  235. package/dist/genexus-ide-ui/p-a592930e.entry.js +0 -183
  236. package/dist/genexus-ide-ui/p-ca86fe87.entry.js +0 -583
  237. package/dist/genexus-ide-ui/p-cd0c26a2.entry.js +0 -487
  238. package/dist/genexus-ide-ui/p-d4d72da2.entry.js +0 -436
  239. package/dist/genexus-ide-ui/p-e0924e3f.entry.js +0 -236
  240. package/dist/genexus-ide-ui/p-e240361a.entry.js +0 -702
  241. package/dist/genexus-ide-ui/p-e4b63012.entry.js +0 -119
  242. package/dist/genexus-ide-ui/p-ff794656.entry.js +0 -257
  243. /package/dist/genexus-ide-ui/{p-420a2b62.entry.js.map → p-05bc4d77.entry.js.map} +0 -0
  244. /package/dist/genexus-ide-ui/{p-e0924e3f.entry.js.map → p-2e6da0ef.entry.js.map} +0 -0
  245. /package/dist/genexus-ide-ui/{p-a2805229.entry.js.map → p-382fe6fa.entry.js.map} +0 -0
  246. /package/dist/genexus-ide-ui/{p-cd0c26a2.entry.js.map → p-40d52b2f.entry.js.map} +0 -0
  247. /package/dist/genexus-ide-ui/{p-148ec5e4.entry.js.map → p-4a5ad686.entry.js.map} +0 -0
  248. /package/dist/genexus-ide-ui/{p-ca86fe87.entry.js.map → p-4a706d20.entry.js.map} +0 -0
  249. /package/dist/genexus-ide-ui/{p-e240361a.entry.js.map → p-4bd869d3.entry.js.map} +0 -0
  250. /package/dist/genexus-ide-ui/{p-906845cd.entry.js.map → p-5507f11d.entry.js.map} +0 -0
  251. /package/dist/genexus-ide-ui/{p-7fe9374d.entry.js.map → p-5ac58299.entry.js.map} +0 -0
  252. /package/dist/genexus-ide-ui/{p-7d719234.entry.js.map → p-5bce420c.entry.js.map} +0 -0
  253. /package/dist/genexus-ide-ui/{p-a592930e.entry.js.map → p-5ed3968f.entry.js.map} +0 -0
  254. /package/dist/genexus-ide-ui/{p-75f0ba9d.entry.js.map → p-725fe015.entry.js.map} +0 -0
  255. /package/dist/genexus-ide-ui/{p-a3368c79.entry.js.map → p-72e5a0db.entry.js.map} +0 -0
  256. /package/dist/genexus-ide-ui/{p-e4b63012.entry.js.map → p-784d3d82.entry.js.map} +0 -0
  257. /package/dist/genexus-ide-ui/{p-587f3ba5.entry.js.map → p-921fc4d4.entry.js.map} +0 -0
  258. /package/dist/genexus-ide-ui/{p-007a3368.entry.js.map → p-9a333c79.entry.js.map} +0 -0
  259. /package/dist/genexus-ide-ui/{p-66b88b9b.entry.js.map → p-a0180ad9.entry.js.map} +0 -0
  260. /package/dist/genexus-ide-ui/{p-6397feb4.entry.js.map → p-b25c9d3c.entry.js.map} +0 -0
  261. /package/dist/genexus-ide-ui/{p-5ba47216.entry.js.map → p-bddc1a7b.entry.js.map} +0 -0
  262. /package/dist/genexus-ide-ui/{p-317e4ff6.entry.js.map → p-bf16cfca.entry.js.map} +0 -0
  263. /package/dist/genexus-ide-ui/{p-d4d72da2.entry.js.map → p-d648668d.entry.js.map} +0 -0
  264. /package/dist/genexus-ide-ui/{p-9e7ea8be.entry.js.map → p-e0704caf.entry.js.map} +0 -0
  265. /package/dist/genexus-ide-ui/{p-ff794656.entry.js.map → p-e0d9ab03.entry.js.map} +0 -0
@@ -0,0 +1,232 @@
1
+ import { r as n, c as e, h as t, H as r, g as a } from "./p-2776d2f9.js";
2
+
3
+ import { L as o } from "./p-74d59062.js";
4
+
5
+ import { f as i } from "./p-04f3d630.js";
6
+
7
+ const s = ':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: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/* 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/*gxg-tree-view*/\n.tree-container {\n display: flex;\n height: 100%;\n width: 100%;\n box-sizing: border-box;\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:host {\n display: block;\n height: 100%;\n overflow: auto;\n}\n\n:host,\n.gx-ide-main-wrapper,\n.grid--basic,\n.project,\n.recent-objects {\n height: 100%;\n overflow: auto;\n}\n\n.gx-ide-main-wrapper {\n container-name: dashboard-main-wrapper;\n container-type: inline-size;\n}\n\n.kb {\n grid-area: kb;\n align-self: center;\n}\n.kb .version-pill {\n white-space: nowrap;\n text-overflow: ellipsis;\n}\n.kb .kb-detail {\n display: flex;\n flex-direction: column;\n align-items: start;\n flex-wrap: wrap;\n margin-block-start: var(--mer-spacing--md);\n gap: var(--mer-spacing--md);\n}\n.kb .kb-detail .display-inline {\n display: -webkit-box;\n -webkit-line-clamp: 1;\n -webkit-box-orient: vertical;\n overflow: hidden;\n font-style: italic;\n opacity: 0.5;\n}\n\n.environment {\n grid-area: environment;\n}\n.environment__environments {\n padding-block-end: var(--gx-ide-grid-column-gap);\n display: flex;\n flex-direction: row;\n gap: var(--gx-ide-grid-column-gap);\n /* Track */\n /* Handle */\n /* Handle on hover */\n overflow-x: auto;\n}\n.environment__environments::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n.environment__environments::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n.environment__environments::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n.environment__environments::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n.environment__environments::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n.environment__environments .environment-card {\n min-width: 180px;\n flex-grow: 1;\n}\n.environment__environments .environment-container {\n display: flex;\n flex-direction: column;\n gap: var(--gx-ide-cards-vertical-spacing);\n}\n.environment__environments .environment-item {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--xxs);\n}\n\n.environment-title {\n margin-block-end: var(--mer-spacing--xs);\n display: block;\n}\n\n.project {\n grid-area: project;\n}\n.project .project-buttons {\n margin-block-start: var(--mer-spacing--md);\n gap: var(--mer-spacing--md);\n}\n.project .project-description > *:first-child {\n margin-block-start: 0;\n}\n.project .project-description > *:last-child {\n margin-block-end: 0;\n}\n\n.recent-objects {\n grid-area: recent-objects;\n}\n.recent-objects .recent-objects-card {\n margin-block-end: var(--gx-ide-cards-vertical-spacing);\n}\n.recent-objects .recent-objects-card:last-child {\n margin-block-end: 0;\n}\n.recent-objects .recent-objects-card .grid--recent-objects {\n flex-grow: 1;\n grid-template-columns: 1fr 10fr 12fr 1fr;\n gap: var(--gx-ide-cards-horizontal-spacing);\n height: 100%;\n align-items: center;\n}\n.recent-objects .recent-objects-card .grid--recent-objects .obj-name {\n color: var(--gray-06);\n}\n\n.grid--basic {\n flex-grow: 1;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n gap: var(--mer-spacing--xl);\n grid-template-areas: "kb environment" "project recent-objects";\n grid-template-rows: auto 1fr;\n}\n\n@container (width < 768px) {\n .grid--basic {\n grid-template-rows: auto auto auto;\n grid-template-areas: "kb environment" "project project" "recent-objects recent-objects";\n }\n}\ngxg-title-editable {\n width: 100%;\n}\n\ngx-ide-card {\n height: 100%;\n}';
8
+
9
+ const l = {
10
+ new: "gx-server/new",
11
+ modified: "patterns-default-associated/modified",
12
+ conflicted: "patterns-default-associated/synchronized",
13
+ unmodified: "gx-server/delete"
14
+ };
15
+
16
+ const c = class {
17
+ constructor(r) {
18
+ n(this, r);
19
+ this.componentDidRenderFirstTime = e(this, "componentDidRenderFirstTime", 7);
20
+ this.renderedFirstTime = false;
21
+ // 7.LISTENERS //
22
+ // 8.PUBLIC METHODS API //
23
+ // 9.LOCAL METHODS //
24
+ // Kb Name
25
+ this.handleKbNameChange = async n => {
26
+ const e = n.detail;
27
+ if (this.renameKBCallback) {
28
+ const n = this.renameKBCallback(e);
29
+ n.then((n => {
30
+ if (n.success) {
31
+ this.kb.name = e;
32
+ }
33
+ this.editValidation(n, this.kbNameEl);
34
+ }));
35
+ }
36
+ };
37
+ // Environment Name
38
+ this.handleEnvNameChange = async () => {
39
+ if (this.renameEnvironmentCallback) {
40
+ const n = this.renameEnvironmentCallback(this.envNameEl.value);
41
+ n.then((n => {
42
+ if (n.success) {
43
+ this.environment.name = this.envNameEl.value;
44
+ }
45
+ this.editValidation(n, this.envNameEl);
46
+ }));
47
+ }
48
+ };
49
+ this.handleDescriptionChange = async () => {
50
+ if (this.editDescriptionCallback) {
51
+ await this.editDescriptionCallback();
52
+ }
53
+ };
54
+ // Recent Objects
55
+ this.openObject = n => {
56
+ this.openObjectCallback(n);
57
+ };
58
+ // Validation
59
+ this.editValidation = (n, e) => {
60
+ if (!n.success) {
61
+ e.validationStatus = "error";
62
+ e.validationMessage = n.errorMessage;
63
+ } else {
64
+ e.validationStatus = "indeterminate";
65
+ e.validationMessage = "";
66
+ }
67
+ };
68
+ // 10.RENDER() FUNCTIONS //
69
+ this.renderProjectContent = () => this.projectDescription ? t("div", {
70
+ class: "project-description",
71
+ innerHTML: this.projectDescription
72
+ }, t("gxg-button", {
73
+ type: "secondary-text-icon",
74
+ icon: "gemini-tools/edit",
75
+ onClick: this.handleDescriptionChange
76
+ }, this._componentLocale.edit)) : null;
77
+ this.editingEnvName = false;
78
+ this.editingProjectDescription = false;
79
+ this.kb = undefined;
80
+ this.enableEditKBName = false;
81
+ this.environment = undefined;
82
+ this.enableEditEnvironmentName = false;
83
+ this.projectDescription = undefined;
84
+ this.recentObjects = undefined;
85
+ this.renameKBCallback = undefined;
86
+ this.renameEnvironmentCallback = undefined;
87
+ this.editDescriptionCallback = undefined;
88
+ this.openObjectCallback = undefined;
89
+ }
90
+ // 6.COMPONENT LIFECYCLE METHODS //
91
+ async componentWillLoad() {
92
+ this._componentLocale = await o.getComponentStrings(this.el);
93
+ }
94
+ componentDidRender() {
95
+ if (!this.renderedFirstTime) {
96
+ this.componentDidRenderFirstTime.emit(this._componentLocale.componentName);
97
+ this.renderedFirstTime = true;
98
+ }
99
+ }
100
+ renderFrontEndTitle() {
101
+ return this.environment.frontEnd.length <= 1 ? this._componentLocale.environment.frontEndLang : this._componentLocale.environment.frontEndLangs;
102
+ }
103
+ // 11.RENDER() MAIN FUNCTION //
104
+ render() {
105
+ return t(r, null, t("div", {
106
+ class: "gx-ide-main-wrapper"
107
+ }, t("div", {
108
+ class: "grid grid--basic"
109
+ }, t("div", {
110
+ class: "kb gxi-overflow-auto"
111
+ }, t("gxg-title-editable", {
112
+ value: this.kb.name,
113
+ "disable-edition": !this.enableEditKBName,
114
+ "click-to-edit": true,
115
+ fluid: true,
116
+ onValueChanged: this.handleKbNameChange,
117
+ focusType: "text",
118
+ debounce: true,
119
+ ref: n => this.kbNameEl = n
120
+ }), t("div", {
121
+ class: "align-center kb-detail"
122
+ }, t("gxg-pill", {
123
+ id: "pill",
124
+ type: "static",
125
+ icon: "objects/procedure"
126
+ }, this._componentLocale.version, ": ", this.kb.currentVersion), t("gxg-text", {
127
+ class: "display-inline",
128
+ type: "text-gray",
129
+ padding: "s"
130
+ }, this._componentLocale.created, ":", " ", i(this.kb.created, "date-time-short"), " -", " ", this._componentLocale.lastBuild, ":", " ", i(this.kb.lastBuild, "date-time-short")))), t("div", {
131
+ class: "environment"
132
+ }, t("gxg-title-editable", {
133
+ class: "environment-title",
134
+ value: this.environment.name,
135
+ "disable-edition": !this.enableEditEnvironmentName,
136
+ "click-to-edit": true,
137
+ "title-type": "h3",
138
+ ref: n => this.envNameEl = n,
139
+ onValueChanged: this.handleEnvNameChange,
140
+ focusType: "text",
141
+ debounce: true
142
+ }), t("div", {
143
+ class: "environment__environments"
144
+ }, t("gxg-card", {
145
+ cardType: "mini",
146
+ class: "environment-card",
147
+ cardTitle: this.renderFrontEndTitle()
148
+ }, t("div", {
149
+ class: "environment-container"
150
+ }, this.environment.frontEnd.map((n => t("div", {
151
+ class: "environment-item"
152
+ }, t("gxg-icon", {
153
+ type: n.icon,
154
+ color: "onbackground",
155
+ style: {
156
+ "--mer-text__on-surface": "var(--gray-05);"
157
+ }
158
+ }), n.name))))), t("gxg-card", {
159
+ cardType: "mini",
160
+ class: "environment-card",
161
+ cardTitle: this._componentLocale.environment.backEnd
162
+ }, t("div", {
163
+ class: "environment-container"
164
+ }, t("div", {
165
+ class: "environment-item"
166
+ }, t("gxg-icon", {
167
+ type: this.environment.backEnd.icon,
168
+ color: "onbackground",
169
+ style: {
170
+ "--mer-text__on-surface": "var(--gray-05);"
171
+ }
172
+ }), this.environment.backEnd.name))), t("gxg-card", {
173
+ cardType: "mini",
174
+ class: "environment-card",
175
+ cardTitle: this._componentLocale.environment.dataStore
176
+ }, t("div", {
177
+ class: "environment-container"
178
+ }, t("div", {
179
+ class: "environment-item"
180
+ }, t("gxg-icon", {
181
+ type: this.environment.dataStore.icon,
182
+ color: "onbackground",
183
+ style: {
184
+ "--mer-text__on-surface": "var(--gray-05);"
185
+ }
186
+ }), this.environment.dataStore.name))))), t("gxg-card", {
187
+ editableTitle: false,
188
+ cardTitle: this._componentLocale.project.title,
189
+ class: "project"
190
+ }, this.renderProjectContent()), t("gxg-card", {
191
+ editableTitle: false,
192
+ cardTitle: this._componentLocale.recent.title,
193
+ class: "recent-objects",
194
+ cardType: "section",
195
+ "no-padding-top": true
196
+ }, this.recentObjects.map(((n, e) => t("gxg-card", {
197
+ background: "gray-01",
198
+ padding: "m",
199
+ cardType: "article",
200
+ class: "recent-objects-card",
201
+ actionable: true,
202
+ onClick: () => this.openObject(e)
203
+ }, t("div", {
204
+ class: "grid grid--recent-objects"
205
+ }, t("gxg-icon", {
206
+ type: n.typeIcon,
207
+ color: "auto"
208
+ }), t("gxg-text", {
209
+ type: "text-regular",
210
+ class: "obj-name"
211
+ }, n.name), t("gxg-text", {
212
+ italic: true,
213
+ class: "justify-end"
214
+ }, this._componentLocale.recent.modified, ":", " ", `${i(n.modificationDate, "date")}`), t("div", {
215
+ class: " justify-end"
216
+ }, t("gxg-icon", {
217
+ type: l[n.status],
218
+ color: "auto"
219
+ }))))))))));
220
+ }
221
+ static get assetsDirs() {
222
+ return [ "gx-ide-assets/dashboard-home" ];
223
+ }
224
+ get el() {
225
+ return a(this);
226
+ }
227
+ };
228
+
229
+ c.style = s;
230
+
231
+ export { c as gx_ide_dashboard_home };
232
+ //# sourceMappingURL=p-1346991a.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["dashboardHomeCss","mapStatusToIcons","new","modified","conflicted","unmodified","GxIdeDashboardHome","this","renderedFirstTime","handleKbNameChange","async","updatedTitle","updatedKbName","detail","renameKBCallback","response","then","result","success","kb","name","editValidation","kbNameEl","handleEnvNameChange","renameEnvironmentCallback","envNameEl","value","environment","handleDescriptionChange","editDescriptionCallback","openObject","id","openObjectCallback","el","validationStatus","validationMessage","errorMessage","renderProjectContent","projectDescription","h","class","innerHTML","type","icon","onClick","_componentLocale","edit","componentWillLoad","Locale","getComponentStrings","componentDidRender","componentDidRenderFirstTime","emit","componentName","renderFrontEndTitle","frontEnd","length","frontEndLang","frontEndLangs","render","Host","enableEditKBName","fluid","onValueChanged","focusType","debounce","ref","version","currentVersion","padding","created","formatDate","lastBuild","enableEditEnvironmentName","cardType","cardTitle","map","obj","color","style","backEnd","dataStore","editableTitle","project","title","recent","recentObjects","index","background","actionable","typeIcon","italic","modificationDate","status"],"sources":["src/components/dashboard-home/dashboard-home.scss?tag=gx-ide-dashboard-home&encapsulation=shadow","src/components/dashboard-home/dashboard-home.tsx"],"sourcesContent":["@import \"../../../node_modules/@genexus/gemini/dist/gemini/globals/mixins.scss\";\n@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n height: 100%;\n overflow: auto;\n}\n\n// Manage height and overflow\n:host,\n.gx-ide-main-wrapper,\n.grid--basic,\n.project,\n.recent-objects {\n height: 100%;\n overflow: auto;\n}\n\n.gx-ide-main-wrapper {\n container-name: dashboard-main-wrapper;\n container-type: inline-size;\n}\n\n.kb {\n grid-area: kb;\n align-self: center;\n .version-pill {\n white-space: nowrap;\n text-overflow: ellipsis;\n }\n .kb-detail {\n display: flex;\n flex-direction: column;\n align-items: start;\n flex-wrap: wrap;\n margin-block-start: var(--mer-spacing--md);\n gap: var(--mer-spacing--md);\n .display-inline {\n @include line-clamp;\n font-style: italic;\n opacity: 0.5;\n }\n }\n}\n\n.environment {\n grid-area: environment;\n &__environments {\n padding-block-end: var(--gx-ide-grid-column-gap);\n display: flex;\n flex-direction: row;\n gap: var(--gx-ide-grid-column-gap);\n @include gxg-scrollbar;\n overflow-x: auto;\n .environment-card {\n min-width: 180px;\n flex-grow: 1;\n }\n .environment-container {\n display: flex;\n flex-direction: column;\n gap: var(--gx-ide-cards-vertical-spacing);\n }\n .environment-item {\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--xxs);\n }\n }\n}\n.environment-title {\n margin-block-end: var(--mer-spacing--xs);\n display: block;\n}\n\n.project {\n grid-area: project;\n .project-buttons {\n margin-block-start: var(--mer-spacing--md);\n gap: var(--mer-spacing--md);\n }\n .project-description {\n > *:first-child {\n margin-block-start: 0;\n }\n > *:last-child {\n margin-block-end: 0;\n }\n }\n}\n\n.recent-objects {\n grid-area: recent-objects;\n\n .recent-objects-card {\n margin-block-end: var(--gx-ide-cards-vertical-spacing);\n &:last-child {\n margin-block-end: 0;\n }\n .grid--recent-objects {\n flex-grow: 1;\n grid-template-columns: 1fr 10fr 12fr 1fr;\n gap: var(--gx-ide-cards-horizontal-spacing);\n height: 100%;\n align-items: center;\n .obj-name {\n color: var(--gray-06);\n }\n }\n }\n}\n\n.grid--basic {\n flex-grow: 1;\n grid-template-columns: repeat(auto-fit, minmax(0, 1fr));\n gap: var(--mer-spacing--xl);\n grid-template-areas:\n \"kb environment\"\n \"project recent-objects\";\n grid-template-rows: auto 1fr;\n}\n@container (width < 768px) {\n .grid--basic {\n grid-template-rows: auto auto auto;\n grid-template-areas:\n \"kb environment\"\n \"project project\"\n \"recent-objects recent-objects\";\n }\n}\n\ngxg-title-editable {\n width: 100%;\n}\n\ngx-ide-card {\n height: 100%;\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n Event,\n EventEmitter\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { formatDate } from \"../../common/helpers\";\n\nconst mapStatusToIcons: {\n [key in RecentObjectStatus]: StatusIcons;\n} = {\n new: \"gx-server/new\",\n modified: \"patterns-default-associated/modified\",\n conflicted: \"patterns-default-associated/synchronized\",\n unmodified: \"gx-server/delete\"\n};\n\n@Component({\n tag: \"gx-ide-dashboard-home\",\n styleUrl: \"dashboard-home.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/dashboard-home\"]\n})\nexport class GxIdeDashboardHome {\n /*\n INDEX:\n 1.OWN PROPERTIES \n 2.REFERENCE TO ELEMENTS\n 3.STATE() VARIABLES\n 4.PUBLIC PROPERTY API | WATCH'S\n 5.EVENTS (EMIT)\n 6.COMPONENT LIFECYCLE METHODS\n 7.LISTENERS\n 8.PUBLIC METHODS API\n 9.LOCAL METHODS\n 10.RENDER() FUNCTIONS\n 11.RENDER() MAIN FUNCTION\n */\n\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeDashboardHomeElement;\n\n private kbNameEl!: HTMLGxgTitleEditableElement;\n private envNameEl!: HTMLGxgTitleEditableElement;\n /* private projectDescriptionEl!: HTMLGxgFormTextareaElement;*/\n\n // 3.STATE() VARIABLES //\n\n /**\n * The editing state for the environment name.\n */\n @State() editingEnvName = false;\n\n /**\n * The editing state for the project details.\n */\n @State() editingProjectDescription = false;\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * The KB basic properties.\n */\n @Prop() readonly kb: KBData;\n\n /**\n * This allows the kb to be editable by the user.\n */\n @Prop() readonly enableEditKBName: boolean = false;\n\n /**\n * Information of the current environment.\n */\n @Prop() readonly environment: EnvironmentData;\n\n /**\n * This allows the environment name to be editable by the user.\n */\n @Prop() readonly enableEditEnvironmentName: boolean = false;\n\n /**\n * Project Detail description.\n */\n @Prop() readonly projectDescription: string;\n\n /**\n * Recently edited objects.\n */\n @Prop() readonly recentObjects: recentObjectData[];\n\n /**\n * Callback invoked when user tries to rename the KB.\n * Receives the new name as a parameter\n * and returns a promise with the result of the operation.\n */\n @Prop() readonly renameKBCallback: (name: string) => Promise<EditResult>;\n\n /**\n * Callback invoked when user tries to rename the KB environment.\n * Receives the new name as a parameter\n * and returns a promise with the result of the operation.\n */\n @Prop() readonly renameEnvironmentCallback: (\n name: string\n ) => Promise<EditResult>;\n\n /**\n * Callback invoked when user tries to edit the Project Description.\n * The edition is resolved by the host.\n */\n @Prop() readonly editDescriptionCallback: () => Promise<void>;\n\n /**\n * Callback invoked when user tries to open one of the listed Recent Objects\n * Receives the internal ID of the object\n */\n @Prop() readonly openObjectCallback: (id: number) => Promise<void>;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n // Kb Name\n\n private handleKbNameChange = async (updatedTitle: CustomEvent<string>) => {\n const updatedKbName = updatedTitle.detail;\n if (this.renameKBCallback) {\n const response = this.renameKBCallback(updatedKbName);\n response.then((result: EditResult) => {\n if (result.success) {\n this.kb.name = updatedKbName;\n }\n this.editValidation(result, this.kbNameEl);\n });\n }\n };\n\n // Environment Name\n private handleEnvNameChange = async () => {\n if (this.renameEnvironmentCallback) {\n const response = this.renameEnvironmentCallback(this.envNameEl.value);\n response.then((result: EditResult) => {\n if (result.success) {\n this.environment.name = this.envNameEl.value;\n }\n this.editValidation(result, this.envNameEl);\n });\n }\n };\n\n private handleDescriptionChange = async () => {\n if (this.editDescriptionCallback) {\n await this.editDescriptionCallback();\n }\n };\n\n // Recent Objects\n\n private openObject = (id: number) => {\n this.openObjectCallback(id);\n };\n\n // Validation\n\n private editValidation = (\n result: EditResult,\n el: HTMLGxgTitleEditableElement\n ) => {\n if (!result.success) {\n el.validationStatus = \"error\";\n el.validationMessage = result.errorMessage;\n } else {\n el.validationStatus = \"indeterminate\";\n el.validationMessage = \"\";\n }\n };\n\n // 10.RENDER() FUNCTIONS //\n\n private renderProjectContent = (): Element => {\n return this.projectDescription ? (\n <div class=\"project-description\" innerHTML={this.projectDescription}>\n <gxg-button\n type=\"secondary-text-icon\"\n icon=\"gemini-tools/edit\"\n onClick={this.handleDescriptionChange}\n >\n {this._componentLocale.edit}\n </gxg-button>\n </div>\n ) : null;\n };\n\n private renderFrontEndTitle() {\n return this.environment.frontEnd.length <= 1\n ? this._componentLocale.environment.frontEndLang\n : this._componentLocale.environment.frontEndLangs;\n }\n\n // 11.RENDER() MAIN FUNCTION //\n\n render() {\n return (\n <Host>\n <div class=\"gx-ide-main-wrapper\">\n <div class=\"grid grid--basic\">\n <div class=\"kb gxi-overflow-auto\">\n <gxg-title-editable\n value={this.kb.name}\n disable-edition={!this.enableEditKBName}\n click-to-edit={true}\n fluid\n onValueChanged={this.handleKbNameChange}\n focusType=\"text\"\n debounce\n ref={el => (this.kbNameEl = el as HTMLGxgTitleEditableElement)}\n ></gxg-title-editable>\n <div class=\"align-center kb-detail\">\n <gxg-pill id=\"pill\" type=\"static\" icon=\"objects/procedure\">\n {this._componentLocale.version}: {this.kb.currentVersion}\n </gxg-pill>\n <gxg-text class=\"display-inline\" type=\"text-gray\" padding=\"s\">\n {this._componentLocale.created}:{\" \"}\n {formatDate(this.kb.created, \"date-time-short\")} -{\" \"}\n {this._componentLocale.lastBuild}:{\" \"}\n {formatDate(this.kb.lastBuild, \"date-time-short\")}\n </gxg-text>\n </div>\n </div>\n\n <div class=\"environment\">\n <gxg-title-editable\n class=\"environment-title\"\n value={this.environment.name}\n disable-edition={!this.enableEditEnvironmentName}\n click-to-edit={true}\n title-type=\"h3\"\n ref={el => (this.envNameEl = el as HTMLGxgTitleEditableElement)}\n onValueChanged={this.handleEnvNameChange}\n focusType=\"text\"\n debounce\n ></gxg-title-editable>\n <div class=\"environment__environments\">\n <gxg-card\n cardType=\"mini\"\n class=\"environment-card\"\n cardTitle={this.renderFrontEndTitle()}\n >\n <div class=\"environment-container\">\n {this.environment.frontEnd.map(\n (obj: EnvironmentItemData) => (\n <div class=\"environment-item\">\n <gxg-icon\n type={obj.icon}\n color=\"onbackground\"\n style={{\n \"--mer-text__on-surface\": \"var(--gray-05);\"\n }}\n ></gxg-icon>\n {obj.name}\n </div>\n )\n )}\n </div>\n </gxg-card>\n <gxg-card\n cardType=\"mini\"\n class=\"environment-card\"\n cardTitle={this._componentLocale.environment.backEnd}\n >\n <div class=\"environment-container\">\n <div class=\"environment-item\">\n <gxg-icon\n type={this.environment.backEnd.icon}\n color=\"onbackground\"\n style={{\n \"--mer-text__on-surface\": \"var(--gray-05);\"\n }}\n ></gxg-icon>\n {this.environment.backEnd.name}\n </div>\n </div>\n </gxg-card>\n\n <gxg-card\n cardType=\"mini\"\n class=\"environment-card\"\n cardTitle={this._componentLocale.environment.dataStore}\n >\n <div class=\"environment-container\">\n <div class=\"environment-item\">\n <gxg-icon\n type={this.environment.dataStore.icon}\n color=\"onbackground\"\n style={{\n \"--mer-text__on-surface\": \"var(--gray-05);\"\n }}\n ></gxg-icon>\n {this.environment.dataStore.name}\n </div>\n </div>\n </gxg-card>\n </div>\n </div>\n\n <gxg-card\n editableTitle={false}\n cardTitle={this._componentLocale.project.title}\n class=\"project\"\n >\n {/* <gxg-tabs height=\"auto\" minWidth=\"100%\">\n <gxg-tab-bar slot=\"tab-bar-container\" displayBorder>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.project.tabs.description}\n tab=\"description\"\n is-selected\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.project.tabs.lookFeel}\n tab=\"lookFeel\"\n ></gxg-tab-button>\n <gxg-tab-button\n slot=\"tab-bar\"\n tab-label={this._componentLocale.project.tabs.architecture}\n tab=\"architecture\"\n ></gxg-tab-button>\n </gxg-tab-bar>\n <gxg-tab noPadding tab=\"description\" flexContainer>\n {this.renderProjectContent()}\n </gxg-tab>\n <gxg-tab noPadding tab=\"lookFeel\" flexContainer></gxg-tab>\n <gxg-tab noPadding tab=\"architecture\" flexContainer></gxg-tab>\n </gxg-tabs> */}\n {this.renderProjectContent()}\n </gxg-card>\n\n <gxg-card\n editableTitle={false}\n cardTitle={this._componentLocale.recent.title}\n class=\"recent-objects\"\n cardType=\"section\"\n no-padding-top\n >\n {this.recentObjects.map((obj: recentObjectData, index) => (\n <gxg-card\n background=\"gray-01\"\n padding=\"m\"\n cardType=\"article\"\n class=\"recent-objects-card\"\n actionable\n onClick={() => this.openObject(index)}\n >\n <div class=\"grid grid--recent-objects\">\n <gxg-icon type={obj.typeIcon} color=\"auto\"></gxg-icon>\n <gxg-text type=\"text-regular\" class=\"obj-name\">\n {obj.name}\n </gxg-text>\n <gxg-text italic class=\"justify-end\">\n {this._componentLocale.recent.modified}:{\" \"}\n {`${formatDate(obj.modificationDate, \"date\")}`}\n </gxg-text>\n <div class=\" justify-end\">\n <gxg-icon\n type={mapStatusToIcons[obj.status]}\n color=\"auto\"\n ></gxg-icon>\n </div>\n </div>\n </gxg-card>\n ))}\n </gxg-card>\n </div>\n </div>\n </Host>\n );\n }\n}\n\nexport type KBData = {\n name: string;\n currentVersion: string;\n created: Date;\n lastBuild?: Date;\n};\n\nexport type EnvironmentData = {\n name: string;\n frontEnd: EnvironmentItemData[];\n backEnd: EnvironmentItemData;\n dataStore: EnvironmentItemData;\n};\n\nexport type EnvironmentItemData = {\n icon: string;\n name: string;\n};\n\nexport type recentObjectData = {\n id: string;\n typeIcon: string;\n name: string;\n modificationDate: Date;\n status: RecentObjectStatus;\n};\n\nexport type RecentObjectStatus =\n | \"new\"\n | \"modified\"\n | \"conflicted\"\n | \"unmodified\";\n\nexport type StatusIcons =\n // toDo: Add proper icons!!\n | \"gx-server/new\"\n | \"patterns-default-associated/modified\"\n | \"patterns-default-associated/synchronized\"\n | \"gx-server/delete\";\n\nexport type EditResult = {\n success: boolean;\n errorMessage: string;\n};\n"],"mappings":";;;;;;AAAA,MAAMA,IAAmB;;ACgBzB,MAAMC,IAEF;EACFC,KAAK;EACLC,UAAU;EACVC,YAAY;EACZC,YAAY;;;MASDC,IAAkB;;;;IAsBrBC,KAAAC,oBAAoB;;;;;QAgHpBD,KAAAE,qBAAqBC,MAAOC;MAClC,MAAMC,IAAgBD,EAAaE;MACnC,IAAIN,KAAKO,kBAAkB;QACzB,MAAMC,IAAWR,KAAKO,iBAAiBF;QACvCG,EAASC,MAAMC;UACb,IAAIA,EAAOC,SAAS;YAClBX,KAAKY,GAAGC,OAAOR;;UAEjBL,KAAKc,eAAeJ,GAAQV,KAAKe;AAAS;;;;QAMxCf,KAAAgB,sBAAsBb;MAC5B,IAAIH,KAAKiB,2BAA2B;QAClC,MAAMT,IAAWR,KAAKiB,0BAA0BjB,KAAKkB,UAAUC;QAC/DX,EAASC,MAAMC;UACb,IAAIA,EAAOC,SAAS;YAClBX,KAAKoB,YAAYP,OAAOb,KAAKkB,UAAUC;;UAEzCnB,KAAKc,eAAeJ,GAAQV,KAAKkB;AAAU;;;IAKzClB,KAAAqB,0BAA0BlB;MAChC,IAAIH,KAAKsB,yBAAyB;cAC1BtB,KAAKsB;;;;QAMPtB,KAAAuB,aAAcC;MACpBxB,KAAKyB,mBAAmBD;AAAG;;QAKrBxB,KAAAc,iBAAiB,CACvBJ,GACAgB;MAEA,KAAKhB,EAAOC,SAAS;QACnBe,EAAGC,mBAAmB;QACtBD,EAAGE,oBAAoBlB,EAAOmB;aACzB;QACLH,EAAGC,mBAAmB;QACtBD,EAAGE,oBAAoB;;;;QAMnB5B,KAAA8B,uBAAuB,MACtB9B,KAAK+B,qBACVC,EAAA;MAAKC,OAAM;MAAsBC,WAAWlC,KAAK+B;OAC/CC,EAAA;MACEG,MAAK;MACLC,MAAK;MACLC,SAASrC,KAAKqB;OAEbrB,KAAKsC,iBAAiBC,SAGzB;0BAnKoB;qCAKW;;4BAYQ;;qCAUS;;;;;;;;;EAiDtD,uBAAMC;IACJxC,KAAKsC,yBAAyBG,EAAOC,oBAAoB1C,KAAK0B;;EAGhE,kBAAAiB;IACE,KAAK3C,KAAKC,mBAAmB;MAC3BD,KAAK4C,4BAA4BC,KAC/B7C,KAAKsC,iBAAiBQ;MAExB9C,KAAKC,oBAAoB;;;EAiFrB,mBAAA8C;IACN,OAAO/C,KAAKoB,YAAY4B,SAASC,UAAU,IACvCjD,KAAKsC,iBAAiBlB,YAAY8B,eAClClD,KAAKsC,iBAAiBlB,YAAY+B;;;EAKxC,MAAAC;IACE,OACEpB,EAACqB,GAAI,MACHrB,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAKC,OAAM;OACTD,EAAA;MACEb,OAAOnB,KAAKY,GAAGC;MAAI,oBACDb,KAAKsD;MAAgB,iBACxB;MACfC,OAAK;MACLC,gBAAgBxD,KAAKE;MACrBuD,WAAU;MACVC,UAAQ;MACRC,KAAKjC,KAAO1B,KAAKe,WAAWW;QAE9BM,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAUR,IAAG;MAAOW,MAAK;MAASC,MAAK;OACpCpC,KAAKsC,iBAAiBsB,SAAO,MAAI5D,KAAKY,GAAGiD,iBAE5C7B,EAAA;MAAUC,OAAM;MAAiBE,MAAK;MAAY2B,SAAQ;OACvD9D,KAAKsC,iBAAiByB,SAAO,KAAG,KAChCC,EAAWhE,KAAKY,GAAGmD,SAAS,oBAAkB,MAAI,KAClD/D,KAAKsC,iBAAiB2B,WAAS,KAAG,KAClCD,EAAWhE,KAAKY,GAAGqD,WAAW,uBAKrCjC,EAAA;MAAKC,OAAM;OACTD,EAAA;MACEC,OAAM;MACNd,OAAOnB,KAAKoB,YAAYP;MAAI,oBACVb,KAAKkE;MAAyB,iBACjC;MAAI,cACR;MACXP,KAAKjC,KAAO1B,KAAKkB,YAAYQ;MAC7B8B,gBAAgBxD,KAAKgB;MACrByC,WAAU;MACVC,UAAQ;QAEV1B,EAAA;MAAKC,OAAM;OACTD,EAAA;MACEmC,UAAS;MACTlC,OAAM;MACNmC,WAAWpE,KAAK+C;OAEhBf,EAAA;MAAKC,OAAM;OACRjC,KAAKoB,YAAY4B,SAASqB,KACxBC,KACCtC,EAAA;MAAKC,OAAM;OACTD,EAAA;MACEG,MAAMmC,EAAIlC;MACVmC,OAAM;MACNC,OAAO;QACL,0BAA0B;;QAG7BF,EAAIzD,WAMfmB,EAAA;MACEmC,UAAS;MACTlC,OAAM;MACNmC,WAAWpE,KAAKsC,iBAAiBlB,YAAYqD;OAE7CzC,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAKC,OAAM;OACTD,EAAA;MACEG,MAAMnC,KAAKoB,YAAYqD,QAAQrC;MAC/BmC,OAAM;MACNC,OAAO;QACL,0BAA0B;;QAG7BxE,KAAKoB,YAAYqD,QAAQ5D,SAKhCmB,EAAA;MACEmC,UAAS;MACTlC,OAAM;MACNmC,WAAWpE,KAAKsC,iBAAiBlB,YAAYsD;OAE7C1C,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAKC,OAAM;OACTD,EAAA;MACEG,MAAMnC,KAAKoB,YAAYsD,UAAUtC;MACjCmC,OAAM;MACNC,OAAO;QACL,0BAA0B;;QAG7BxE,KAAKoB,YAAYsD,UAAU7D,WAOtCmB,EAAA;MACE2C,eAAe;MACfP,WAAWpE,KAAKsC,iBAAiBsC,QAAQC;MACzC5C,OAAM;OA2BLjC,KAAK8B,yBAGRE,EAAA;MACE2C,eAAe;MACfP,WAAWpE,KAAKsC,iBAAiBwC,OAAOD;MACxC5C,OAAM;MACNkC,UAAS;MAAS;OAGjBnE,KAAK+E,cAAcV,KAAI,CAACC,GAAuBU,MAC9ChD,EAAA;MACEiD,YAAW;MACXnB,SAAQ;MACRK,UAAS;MACTlC,OAAM;MACNiD,YAAU;MACV7C,SAAS,MAAMrC,KAAKuB,WAAWyD;OAE/BhD,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAUG,MAAMmC,EAAIa;MAAUZ,OAAM;QACpCvC,EAAA;MAAUG,MAAK;MAAeF,OAAM;OACjCqC,EAAIzD,OAEPmB,EAAA;MAAUoD,QAAM;MAACnD,OAAM;OACpBjC,KAAKsC,iBAAiBwC,OAAOlF,UAAQ,KAAG,KACxC,GAAGoE,EAAWM,EAAIe,kBAAkB,YAEvCrD,EAAA;MAAKC,OAAM;OACTD,EAAA;MACEG,MAAMzC,EAAiB4E,EAAIgB;MAC3Bf,OAAM"}
@@ -0,0 +1,236 @@
1
+ import { r as e, h as t, H as r, g as a } from "./p-2776d2f9.js";
2
+
3
+ import { L as i } from "./p-74d59062.js";
4
+
5
+ const o = ":host{display:flex;align-items:center;justify-content:center}.container{max-width:520px;margin:0 auto;gap:var(--mer-spacing--xl);opacity:0;transition:opacity var(--state-transition-speed);padding:var(--mer-spacing--md)}.container .icon-wrapper{border:var(--mer-border__width--sm) dashed var(--mer-accent__primary);border-radius:50%;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center}.container__main{gap:var(--mer-spacing--sm)}.container__buttons{gap:var(--mer-spacing--xs)}.container--visible{opacity:1}.container,.container__main,.container__buttons{display:flex;align-items:center;flex-direction:column}";
6
+
7
+ const s = class {
8
+ constructor(t) {
9
+ e(this, t);
10
+ /*
11
+ INDEX:
12
+ 1.OWN PROPERTIES
13
+ 2.REFERENCE TO ELEMENTS
14
+ 3.STATE() VARIABLES
15
+ 4.PUBLIC PROPERTY API | WATCH'S
16
+ 5.EVENTS (EMIT)
17
+ 6.COMPONENT LIFECYCLE METHODS
18
+ 7.LISTENERS
19
+ 8.PUBLIC METHODS API
20
+ 9.LOCAL METHODS
21
+ 10.RENDER() FUNCTION
22
+ */
23
+ // 1.OWN PROPERTIES //
24
+ this.transitionSpeed = 200;
25
+ this.stateIcon = undefined;
26
+ this.stateTitle = undefined;
27
+ this.stateDescription = undefined;
28
+ this.primaryButtonLabel = undefined;
29
+ this.secondaryButtonLabel = undefined;
30
+ this.display = false;
31
+ }
32
+ watchDisplayHandler(e) {
33
+ if (e) {
34
+ this.primaryButtonEl.disabled = false;
35
+ this.secondaryButtonEl.disabled = false;
36
+ } else {
37
+ setTimeout((() => {
38
+ this.primaryButtonEl.disabled = true;
39
+ this.secondaryButtonEl.disabled = true;
40
+ }), this.transitionSpeed);
41
+ }
42
+ }
43
+ // 5.EVENTS (EMIT) //
44
+ // 6.COMPONENT LIFECYCLE METHODS //
45
+ componentWillLoad() {
46
+ this.el.style.setProperty("--state-transition-speed", `${this.transitionSpeed}ms`);
47
+ }
48
+ componentDidLoad() {
49
+ this.display = true;
50
+ }
51
+ // 7.LISTENERS //
52
+ // 8.PUBLIC METHODS API //
53
+ // 9.LOCAL METHODS //
54
+ // 10.RENDER() FUNCTION //
55
+ render() {
56
+ return t(r, null, t("div", {
57
+ class: {
58
+ container: true,
59
+ "container--visible": this.display
60
+ }
61
+ }, this.stateIcon ? t("span", {
62
+ class: "icon-wrapper"
63
+ }, t("gxg-icon", {
64
+ class: "icon",
65
+ type: this.stateIcon,
66
+ color: "mercury-primary"
67
+ }, this.stateTitle)) : null, t("main", {
68
+ class: "container__main"
69
+ }, this.stateTitle ? t("gx-ide-title", {
70
+ alignment: "center"
71
+ }, this.stateTitle) : null, this.stateDescription ? t("gxg-text", {
72
+ textAlign: "center"
73
+ }, this.stateDescription) : null), t("div", {
74
+ class: "container__buttons"
75
+ }, this.primaryButtonLabel ? t("gxg-button", {
76
+ type: "primary-text-only",
77
+ ref: e => this.primaryButtonEl = e
78
+ }, this.primaryButtonLabel) : null, this.secondaryButtonLabel ? t("gxg-button", {
79
+ type: "secondary-text-only",
80
+ ref: e => this.secondaryButtonEl = e
81
+ }, this.secondaryButtonLabel) : null)));
82
+ }
83
+ get el() {
84
+ return a(this);
85
+ }
86
+ static get watchers() {
87
+ return {
88
+ display: [ "watchDisplayHandler" ]
89
+ };
90
+ }
91
+ };
92
+
93
+ s.style = o;
94
+
95
+ const n = ":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)}.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-container{display:flex;height:100%;width:100%;box-sizing:border-box}:host{display:block;box-shadow:none;height:100%;overflow:hidden;padding-bottom:2px;box-sizing:border-box}.news-container{display:flex;flex-direction:column;gap:var(--gx-ide-articles-gap)}.news-container p:first-child{margin-top:0}.news-container p:last-child{margin-bottom:0}gxg-card.section{height:100% !important;overflow:auto;border-bottom:2px solid var(--gray-00)}gxg-ide-loader::part(loader-wrapper){border-radius:var(--gxg-card-section_border-radius);overflow:hidden}.gxg-card-container{height:100%;overflow:auto}.gx-ide-message{height:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm)}.gx-ide-message--hidden{display:none}gx-ide-title{max-width:250px}.news-article{transition:200ms opacity;opacity:0}.news-article.visible{opacity:1}";
96
+
97
+ const l = class {
98
+ constructor(r) {
99
+ e(this, r);
100
+ this.newsRendered = false;
101
+ this.setTimeOutNewsDelay = 75;
102
+ // 7.LISTENERS //
103
+ // 8.PUBLIC METHODS API //
104
+ // 9.LOCAL METHODS //
105
+ this.evaluateNewsDisplay = () => {
106
+ if (!this.newsRendered && this.news.length > 0 && this.newsContainerEl !== undefined) {
107
+ this.displayNews();
108
+ this.newsRendered = true;
109
+ }
110
+ };
111
+ this.displayNews = () => {
112
+ if (this.newsContainerEl !== undefined) {
113
+ const e = Array.from(this.newsContainerEl.querySelectorAll("gxg-card"));
114
+ e.forEach((e => {
115
+ setTimeout((() => {
116
+ e.classList.add("visible");
117
+ }), this.setTimeOutNewsDelay);
118
+ this.setTimeOutNewsDelay += 75;
119
+ }));
120
+ }
121
+ };
122
+ this.attachLoaderEvents = () => {
123
+ this.loaderEl.addEventListener("loaderFinished", (() => {
124
+ if (this.news.length === 0) {
125
+ this.newsLoadFailed = true;
126
+ } else {
127
+ this.newsLoadFailed = false;
128
+ }
129
+ }));
130
+ };
131
+ this.getNews = async () => {
132
+ this.loaderEl.show = true;
133
+ if (this.getNewsCallback) {
134
+ const e = await this.getNewsCallback();
135
+ this.loaderEl.show = false;
136
+ if (e && e.length > 0) {
137
+ this.news = e;
138
+ this.newsLoadFailed = false;
139
+ } else {
140
+ this.newsLoadFailed = true;
141
+ }
142
+ }
143
+ };
144
+ this.openNewsHandler = e => async () => {
145
+ if (this.openNewsCallback) {
146
+ await this.openNewsCallback(e);
147
+ }
148
+ }
149
+ // 9.LOCAL METHODS -> RENDERS //
150
+ ;
151
+ this.renderNews = e => {
152
+ if (e.id && e.title) {
153
+ return t("gxg-card", {
154
+ id: e.id,
155
+ key: e.id,
156
+ cardType: "article",
157
+ cardTitle: e.title,
158
+ icon: "gx-test/test-results",
159
+ iconColor: "auto",
160
+ actionable: true,
161
+ onClick: this.openNewsHandler(e.id),
162
+ titleSemibold: true,
163
+ noHeaderBorder: true,
164
+ class: "news-article"
165
+ }, e.body ? t("p", null, e.body) : null);
166
+ }
167
+ return null;
168
+ };
169
+ this.news = [];
170
+ this.newsLoadFailed = false;
171
+ this.getNewsCallback = undefined;
172
+ this.openNewsCallback = undefined;
173
+ }
174
+ watchNewsHandler() {
175
+ this.displayNews();
176
+ }
177
+ // 5.EVENTS (EMIT) //
178
+ // 6.COMPONENT LIFECYCLE METHODS //
179
+ async componentWillLoad() {
180
+ this._componentLocale = await i.getComponentStrings(this.el);
181
+ }
182
+ componentDidLoad() {
183
+ this.getNews();
184
+ this.attachLoaderEvents();
185
+ }
186
+ componentDidRender() {
187
+ this.evaluateNewsDisplay();
188
+ }
189
+ // 10.RENDER() FUNCTION //
190
+ render() {
191
+ var e;
192
+ return t(r, null, t("gxg-card", {
193
+ class: "section",
194
+ cardType: "section",
195
+ cardTitle: this._componentLocale.recentNews.title
196
+ }, this.news.length > 0 ? t("div", {
197
+ class: "news-container",
198
+ ref: e => this.newsContainerEl = e
199
+ }, (e = this.news) === null || e === void 0 ? void 0 : e.map((e => this.renderNews(e)))) : t("div", {
200
+ class: {
201
+ "gx-ide-message": true,
202
+ "gx-ide-message--hidden": !this.newsLoadFailed
203
+ }
204
+ }, t("gx-ide-title", {
205
+ alignment: "center"
206
+ }, this._componentLocale.recentNews.newsNotFetched), t("gxg-button", {
207
+ onClick: this.getNews
208
+ }, this._componentLocale.recentNews.tryAgainButtonLabel), t("gxg-text", {
209
+ type: "text-link",
210
+ href: "https://www.genexus.com/en/news",
211
+ target: "_blank"
212
+ }, this._componentLocale.recentNews.readThemOnline))), t("gxg-ide-loader", {
213
+ abortTime: 8e3,
214
+ container: this.el,
215
+ loaderTitle: this._componentLocale.loader.title,
216
+ description: "Hang on please",
217
+ ref: e => this.loaderEl = e
218
+ }));
219
+ }
220
+ static get assetsDirs() {
221
+ return [ "gx-ide-assets/recent-news" ];
222
+ }
223
+ get el() {
224
+ return a(this);
225
+ }
226
+ static get watchers() {
227
+ return {
228
+ news: [ "watchNewsHandler" ]
229
+ };
230
+ }
231
+ };
232
+
233
+ l.style = n;
234
+
235
+ export { s as gx_ide_empty_state, l as gx_ide_recent_news };
236
+ //# sourceMappingURL=p-2e6da0ef.entry.js.map