@genexus/genexus-ide-ui 0.0.99 → 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 (404) hide show
  1. package/dist/cjs/ch-icon_5.cjs.entry.js +3 -2
  2. package/dist/cjs/ch-icon_5.cjs.entry.js.map +1 -1
  3. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  4. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-card.cjs.entry.js +1 -1
  9. package/dist/cjs/gx-ide-card.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +16 -14
  13. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
  14. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +1 -1
  15. package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
  16. package/dist/cjs/gx-ide-empty-state_2.cjs.entry.js +175 -0
  17. package/dist/cjs/gx-ide-empty-state_2.cjs.entry.js.map +1 -0
  18. package/dist/cjs/gx-ide-import-from-design.cjs.entry.js +3 -10
  19. package/dist/cjs/gx-ide-import-from-design.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
  21. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
  22. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
  23. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  24. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +1 -1
  25. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
  26. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
  27. package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
  28. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
  29. package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
  30. package/dist/cjs/gx-ide-new-object.cjs.entry.js +1 -1
  31. package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
  32. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
  33. package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
  34. package/dist/cjs/gx-ide-references.cjs.entry.js +1 -1
  35. package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
  36. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
  37. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  38. package/dist/cjs/gx-ide-start-page.cjs.entry.js +9 -5
  39. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  40. package/dist/cjs/gx-ide-status-buttons_2.cjs.entry.js +41 -27
  41. package/dist/cjs/gx-ide-status-buttons_2.cjs.entry.js.map +1 -1
  42. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
  43. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  44. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
  45. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js.map +1 -1
  46. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
  47. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
  48. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
  49. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js.map +1 -1
  50. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
  51. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  52. package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
  53. package/dist/cjs/gx-ide-template.cjs.entry.js.map +1 -1
  54. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  55. package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
  56. package/dist/cjs/gxg-card_2.cjs.entry.js +10 -5
  57. package/dist/cjs/gxg-card_2.cjs.entry.js.map +1 -1
  58. package/dist/cjs/gxg-combo-box_2.cjs.entry.js +62 -24
  59. package/dist/cjs/gxg-combo-box_2.cjs.entry.js.map +1 -1
  60. package/dist/cjs/gxg-list-box_2.cjs.entry.js +28 -3
  61. package/dist/cjs/gxg-list-box_2.cjs.entry.js.map +1 -1
  62. package/dist/cjs/gxg-menu-item.cjs.entry.js +1 -1
  63. package/dist/cjs/gxg-menu-item.cjs.entry.js.map +1 -1
  64. package/dist/cjs/gxg-pill.cjs.entry.js +5 -5
  65. package/dist/cjs/gxg-pill.cjs.entry.js.map +1 -1
  66. package/dist/cjs/gxg-pills.cjs.entry.js +1 -1
  67. package/dist/cjs/gxg-pills.cjs.entry.js.map +1 -1
  68. package/dist/cjs/gxg-tab_4.cjs.entry.js +97 -17
  69. package/dist/cjs/gxg-tab_4.cjs.entry.js.map +1 -1
  70. package/dist/cjs/gxg-window-v2.cjs.entry.js +28 -0
  71. package/dist/cjs/gxg-window-v2.cjs.entry.js.map +1 -0
  72. package/dist/cjs/loader.cjs.js +1 -1
  73. package/dist/collection/collection-manifest.json +3 -1
  74. package/dist/collection/components/_helpers/card/card.css +333 -26
  75. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +40 -0
  76. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.js +180 -0
  77. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.js.map +1 -0
  78. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.css +0 -1
  79. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +1 -1
  80. package/dist/collection/components/_helpers/list-selector/list-selector.css +519 -13
  81. package/dist/collection/components/_helpers/list-selector/list-selector.js +1 -1
  82. package/dist/collection/components/_starting-template/template.css +333 -26
  83. package/dist/collection/components/ai-assistant/ai-assistant.css +333 -26
  84. package/dist/collection/components/ai-assistant/ai-message.css +0 -1
  85. package/dist/collection/components/bpm-application-declaration/bpm-app-declaration.css +333 -26
  86. package/dist/collection/components/create-kb-from-server/create-kb-from-server.css +333 -26
  87. package/dist/collection/components/dashboard-home/dashboard-home.css +711 -41
  88. package/dist/collection/components/dashboard-home/dashboard-home.js +51 -14
  89. package/dist/collection/components/dashboard-home/dashboard-home.js.map +1 -1
  90. package/dist/collection/components/data-selector/data-selector.css +333 -26
  91. package/dist/collection/components/import-from-design/import-from-design.css +333 -26
  92. package/dist/collection/components/import-from-design/import-from-design.js +3 -12
  93. package/dist/collection/components/import-from-design/import-from-design.js.map +1 -1
  94. package/dist/collection/components/kb-manager-export/kb-manager-export.css +333 -26
  95. package/dist/collection/components/kb-manager-import/kb-manager-import.css +333 -26
  96. package/dist/collection/components/new-environment/new-environment.css +333 -26
  97. package/dist/collection/components/new-kb/new-kb.css +333 -26
  98. package/dist/collection/components/new-object/new-object.css +333 -26
  99. package/dist/collection/components/object-selector/object-selector.css +333 -26
  100. package/dist/collection/components/references/references.css +333 -26
  101. package/dist/collection/components/share-kb/share-kb.css +333 -26
  102. package/dist/collection/components/start-page/recent-news.css +334 -27
  103. package/dist/collection/components/start-page/start-page.css +337 -26
  104. package/dist/collection/components/start-page/start-page.js +8 -4
  105. package/dist/collection/components/start-page/start-page.js.map +1 -1
  106. package/dist/collection/components/team-dev/commit/commit.css +333 -26
  107. package/dist/collection/components/team-dev/select-recent-comment/select-recent-comment.css +333 -26
  108. package/dist/collection/components/team-dev/update/update.css +333 -26
  109. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +333 -26
  110. package/dist/collection/components/team-dev/update-to-revision/update-to-revision.css +333 -26
  111. package/dist/collection/components/ww-images/ww-images.css +333 -26
  112. package/dist/collection/pages/assets/common.js +1 -1
  113. package/dist/components/card.js +11 -5
  114. package/dist/components/card.js.map +1 -1
  115. package/dist/components/combo-box.js +62 -24
  116. package/dist/components/combo-box.js.map +1 -1
  117. package/dist/components/gx-ide-ai-assistant.js +1 -1
  118. package/dist/components/gx-ide-ai-assistant.js.map +1 -1
  119. package/dist/components/gx-ide-bpm-app-declaration.js +1 -1
  120. package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
  121. package/dist/components/gx-ide-card.js +1 -1
  122. package/dist/components/gx-ide-card.js.map +1 -1
  123. package/dist/components/gx-ide-create-kb-from-server.js +1 -1
  124. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  125. package/dist/components/gx-ide-dashboard-home.js +32 -47
  126. package/dist/components/gx-ide-dashboard-home.js.map +1 -1
  127. package/dist/components/gx-ide-data-selector.js +1 -1
  128. package/dist/components/gx-ide-data-selector.js.map +1 -1
  129. package/dist/components/gx-ide-empty-state.d.ts +11 -0
  130. package/dist/components/gx-ide-empty-state.js +8 -0
  131. package/dist/components/gx-ide-empty-state.js.map +1 -0
  132. package/dist/components/gx-ide-empty-state2.js +126 -0
  133. package/dist/components/gx-ide-empty-state2.js.map +1 -0
  134. package/dist/components/gx-ide-import-from-design.js +4 -12
  135. package/dist/components/gx-ide-import-from-design.js.map +1 -1
  136. package/dist/components/gx-ide-kb-manager-export.js +1 -1
  137. package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
  138. package/dist/components/gx-ide-kb-manager-import.js +1 -1
  139. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  140. package/dist/components/gx-ide-new-environment.js +1 -1
  141. package/dist/components/gx-ide-new-environment.js.map +1 -1
  142. package/dist/components/gx-ide-new-kb.js +1 -1
  143. package/dist/components/gx-ide-new-kb.js.map +1 -1
  144. package/dist/components/gx-ide-new-object.js +1 -1
  145. package/dist/components/gx-ide-new-object.js.map +1 -1
  146. package/dist/components/gx-ide-object-selector.js +1 -1
  147. package/dist/components/gx-ide-object-selector.js.map +1 -1
  148. package/dist/components/gx-ide-references.js +1 -1
  149. package/dist/components/gx-ide-references.js.map +1 -1
  150. package/dist/components/gx-ide-share-kb.js +1 -1
  151. package/dist/components/gx-ide-share-kb.js.map +1 -1
  152. package/dist/components/gx-ide-start-page.js +21 -11
  153. package/dist/components/gx-ide-start-page.js.map +1 -1
  154. package/dist/components/gx-ide-team-dev-commit.js +1 -1
  155. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  156. package/dist/components/gx-ide-team-dev-select-recent-comment.js +1 -1
  157. package/dist/components/gx-ide-team-dev-select-recent-comment.js.map +1 -1
  158. package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
  159. package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
  160. package/dist/components/gx-ide-team-dev-update-to-revision.js +1 -1
  161. package/dist/components/gx-ide-team-dev-update-to-revision.js.map +1 -1
  162. package/dist/components/gx-ide-team-dev-update.js +1 -1
  163. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  164. package/dist/components/gx-ide-template.js +1 -1
  165. package/dist/components/gx-ide-template.js.map +1 -1
  166. package/dist/components/gx-ide-ww-images.js +1 -1
  167. package/dist/components/gx-ide-ww-images.js.map +1 -1
  168. package/dist/components/gxg-menu-item.js +1 -1
  169. package/dist/components/gxg-menu-item.js.map +1 -1
  170. package/dist/components/gxg-pills.js +1 -1
  171. package/dist/components/gxg-pills.js.map +1 -1
  172. package/dist/components/gxg-top-state-bar2.js +46 -30
  173. package/dist/components/gxg-top-state-bar2.js.map +1 -1
  174. package/dist/components/gxg-window-v2.js +44 -0
  175. package/dist/components/gxg-window-v2.js.map +1 -0
  176. package/dist/components/icon2.js +3 -2
  177. package/dist/components/icon2.js.map +1 -1
  178. package/dist/components/list-box.js +27 -1
  179. package/dist/components/list-box.js.map +1 -1
  180. package/dist/components/list-selector.js +1 -1
  181. package/dist/components/list-selector.js.map +1 -1
  182. package/dist/components/pill.js +5 -5
  183. package/dist/components/pill.js.map +1 -1
  184. package/dist/components/recent-news.js +1 -1
  185. package/dist/components/recent-news.js.map +1 -1
  186. package/dist/components/tab-bar.js +17 -9
  187. package/dist/components/tab-bar.js.map +1 -1
  188. package/dist/components/tab-button.js +11 -4
  189. package/dist/components/tab-button.js.map +1 -1
  190. package/dist/components/tab.js +6 -3
  191. package/dist/components/tab.js.map +1 -1
  192. package/dist/components/tabs.js +73 -4
  193. package/dist/components/tabs.js.map +1 -1
  194. package/dist/esm/ch-icon_5.entry.js +3 -2
  195. package/dist/esm/ch-icon_5.entry.js.map +1 -1
  196. package/dist/esm/genexus-ide-ui.js +1 -1
  197. package/dist/esm/gx-ide-ai-assistant.entry.js +1 -1
  198. package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
  199. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
  200. package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
  201. package/dist/esm/gx-ide-card.entry.js +1 -1
  202. package/dist/esm/gx-ide-card.entry.js.map +1 -1
  203. package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
  204. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  205. package/dist/esm/gx-ide-dashboard-home.entry.js +16 -14
  206. package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
  207. package/dist/esm/gx-ide-data-selector.entry.js +1 -1
  208. package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
  209. package/dist/esm/gx-ide-empty-state_2.entry.js +170 -0
  210. package/dist/esm/gx-ide-empty-state_2.entry.js.map +1 -0
  211. package/dist/esm/gx-ide-import-from-design.entry.js +3 -10
  212. package/dist/esm/gx-ide-import-from-design.entry.js.map +1 -1
  213. package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
  214. package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
  215. package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
  216. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  217. package/dist/esm/gx-ide-list-selector_2.entry.js +1 -1
  218. package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
  219. package/dist/esm/gx-ide-new-environment.entry.js +1 -1
  220. package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
  221. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  222. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  223. package/dist/esm/gx-ide-new-object.entry.js +1 -1
  224. package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
  225. package/dist/esm/gx-ide-object-selector.entry.js +1 -1
  226. package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
  227. package/dist/esm/gx-ide-references.entry.js +1 -1
  228. package/dist/esm/gx-ide-references.entry.js.map +1 -1
  229. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  230. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  231. package/dist/esm/gx-ide-start-page.entry.js +9 -5
  232. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  233. package/dist/esm/gx-ide-status-buttons_2.entry.js +41 -27
  234. package/dist/esm/gx-ide-status-buttons_2.entry.js.map +1 -1
  235. package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
  236. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  237. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
  238. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js.map +1 -1
  239. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
  240. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
  241. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
  242. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js.map +1 -1
  243. package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
  244. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  245. package/dist/esm/gx-ide-template.entry.js +1 -1
  246. package/dist/esm/gx-ide-template.entry.js.map +1 -1
  247. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  248. package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
  249. package/dist/esm/gxg-card_2.entry.js +10 -5
  250. package/dist/esm/gxg-card_2.entry.js.map +1 -1
  251. package/dist/esm/gxg-combo-box_2.entry.js +62 -24
  252. package/dist/esm/gxg-combo-box_2.entry.js.map +1 -1
  253. package/dist/esm/gxg-list-box_2.entry.js +27 -2
  254. package/dist/esm/gxg-list-box_2.entry.js.map +1 -1
  255. package/dist/esm/gxg-menu-item.entry.js +1 -1
  256. package/dist/esm/gxg-menu-item.entry.js.map +1 -1
  257. package/dist/esm/gxg-pill.entry.js +5 -5
  258. package/dist/esm/gxg-pill.entry.js.map +1 -1
  259. package/dist/esm/gxg-pills.entry.js +1 -1
  260. package/dist/esm/gxg-pills.entry.js.map +1 -1
  261. package/dist/esm/gxg-tab_4.entry.js +97 -17
  262. package/dist/esm/gxg-tab_4.entry.js.map +1 -1
  263. package/dist/esm/gxg-window-v2.entry.js +24 -0
  264. package/dist/esm/gxg-window-v2.entry.js.map +1 -0
  265. package/dist/esm/loader.js +1 -1
  266. package/dist/genexus-ide-ui/genexus-ide-ui.css +74 -7
  267. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  268. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  269. package/dist/genexus-ide-ui/icon-assets/mercury/tests/balanza-path.svg +3 -0
  270. package/dist/genexus-ide-ui/icon-assets/mercury/tests/balanza-stroke.svg +9 -0
  271. package/dist/genexus-ide-ui/icon-assets/mercury/tests/folder-2.svg +3 -0
  272. package/dist/genexus-ide-ui/p-05bc4d77.entry.js +598 -0
  273. package/dist/genexus-ide-ui/p-1346991a.entry.js +232 -0
  274. package/dist/genexus-ide-ui/p-1346991a.entry.js.map +1 -0
  275. package/dist/genexus-ide-ui/{p-b8fc93f4.entry.js → p-2c8afaa6.entry.js} +147 -112
  276. package/dist/genexus-ide-ui/p-2c8afaa6.entry.js.map +1 -0
  277. package/dist/genexus-ide-ui/p-2e6da0ef.entry.js +236 -0
  278. package/dist/genexus-ide-ui/p-2e6da0ef.entry.js.map +1 -0
  279. package/dist/genexus-ide-ui/{p-8bdaef96.entry.js → p-336ee17f.entry.js} +74 -74
  280. package/dist/genexus-ide-ui/p-336ee17f.entry.js.map +1 -0
  281. package/dist/genexus-ide-ui/p-382fe6fa.entry.js +331 -0
  282. package/dist/genexus-ide-ui/p-40d52b2f.entry.js +487 -0
  283. package/dist/genexus-ide-ui/p-4a5ad686.entry.js +293 -0
  284. package/dist/genexus-ide-ui/p-4a706d20.entry.js +583 -0
  285. package/dist/genexus-ide-ui/p-4bd869d3.entry.js +702 -0
  286. package/dist/genexus-ide-ui/p-4bd869d3.entry.js.map +1 -0
  287. package/dist/genexus-ide-ui/{p-5ca84a03.entry.js → p-4e155cd5.entry.js} +27 -4
  288. package/dist/genexus-ide-ui/p-4e155cd5.entry.js.map +1 -0
  289. package/dist/genexus-ide-ui/p-4fc6d6a7.entry.js +24 -0
  290. package/dist/genexus-ide-ui/p-4fc6d6a7.entry.js.map +1 -0
  291. package/dist/genexus-ide-ui/p-54e4b362.entry.js +270 -0
  292. package/dist/genexus-ide-ui/p-54e4b362.entry.js.map +1 -0
  293. package/dist/genexus-ide-ui/p-5507f11d.entry.js +571 -0
  294. package/dist/genexus-ide-ui/p-5ac58299.entry.js +238 -0
  295. package/dist/genexus-ide-ui/p-5bce420c.entry.js +187 -0
  296. package/dist/genexus-ide-ui/p-5ed3968f.entry.js +183 -0
  297. package/dist/genexus-ide-ui/p-5ed3968f.entry.js.map +1 -0
  298. package/dist/genexus-ide-ui/{p-73aa4e69.entry.js → p-71f8aba2.entry.js} +13 -13
  299. package/dist/genexus-ide-ui/{p-73aa4e69.entry.js.map → p-71f8aba2.entry.js.map} +1 -1
  300. package/dist/genexus-ide-ui/p-725fe015.entry.js +273 -0
  301. package/dist/genexus-ide-ui/p-72e5a0db.entry.js +111 -0
  302. package/dist/genexus-ide-ui/p-784d3d82.entry.js +119 -0
  303. package/dist/genexus-ide-ui/{p-545291ad.entry.js → p-7dc3a137.entry.js} +4 -3
  304. package/dist/genexus-ide-ui/{p-545291ad.entry.js.map → p-7dc3a137.entry.js.map} +1 -1
  305. package/dist/genexus-ide-ui/{p-f186adfd.entry.js → p-85639fa5.entry.js} +100 -22
  306. package/dist/genexus-ide-ui/p-85639fa5.entry.js.map +1 -0
  307. package/dist/genexus-ide-ui/p-921fc4d4.entry.js +344 -0
  308. package/dist/genexus-ide-ui/p-9a333c79.entry.js +158 -0
  309. package/dist/genexus-ide-ui/p-a0180ad9.entry.js +614 -0
  310. package/dist/genexus-ide-ui/p-b0e539fe.entry.js +41 -0
  311. package/dist/genexus-ide-ui/p-b0e539fe.entry.js.map +1 -0
  312. package/dist/genexus-ide-ui/p-b25c9d3c.entry.js +472 -0
  313. package/dist/genexus-ide-ui/p-bddc1a7b.entry.js +305 -0
  314. package/dist/genexus-ide-ui/p-bf16cfca.entry.js +62 -0
  315. package/dist/genexus-ide-ui/{p-a439149b.entry.js → p-bff2603a.entry.js} +8 -3
  316. package/dist/genexus-ide-ui/p-bff2603a.entry.js.map +1 -0
  317. package/dist/genexus-ide-ui/p-d648668d.entry.js +436 -0
  318. package/dist/genexus-ide-ui/p-e0704caf.entry.js +44 -0
  319. package/dist/genexus-ide-ui/p-e0d9ab03.entry.js +257 -0
  320. package/dist/genexus-ide-ui/{p-e585f550.entry.js → p-e3925761.entry.js} +4 -5
  321. package/dist/genexus-ide-ui/{p-e585f550.entry.js.map → p-e3925761.entry.js.map} +1 -1
  322. package/dist/node_modules/@genexus/gemini/dist/collection/components/card/card.css +13 -1
  323. package/dist/node_modules/@genexus/gemini/dist/collection/components/pills/pill.css +16 -51
  324. package/dist/node_modules/@genexus/gemini/dist/collection/components/pills/pills.css +1 -8
  325. package/dist/node_modules/@genexus/gemini/dist/collection/components/tab/tab.css +7 -0
  326. package/dist/node_modules/@genexus/gemini/dist/collection/components/tab-bar/tab-bar.css +18 -0
  327. package/dist/node_modules/@genexus/gemini/dist/collection/components/tab-button/tab-button.css +17 -0
  328. package/dist/node_modules/@genexus/gemini/dist/collection/components/tabs/tabs.css +64 -13
  329. package/dist/node_modules/@genexus/gemini/dist/collection/components/top-state-bar/gxg-top-state-bar.css +120 -43
  330. package/dist/node_modules/@genexus/gemini/dist/collection/components/window-v2/window.css +3 -0
  331. package/dist/types/components/_helpers/empty-state/gx-ide-empty-state.d.ts +34 -0
  332. package/dist/types/components/dashboard-home/dashboard-home.d.ts +8 -5
  333. package/dist/types/components/import-from-design/import-from-design.d.ts +1 -3
  334. package/dist/types/components.d.ts +77 -0
  335. package/package.json +3 -3
  336. package/dist/cjs/gx-ide-recent-news.cjs.entry.js +0 -113
  337. package/dist/cjs/gx-ide-recent-news.cjs.entry.js.map +0 -1
  338. package/dist/cjs/reposition-scroll-86d8fac5.js +0 -33
  339. package/dist/cjs/reposition-scroll-86d8fac5.js.map +0 -1
  340. package/dist/components/reposition-scroll.js +0 -31
  341. package/dist/components/reposition-scroll.js.map +0 -1
  342. package/dist/esm/gx-ide-recent-news.entry.js +0 -109
  343. package/dist/esm/gx-ide-recent-news.entry.js.map +0 -1
  344. package/dist/esm/reposition-scroll-cfff7017.js +0 -31
  345. package/dist/esm/reposition-scroll-cfff7017.js.map +0 -1
  346. package/dist/genexus-ide-ui/p-007a3368.entry.js +0 -158
  347. package/dist/genexus-ide-ui/p-050bc199.entry.js +0 -146
  348. package/dist/genexus-ide-ui/p-050bc199.entry.js.map +0 -1
  349. package/dist/genexus-ide-ui/p-148ec5e4.entry.js +0 -293
  350. package/dist/genexus-ide-ui/p-30365c44.entry.js +0 -241
  351. package/dist/genexus-ide-ui/p-30365c44.entry.js.map +0 -1
  352. package/dist/genexus-ide-ui/p-317e4ff6.entry.js +0 -62
  353. package/dist/genexus-ide-ui/p-3e87257c.entry.js +0 -41
  354. package/dist/genexus-ide-ui/p-3e87257c.entry.js.map +0 -1
  355. package/dist/genexus-ide-ui/p-420a2b62.entry.js +0 -598
  356. package/dist/genexus-ide-ui/p-587f3ba5.entry.js +0 -344
  357. package/dist/genexus-ide-ui/p-58cad79d.entry.js +0 -712
  358. package/dist/genexus-ide-ui/p-58cad79d.entry.js.map +0 -1
  359. package/dist/genexus-ide-ui/p-5ba47216.entry.js +0 -305
  360. package/dist/genexus-ide-ui/p-5ca84a03.entry.js.map +0 -1
  361. package/dist/genexus-ide-ui/p-6397feb4.entry.js +0 -472
  362. package/dist/genexus-ide-ui/p-66b88b9b.entry.js +0 -614
  363. package/dist/genexus-ide-ui/p-75f0ba9d.entry.js +0 -273
  364. package/dist/genexus-ide-ui/p-7d719234.entry.js +0 -187
  365. package/dist/genexus-ide-ui/p-7fe9374d.entry.js +0 -238
  366. package/dist/genexus-ide-ui/p-8bdaef96.entry.js.map +0 -1
  367. package/dist/genexus-ide-ui/p-906845cd.entry.js +0 -571
  368. package/dist/genexus-ide-ui/p-9c6c5a61.entry.js +0 -178
  369. package/dist/genexus-ide-ui/p-9c6c5a61.entry.js.map +0 -1
  370. package/dist/genexus-ide-ui/p-9e7ea8be.entry.js +0 -44
  371. package/dist/genexus-ide-ui/p-a2805229.entry.js +0 -331
  372. package/dist/genexus-ide-ui/p-a3368c79.entry.js +0 -111
  373. package/dist/genexus-ide-ui/p-a439149b.entry.js.map +0 -1
  374. package/dist/genexus-ide-ui/p-b8fc93f4.entry.js.map +0 -1
  375. package/dist/genexus-ide-ui/p-ca86fe87.entry.js +0 -583
  376. package/dist/genexus-ide-ui/p-cd0c26a2.entry.js +0 -487
  377. package/dist/genexus-ide-ui/p-d4d72da2.entry.js +0 -436
  378. package/dist/genexus-ide-ui/p-e4b63012.entry.js +0 -119
  379. package/dist/genexus-ide-ui/p-efa273d7.js +0 -27
  380. package/dist/genexus-ide-ui/p-efa273d7.js.map +0 -1
  381. package/dist/genexus-ide-ui/p-f186adfd.entry.js.map +0 -1
  382. package/dist/genexus-ide-ui/p-f5034221.entry.js +0 -258
  383. package/dist/genexus-ide-ui/p-f5034221.entry.js.map +0 -1
  384. package/dist/genexus-ide-ui/p-ff794656.entry.js +0 -257
  385. /package/dist/genexus-ide-ui/{p-420a2b62.entry.js.map → p-05bc4d77.entry.js.map} +0 -0
  386. /package/dist/genexus-ide-ui/{p-a2805229.entry.js.map → p-382fe6fa.entry.js.map} +0 -0
  387. /package/dist/genexus-ide-ui/{p-cd0c26a2.entry.js.map → p-40d52b2f.entry.js.map} +0 -0
  388. /package/dist/genexus-ide-ui/{p-148ec5e4.entry.js.map → p-4a5ad686.entry.js.map} +0 -0
  389. /package/dist/genexus-ide-ui/{p-ca86fe87.entry.js.map → p-4a706d20.entry.js.map} +0 -0
  390. /package/dist/genexus-ide-ui/{p-906845cd.entry.js.map → p-5507f11d.entry.js.map} +0 -0
  391. /package/dist/genexus-ide-ui/{p-7fe9374d.entry.js.map → p-5ac58299.entry.js.map} +0 -0
  392. /package/dist/genexus-ide-ui/{p-7d719234.entry.js.map → p-5bce420c.entry.js.map} +0 -0
  393. /package/dist/genexus-ide-ui/{p-75f0ba9d.entry.js.map → p-725fe015.entry.js.map} +0 -0
  394. /package/dist/genexus-ide-ui/{p-a3368c79.entry.js.map → p-72e5a0db.entry.js.map} +0 -0
  395. /package/dist/genexus-ide-ui/{p-e4b63012.entry.js.map → p-784d3d82.entry.js.map} +0 -0
  396. /package/dist/genexus-ide-ui/{p-587f3ba5.entry.js.map → p-921fc4d4.entry.js.map} +0 -0
  397. /package/dist/genexus-ide-ui/{p-007a3368.entry.js.map → p-9a333c79.entry.js.map} +0 -0
  398. /package/dist/genexus-ide-ui/{p-66b88b9b.entry.js.map → p-a0180ad9.entry.js.map} +0 -0
  399. /package/dist/genexus-ide-ui/{p-6397feb4.entry.js.map → p-b25c9d3c.entry.js.map} +0 -0
  400. /package/dist/genexus-ide-ui/{p-5ba47216.entry.js.map → p-bddc1a7b.entry.js.map} +0 -0
  401. /package/dist/genexus-ide-ui/{p-317e4ff6.entry.js.map → p-bf16cfca.entry.js.map} +0 -0
  402. /package/dist/genexus-ide-ui/{p-d4d72da2.entry.js.map → p-d648668d.entry.js.map} +0 -0
  403. /package/dist/genexus-ide-ui/{p-9e7ea8be.entry.js.map → p-e0704caf.entry.js.map} +0 -0
  404. /package/dist/genexus-ide-ui/{p-ff794656.entry.js.map → p-e0d9ab03.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["mutationObserverRemoved","target","ref","observer","MutationObserver","mutationsList","mutation","type","removedNodesArray","Array","from","removedNodes","removedNode","nodeType","Node","ELEMENT_NODE","removedItem","observe","childList","comboBoxCss","GxgComboBox","constructor","hostRef","this","parts","input","clearButton","toggleButton","prevEmittedValue","userTyped","formMessageLogic","detectClickOutsideCombo","detectClickOutsideComboFunc","bind","detectMouseScroll","detectMouseScrollFunc","attachExportParts","part","el","getAttribute","exportPartsResult","exportParts","length","exportparts","mutationRemoveObserver","_mo","inputHandler","e","value","sanitizeString","detail","filterList","strict","item","getItemByValue","undefined","keyDownHandler","code","KK","ARROW_DOWN","ARROW_UP","preventDefault","newItem","getNewItem","altKey","showList","ENTER","preventEnterPropagation","listIsOpen","stopPropagation","hideList","showAllItems","evaluateValueChangedEmit","SPACE","ESCAPE","TAB","text","valueChanged","emit","evaluateScroll","selectedItem","selectedITemTop","getBoundingClientRect","top","selectedITemBottom","bottom","containerTop","itemsContainer","containerBottom","scrollIntoView","behavior","handleValueChangeFormText","evaluatePopOver","popOver","setAttribute","caseSensitive","toLowerCase","enabledItems","getEnabledItems","filteredItems","forEach","itemText","textContent","toLocaleLowerCase","disabled","includes","push","hidden","cleanup","myObserver","unobserve","document","body","removeEventListener","disconnect","setup","setIndexes","setInitialValue","allItems","getAllItems","i","index","getFilteredItems","allItemsNodeList","querySelectorAll","find","clearSelectedItem","selected","clearIcon","getValueByText","direction","indexInFiltered","findIndex","setSelectedItem","replace","trim","firstItem","innerText","inputTextIcon","icon","toString","onBlurHandler","toggleListButtonClickHandler","toggleList","focus","inputTextClickHandler","disableFilter","toolTip","fixedIcon","label","labelPosition","minWidth","maxWidth","listMaxHeight","placeholder","disableClear","listPosition","centerLabel","labelWidth","required","validationStatus","validationMessage","cursorEnd","informationMessage","inputTextValue","noMatch","lastAllowedValue","slottedContent","selectionProgramatic","lastSetValueByUser","componentDidUpdate","itemsContainerIsOverflowing","itemsContainerBottomOverflows","componentWillLoad","componentDidLoad","resizeObserver","disconnectedCallback","open","close","getValueByIndex","foundItem","filter","setValueByIndex","selectInputText","inputText","itemSelectedHandler","event","itemDidLoadHandler","keyDownComboItemHandler","onValueChanged","newValue","setTimeout","setIcon","listIsOpenHandler","isOpen","addEventListener","opened","repositionItemsContainer","showPopover","closed","hidePopover","toggled","selectedItemHandler","removedItemHandler","comboMainContainer","shadowRoot","querySelector","x","y","comboMainContainerArea","left","right","screenX","screenY","clientX","clientY","clearCombo","ResizeObserver","entries","inputTextWidth","clientWidth","style","width","inputTextBoundingClient","inputTextY","inputTextHeight","height","inputTextX","viewportHeight","window","innerHeight","comboBottom","itemsContainerHeight","clientHeight","result","itOverflows","render","h","Host","class","tooltip","large","state","mainContainer","center","searchItemsContainer","onInput","onKeyDown","onClick","onBlur","iconPosition","readonly","preventValueChangedEmit","tabindex","small","maxHeight","formTooltipLogic","delegatesFocus","comboBoxItemCss","GxgComboBoxItem","innerHTML","clickHandler","itemSelected","exactMatch","iconColor","itemDidLoad","iconColorHandler","commonClassesNames","container","color","size"],"sources":["node_modules/@genexus/gemini/dist/collection/common/mo-removed.js","node_modules/@genexus/gemini/dist/collection/components/combo-box/combo-box.css?tag=gxg-combo-box&encapsulation=shadow","node_modules/@genexus/gemini/dist/collection/components/combo-box/combo-box.js","node_modules/@genexus/gemini/dist/collection/components/combo-box-item/combo-box-item.css?tag=gxg-combo-box-item&encapsulation=shadow","node_modules/@genexus/gemini/dist/collection/components/combo-box-item/combo-box-item.js"],"sourcesContent":["export function mutationObserverRemoved(target, ref) {\n const observer = new MutationObserver((mutationsList) => {\n for (const mutation of mutationsList) {\n if (mutation.type === \"childList\") {\n const removedNodesArray = Array.from(mutation.removedNodes);\n for (const removedNode of removedNodesArray) {\n if (removedNode.nodeType === Node.ELEMENT_NODE) {\n ref.removedItem = removedNode;\n }\n }\n }\n }\n });\n observer.observe(target, { childList: true });\n return observer; // Return the observer instance if needed\n}\n//# sourceMappingURL=mo-removed.js.map\n","/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n/* Document\n ========================================================================== */\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\nhtml {\n line-height: 1.15;\n /* 1 */\n -webkit-text-size-adjust: 100%;\n /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n/**\n * Remove the margin in all browsers.\n */\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\nhr {\n box-sizing: content-box;\n /* 1 */\n height: 0;\n /* 1 */\n overflow: visible;\n /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\npre {\n font-family: monospace, monospace;\n /* 1 */\n font-size: 1em;\n /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n/**\n * Remove the gray background on active links in IE 10.\n */\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\nabbr[title] {\n border-bottom: none;\n /* 1 */\n text-decoration: underline;\n /* 2 */\n text-decoration: underline dotted;\n /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n /* 1 */\n font-size: 1em;\n /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n/**\n * Remove the border on images inside links in IE 10.\n */\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit;\n /* 1 */\n font-size: 100%;\n /* 1 */\n line-height: 1.15;\n /* 1 */\n margin: 0;\n /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\nbutton::-moz-focus-inner,\n[type=button]::-moz-focus-inner,\n[type=reset]::-moz-focus-inner,\n[type=submit]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\nbutton:-moz-focusring,\n[type=button]:-moz-focusring,\n[type=reset]:-moz-focusring,\n[type=submit]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\nlegend {\n box-sizing: border-box;\n /* 1 */\n color: inherit;\n /* 2 */\n display: table;\n /* 1 */\n max-width: 100%;\n /* 1 */\n padding: 0;\n /* 3 */\n white-space: normal;\n /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n[type=checkbox],\n[type=radio] {\n box-sizing: border-box;\n /* 1 */\n padding: 0;\n /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n[type=number]::-webkit-inner-spin-button,\n[type=number]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n[type=search] {\n -webkit-appearance: textfield;\n /* 1 */\n outline-offset: -2px;\n /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n[type=search]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n /* 1 */\n font: inherit;\n /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n/**\n * Add the correct display in IE 10+.\n */\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n[hidden] {\n display: none;\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/*--- Elevation ---*/\n/*Warning*/\n:host(.gxg-validation--warning) .form-element {\n border-color: var(--ds-border-color--warning);\n}\n:host(.gxg-validation--warning) .form-element:focus {\n outline-color: var(--ds-border-color--warning);\n border-color: var(--ds-border-color--warning);\n}\n:host(.gxg-validation--warning) .form-element:focus + .checkmark {\n --checkmark-border-color: var(--ds-border-color--warning);\n}\n\n/*Error*/\n:host(.gxg-validation--error) .form-element {\n border-color: var(--ds-border-color--error);\n}\n:host(.gxg-validation--error) .form-element:focus {\n outline-color: var(--ds-border-color--error);\n border-color: var(--ds-border-color--error);\n}\n:host(.gxg-validation--error) .form-element:focus + .checkmark {\n --checkmark-border-color: var(--ds-border-color--error);\n}\n\n/*Success*/\n:host(.gxg-validation--success) .form-element {\n border-color: var(--ds-border-color--success);\n}\n:host(.gxg-validation--success) .form-element:focus {\n outline-color: var(--ds-border-color--success);\n border-color: var(--ds-border-color--success);\n}\n:host(.gxg-validation--success) .form-element:focus + .checkmark {\n --checkmark-border-color: var(--ds-border-color--success);\n}\n\n/*Tooltip*/\n.tooltip-outer-wrapper {\n display: grid;\n grid-template-columns: 0fr;\n transition: grid-template-columns var(--timing-02);\n}\n\n:host(.tooltip--visible) .tooltip-outer-wrapper {\n grid-template-columns: 1fr;\n}\n\n.tooltip-inner-wrapper {\n --margin-inline-start: 6px;\n overflow: hidden;\n transition: 150ms width;\n width: 0;\n}\n.tooltip-inner-wrapper gxg-icon {\n display: flex;\n position: relative !important;\n top: 0 !important;\n transform: none !important;\n margin-inline-start: var(--margin-inline-start);\n box-sizing: border-box;\n}\n.tooltip-inner-wrapper--visible {\n width: calc(var(--ds-icon-size-box--small) + var(--margin-inline-start));\n}\n.tooltip-inner-wrapper--hidden {\n display: none;\n}\n\n:host {\n font-family: var(--ds-base-font-family-primary);\n display: block;\n}\n:host .main-container {\n width: 100%;\n position: relative;\n /*POSITION TOP*/\n}\n:host .main-container .outer-wrapper {\n display: flex;\n align-items: center;\n}\n:host .main-container .search-container {\n flex: 1;\n position: relative;\n}\n:host .main-container .search-container .buttons-wrapper {\n position: absolute;\n display: flex;\n align-items: center;\n height: 100%;\n top: 0;\n inset-inline-end: var(--gxg-combo-box-items-buttons-wrapper--iie);\n}\n:host .main-container .items-container {\n color: var(--gxg-combo-box-items-container_color);\n font-size: var(--gxg-combo-box-items-container_font-size);\n border: var(--ds-border-common-styles);\n border-radius: var(--ds-form-control-border-radius);\n border-top-left-radius: 0;\n border-top-right-radius: 0;\n border-top-width: 0;\n overflow-y: auto;\n overscroll-behavior: contain;\n background-color: var(--gxg-combo-box-items-container_background-color);\n position: fixed;\n width: inherit;\n box-sizing: border-box;\n z-index: 999;\n box-sizing: border-box;\n padding: var(--gxg-combo-box-items-container_padding);\n /*popover*/\n}\n:host .main-container .items-container--not-popover {\n display: none;\n}\n:host .main-container .items-container--show {\n display: block;\n}\n:host .main-container .items-container--no-match {\n display: none;\n}\n:host .main-container .items-container .no-ocurrences-found {\n font-size: var(--gxg-combo-box-no-occurrences_font-size);\n color: var(--gxg-combo-box-no-occurrences_color);\n padding: var(--gxg-combo-box-no-occurrences_padding);\n background-color: var(--gxg-combo-box-no-occurrences_background-color);\n}\n:host .main-container .items-container .no-ocurrences-found span {\n display: block;\n color: var(--gxg-combo-box-no-occurrences_command-color);\n}\n:host .main-container .items-container.exact-match {\n overflow-y: hidden;\n}\n:host .main-container .items-container--popover {\n padding: 0;\n margin: 0;\n}\n:host .main-container .items-container--above {\n transform: translateY(calc(-100% - 24px));\n border-top-width: 1px;\n border-bottom-width: 0;\n border-top-left-radius: var(--ds-form-control-border-radius);\n border-top-right-radius: var(--ds-form-control-border-radius);\n border-bottom-right-radius: 0;\n border-bottom-left-radius: 0;\n}\n:host .search-and-items-container {\n flex: 1;\n}\n\n/*label position*/\n:host([label-position=start]) .main-container {\n display: flex;\n flex-direction: row;\n}\n:host([label-position=start]) .main-container .outer-wrapper {\n flex: 1;\n}\n\n/*scrollbar*/\n.items-container {\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\n.items-container::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n.items-container::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n.items-container::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n.items-container::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n.items-container::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n\n/*********************************************\nVALIDATION\n**********************************************/\n.messages-wrapper {\n margin-top: var(--spacing-comp-02);\n display: flex;\n gap: var(--spacing-comp-01);\n flex-direction: column;\n}","import { Host, h } from \"@stencil/core\";\nimport { formMessageLogic, formTooltipLogic } from \"../../common/form\";\nimport { KeyboardKeys as KK } from \"../../common/types\";\nimport { exportParts } from \"../../common/export-parts\";\nimport state from \"../store\";\nimport { mutationObserverRemoved } from \"../../common/mo-removed\";\nexport class GxgComboBox {\n constructor() {\n this.popOver = false;\n this.toolTip = false;\n this.preventEnterPropagation = false;\n this.fixedIcon = undefined;\n this.disabled = false;\n this.label = undefined;\n this.labelPosition = \"above\";\n this.minWidth = \"0\";\n this.maxWidth = \"100%\";\n this.listMaxHeight = \"244px\";\n this.placeholder = \"Search item\";\n this.disableFilter = false;\n this.disableClear = false;\n this.strict = false;\n this.value = undefined;\n this.caseSensitive = false;\n this.listPosition = \"below\";\n this.text = undefined;\n this.centerLabel = false;\n this.labelWidth = undefined;\n this.required = false;\n this.validationStatus = \"indeterminate\";\n this.validationMessage = undefined;\n this.cursorEnd = false;\n this.informationMessage = undefined;\n this.inputTextValue = \"\";\n this.listIsOpen = false;\n this.inputTextIcon = undefined;\n this.noMatch = false;\n this.lastAllowedValue = undefined;\n this.slottedContent = null;\n this.selectionProgramatic = true;\n this.lastSetValueByUser = undefined;\n this.myObserver = null;\n this.selectedItem = undefined;\n this.removedItem = undefined;\n }\n parts = {\n input: \"input\",\n clearButton: \"clear-button\",\n toggleButton: \"toggle-button\"\n };\n exportparts;\n _mo;\n prevEmittedValue = null;\n /**\n * This event is triggered when the combo box value changes.\n */\n valueChanged;\n /**\n * This event is triggered when the combo dropdown is opened\n */\n opened;\n /**\n * This event is triggered when the combo dropdown has closed\n */\n closed;\n /**\n * This event is triggered when the combo dropdown has toggled (opened/closed)\n */\n toggled;\n inputText;\n el;\n mainContainer;\n itemsContainer;\n searchItemsContainer;\n userTyped = false;\n formMessageLogic = formMessageLogic;\n detectClickOutsideCombo = this.detectClickOutsideComboFunc.bind(this);\n detectMouseScroll = this.detectMouseScrollFunc.bind(this);\n componentDidUpdate() {\n const itemsContainerIsOverflowing = this.itemsContainerBottomOverflows();\n itemsContainerIsOverflowing\n ? (this.listPosition = \"above\")\n : (this.listPosition = \"below\");\n }\n componentWillLoad() {\n this.setup();\n this.attachExportParts();\n this.mutationRemoveObserver();\n }\n attachExportParts = () => {\n const part = this.el.getAttribute(\"part\");\n const exportPartsResult = exportParts(part, this.parts);\n exportPartsResult.length && (this.exportparts = exportPartsResult);\n };\n mutationRemoveObserver = () => {\n this._mo = mutationObserverRemoved(this.el, this);\n };\n componentDidLoad() {\n this.resizeObserver();\n this.evaluatePopOver();\n }\n disconnectedCallback() {\n this.cleanup();\n }\n /*********************************\n METHODS\n *********************************/\n async open() {\n this.listIsOpen = true;\n }\n async close() {\n this.listIsOpen = false;\n }\n async getValueByIndex(index) {\n const enabledItems = this.getEnabledItems();\n const foundItem = enabledItems.filter(item => item.index === index)[0];\n return foundItem?.value;\n }\n async setValueByIndex(index) {\n const enabledItems = this.getEnabledItems();\n const foundItem = enabledItems.filter(item => item.index === index)[0];\n if (foundItem && foundItem.value) {\n this.value = foundItem.value;\n return true;\n }\n return false;\n }\n async selectInputText() {\n this.inputText.selectInputText();\n }\n /*********************************\n LISTEN\n *********************************/\n itemSelectedHandler(event) {\n this.value = event.detail.value;\n this.inputText.focus();\n }\n itemDidLoadHandler() {\n this.setIndexes();\n //this.setInitialValue();\n }\n keyDownComboItemHandler(event) {\n event.stopPropagation();\n if (event.detail === \"ArrowUp\") {\n this.inputText.focus();\n }\n else if (event.detail === \"Tab\" || event.detail === \"Escape\") {\n this.listIsOpen = false;\n this.inputText.focus();\n }\n }\n /*********************************\n HANDLERS\n *********************************/\n inputHandler = (e) => {\n this.userTyped = true;\n const value = this.sanitizeString(e.detail);\n this.filterList(value);\n if (!this.strict) {\n this.value = value;\n }\n else {\n const item = this.getItemByValue(value);\n if (item) {\n this.value = value;\n }\n else {\n this.value = undefined;\n }\n }\n };\n keyDownHandler = (e) => {\n if (e.code === KK.ARROW_DOWN || e.code === KK.ARROW_UP) {\n e.preventDefault();\n }\n let newItem;\n if (e.code === KK.ARROW_DOWN) {\n newItem = this.getNewItem(\"next\");\n newItem?.value && (this.value = newItem?.value);\n e.altKey && this.showList();\n }\n else if (e.code === KK.ARROW_UP) {\n newItem = this.getNewItem(\"prev\");\n newItem?.value && (this.value = newItem?.value);\n }\n else if (e.code === KK.ENTER) {\n if (this.preventEnterPropagation && this.listIsOpen) {\n e.stopPropagation();\n }\n this.hideList();\n this.showAllItems();\n this.evaluateValueChangedEmit();\n }\n else if (e.code === KK.SPACE) {\n this.showList();\n }\n else if (e.code === KK.ESCAPE) {\n this.showAllItems();\n this.hideList();\n }\n else if (e.code === KK.TAB && this.showList) {\n this.hideList();\n }\n };\n evaluateValueChangedEmit = () => {\n if (this.strict && this.value === undefined) {\n this.text = \"\";\n this.value = this.prevEmittedValue;\n }\n else if (this.value !== this.prevEmittedValue) {\n this.valueChanged.emit(this.value);\n this.prevEmittedValue = this.value;\n }\n };\n evaluateScroll = () => {\n if (this.selectedItem) {\n const selectedITemTop = this.selectedItem.getBoundingClientRect().top;\n const selectedITemBottom = this.selectedItem.getBoundingClientRect().bottom;\n const containerTop = this.itemsContainer.getBoundingClientRect().top;\n const containerBottom = this.itemsContainer.getBoundingClientRect().bottom;\n if (selectedITemTop < containerTop ||\n selectedITemBottom > containerBottom) {\n this.selectedItem.scrollIntoView({ behavior: \"smooth\" });\n }\n }\n };\n handleValueChangeFormText = e => {\n this.value = e.detail;\n };\n /********************************\n WATCH\n *********************************/\n onValueChanged(newValue) {\n setTimeout(() => {\n this.clearSelectedItem();\n let value;\n let newItem = undefined;\n if (this.userTyped) {\n value = this.getValueByText(newValue);\n }\n else {\n !this.listIsOpen && this.showAllItems();\n value = newValue;\n }\n newItem = this.getItemByValue(value);\n if (newItem) {\n this.setSelectedItem(newItem);\n this.setIcon(newItem.icon);\n const textContent = newItem.textContent;\n if (textContent.length > 0) {\n this.text = textContent;\n }\n else {\n this.text = newItem.value;\n }\n }\n else {\n //this.setIcon(undefined);\n if (this.strict) {\n this.value = undefined;\n }\n else {\n this.text = newValue;\n }\n }\n this.userTyped = false;\n }, 20);\n }\n listIsOpenHandler(open) {\n let isOpen = false;\n if (open) {\n //list is open\n isOpen = true;\n document.addEventListener(\"click\", this.detectClickOutsideCombo, true);\n document.addEventListener(\"scroll\", this.detectMouseScroll, true);\n this.opened.emit();\n //Reposition .items-container, since it has fixed position\n this.repositionItemsContainer();\n if (this.popOver) {\n this.itemsContainer.showPopover();\n }\n }\n else {\n //list is closed\n document.removeEventListener(\"click\", this.detectClickOutsideCombo, true);\n document.removeEventListener(\"scroll\", this.detectMouseScroll, true);\n this.closed.emit();\n if (this.popOver) {\n this.itemsContainer.hidePopover();\n }\n }\n this.toggled.emit(isOpen);\n }\n selectedItemHandler(newItem) {\n newItem && (newItem.selected = true);\n if (this.listIsOpen) {\n this.evaluateScroll();\n }\n }\n removedItemHandler(removedItem) {\n const value = removedItem.value;\n if (value === this.value) {\n /*The removed item was the one selected on the combo. Re-evaluation of new value is needed*/\n this.setup();\n }\n }\n /*********************************\n PRIVATE METHODS\n *********************************/\n evaluatePopOver = () => {\n if (this.popOver) {\n this.itemsContainer.setAttribute(\"popover\", \"\");\n }\n };\n filterList = (text) => {\n text = this.sanitizeString(text);\n !this.caseSensitive && (text = text.toLowerCase());\n const enabledItems = this.getEnabledItems();\n const filteredItems = [];\n if (enabledItems.length) {\n enabledItems.forEach(item => {\n const itemText = !this.caseSensitive\n ? item.textContent.toLocaleLowerCase()\n : item.textContent;\n if (!item.disabled && itemText.includes(text)) {\n filteredItems.push(item);\n item.hidden = false;\n }\n else {\n item.hidden = true;\n }\n });\n }\n if (filteredItems.length >= 1) {\n this.showList();\n }\n else {\n this.hideList();\n }\n return filteredItems;\n };\n showAllItems = () => {\n const enabledItems = this.getEnabledItems();\n enabledItems?.forEach(item => {\n item?.hidden && (item.hidden = false);\n });\n };\n cleanup = () => {\n this.myObserver.unobserve(document.body);\n document.removeEventListener(\"click\", this.detectClickOutsideCombo, true);\n document.removeEventListener(\"scroll\", this.detectMouseScroll, true);\n this._mo.disconnect();\n };\n setup = () => {\n this.setIndexes();\n this.setInitialValue();\n };\n setIndexes = () => {\n const allItems = this.getAllItems();\n allItems.forEach((item, i) => {\n item.index = i;\n });\n };\n getEnabledItems = () => {\n const enabledItems = [];\n const allItems = this.getAllItems();\n allItems.forEach(item => {\n !item.disabled && enabledItems.push(item);\n });\n return enabledItems;\n };\n getFilteredItems = () => {\n const enabledItems = this.getEnabledItems();\n const filteredItems = [];\n enabledItems.forEach(item => {\n !item.hidden && filteredItems.push(item);\n });\n return filteredItems;\n };\n getAllItems = () => {\n const allItems = [];\n const allItemsNodeList = this.el.querySelectorAll(\"gxg-combo-box-item\");\n allItemsNodeList.forEach(item => {\n allItems.push(item);\n });\n return allItems;\n };\n getItemByValue = (value) => {\n let item;\n if (value) {\n const enabledItems = this.getEnabledItems();\n item = enabledItems.find(item => {\n return !item.disabled && item?.value && item.value === value;\n });\n }\n return item;\n };\n clearSelectedItem = () => {\n const enabledItems = this.getEnabledItems();\n enabledItems?.forEach(item => {\n item.selected && (item.selected = false);\n });\n this.selectedItem = undefined;\n this.clearIcon();\n };\n getValueByText = (text) => {\n if (text) {\n !this.caseSensitive && (text = text.toLowerCase());\n const enabledItems = this.getEnabledItems();\n const item = enabledItems?.find(item => {\n const itemText = !this.caseSensitive\n ? item.textContent.toLocaleLowerCase()\n : item.textContent;\n return !item.disabled && itemText === text;\n });\n return item?.value;\n }\n else {\n return undefined;\n }\n };\n getNewItem = (direction) => {\n const filteredItems = this.getFilteredItems();\n const indexInFiltered = filteredItems?.findIndex(item => {\n return item.selected;\n });\n if (direction === \"next\") {\n if (indexInFiltered === -1) {\n /*no selectedItem at the time*/\n return filteredItems[0];\n }\n return filteredItems[indexInFiltered + 1];\n }\n else if (direction === \"prev\") {\n if (indexInFiltered !== -1) {\n return filteredItems[indexInFiltered - 1];\n }\n }\n };\n setSelectedItem = (item) => {\n if (item) {\n this.selectedItem && (this.selectedItem.selected = false);\n item.selected = true;\n this.selectedItem = item;\n return true;\n }\n return false;\n };\n sanitizeString = (value) => {\n if (typeof value === \"string\") {\n return value.replace(/\\s+/g, \" \").trim();\n }\n return value;\n };\n setInitialValue = () => {\n const firstItem = this.getEnabledItems()[0];\n if (!this.value || this.removedItem !== undefined) {\n if (firstItem) {\n this.value = firstItem.value;\n this.text = firstItem.innerText;\n }\n else {\n if (this.strict) {\n this.value = undefined;\n }\n }\n }\n else {\n const item = this.getItemByValue(this.value);\n if (item) {\n this.text = item.innerText;\n this.inputTextIcon = item.icon;\n item.selected = true;\n }\n else {\n if (this.strict) {\n this.value = undefined;\n }\n else {\n this.text = this.value.toString();\n }\n }\n }\n this.prevEmittedValue = this.value;\n };\n onBlurHandler = () => {\n this.evaluateValueChangedEmit();\n };\n toggleListButtonClickHandler = () => {\n if (!this.disabled) {\n this.showAllItems();\n this.toggleList();\n this.focus();\n }\n };\n inputTextClickHandler = () => {\n if (!this.disabled) {\n this.disableFilter && this.toggleList();\n }\n };\n toggleList = () => {\n if (!this.disabled) {\n this.listIsOpen = !this.listIsOpen;\n }\n };\n showList = () => {\n if (!this.disabled) {\n this.listIsOpen = true;\n }\n };\n hideList = () => {\n if (!this.disabled) {\n this.listIsOpen = false;\n }\n };\n clearIcon = () => {\n if (!this.disabled) {\n this.inputTextIcon = null;\n }\n };\n setIcon(icon) {\n if (icon) {\n this.inputTextIcon = icon;\n }\n else {\n this.inputTextIcon = null;\n }\n }\n focus() {\n this.inputText.focus();\n }\n detectClickOutsideComboFunc(event) {\n const comboMainContainer = this.el.shadowRoot.querySelector(\".main-container\");\n const x = event.x;\n const y = event.y;\n //Contextual menu coordinates\n const comboMainContainerArea = comboMainContainer.getBoundingClientRect();\n if ((x > comboMainContainerArea.left &&\n x < comboMainContainerArea.right &&\n y > comboMainContainerArea.top &&\n y < comboMainContainerArea.bottom) ||\n (event.screenX === 0 &&\n event.screenY === 0 &&\n event.clientX === 0 &&\n event.clientY === 0)) {\n //Click happened inside the combo\n }\n else {\n this.listIsOpen = false;\n //Click happened outside the combo\n }\n }\n detectMouseScrollFunc() {\n this.listIsOpen = false;\n }\n clearCombo() {\n if (!this.disabled) {\n this.value = undefined;\n this.listIsOpen = true;\n this.focus();\n }\n }\n resizeObserver() {\n this.myObserver = new ResizeObserver(entries => {\n entries.forEach(() => {\n this.repositionItemsContainer();\n });\n });\n this.myObserver.observe(document.body);\n this.myObserver.observe(this.el);\n }\n repositionItemsContainer() {\n //redefine .main-container width\n const inputText = this.inputText;\n const inputTextWidth = inputText.clientWidth;\n this.itemsContainer.style.width = inputTextWidth + \"px\";\n //redefine .items-container \"top\" value\n const inputTextBoundingClient = inputText.getBoundingClientRect();\n const inputTextY = inputTextBoundingClient.y;\n const inputTextHeight = inputTextBoundingClient.height;\n this.itemsContainer.style.top = inputTextY + inputTextHeight + \"px\";\n if (this.popOver) {\n //redefine .items-container \"left\" value\n const inputTextX = inputTextBoundingClient.x;\n this.itemsContainer.style.left = inputTextX + \"px\";\n }\n }\n itemsContainerBottomOverflows() {\n const viewportHeight = window.innerHeight;\n const comboBottom = this.el.getBoundingClientRect().bottom;\n const itemsContainerHeight = this.itemsContainer.clientHeight;\n const result = comboBottom + itemsContainerHeight;\n const itOverflows = true ? result > viewportHeight : false;\n return itOverflows;\n }\n render() {\n const clearIcon = this.value && !this.disableFilter && !this.disableClear;\n return (h(Host, { class: {\n \"gxg-combo-box--disabled\": this.disableFilter,\n tooltip: this.toolTip,\n large: state.large\n }, style: { maxWidth: this.maxWidth, minWidth: this.minWidth }, exportParts: this.exportparts ? this.exportparts : null }, h(\"div\", { class: {\n \"main-container\": true\n }, ref: el => (this.mainContainer = el) }, this.label ? (h(\"gxg-label\", { labelPosition: this.labelPosition, center: this.centerLabel, width: this.labelWidth }, this.label)) : null, h(\"div\", { class: \"outer-wrapper\" }, h(\"div\", { class: \"search-and-items-container\", ref: el => (this.searchItemsContainer = el) }, h(\"div\", { class: { \"search-container\": true } }, h(\"gxg-form-text\", { placeholder: this.placeholder, onInput: this.inputHandler.bind(this), onKeyDown: this.keyDownHandler, onClick: this.inputTextClickHandler, onBlur: this.onBlurHandler, value: this.text, icon: this.fixedIcon || this.inputTextIcon, iconPosition: \"start\", readonly: this.disableFilter, ref: el => (this.inputText = el), validationStatus: this.validationStatus, disabled: this.disabled, onValueChanged: this.handleValueChangeFormText, cursorEnd: this.cursorEnd, preventValueChangedEmit: true, class: {\n \"icon-end--double\": clearIcon,\n \"icon-end\": !clearIcon\n }, part: this.parts.input }), h(\"div\", { class: \"buttons-wrapper\" }, clearIcon ? (h(\"gxg-button\", { class: { \"button-icon delete-icon\": true }, icon: \"menus/delete\", type: \"tertiary\", onClick: () => this.clearCombo(), tabindex: \"-1\", disabled: this.disabled, part: this.parts.clearButton, small: true })) : null, h(\"gxg-button\", { class: { \"button-icon\": true }, icon: \"navigation/arrow-down\", type: \"tertiary\", onClick: this.toggleListButtonClickHandler, disabled: this.disabled, tabindex: \"-1\", part: this.parts.toggleButton, small: true }))), h(\"div\", { class: {\n \"items-container\": true,\n \"items-container--not-popover\": !this.popOver,\n \"items-container--show\": this.listIsOpen && !this.popOver,\n \"items-container--popover\": this.popOver,\n \"items-container--no-match\": this.noMatch,\n \"items-container--below\": this.listPosition === \"below\",\n \"items-container--above\": this.listPosition === \"above\"\n }, style: { maxHeight: this.listMaxHeight }, ref: el => (this.itemsContainer = el) }, h(\"slot\", null), false && this.strict ? (h(\"div\", { class: \"no-ocurrences-found\" }, \"No occurrences found\", h(\"span\", null, \"ctrl/cmd + backspace to erase\"))) : null)), this.toolTip ? formTooltipLogic(this, false) : null)), !this.toolTip ? formMessageLogic(this) : null));\n }\n static get is() { return \"gxg-combo-box\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"combo-box.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"combo-box.css\"]\n };\n }\n static get properties() {\n return {\n \"popOver\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute applies the popover attribute to the list of items. This is useful if the combo-box is wrapped inside a \\\"@container\\\" responsive container, since at the time of writing, fixed positioned elements that are inside a \\\"@container\\\" container, are relative to the container, not the viewport.\"\n },\n \"attribute\": \"pop-over\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"toolTip\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute displays a tooltip message, instead of a block message below the control\"\n },\n \"attribute\": \"tool-tip\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"preventEnterPropagation\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If true, it will prevent Enter key propagation only when the list is open. This prop. was created to prevent issues with ch-shortcuts, when an Enter key has to fire a callback on another element (such as a button) but it has to be ignored when the list is open, since an Enter key on a list-box-item, has to select the item only.\"\n },\n \"attribute\": \"prevent-enter-propagation\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"fixedIcon\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"A fixed icon that will show on the combo, ignoring the combo-box-item's icons.\"\n },\n \"attribute\": \"fixed-icon\",\n \"reflect\": false\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute makes the input disabled\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The combo label\"\n },\n \"attribute\": \"label\",\n \"reflect\": false,\n \"defaultValue\": \"undefined\"\n },\n \"labelPosition\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"LabelPosition\",\n \"resolved\": \"\\\"above\\\" | \\\"below\\\" | \\\"end\\\" | \\\"start\\\"\",\n \"references\": {\n \"LabelPosition\": {\n \"location\": \"import\",\n \"path\": \"../../common/types\",\n \"id\": \"src/common/types.ts::LabelPosition\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The input label\"\n },\n \"attribute\": \"label-position\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"above\\\"\"\n },\n \"minWidth\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The combo min-width\"\n },\n \"attribute\": \"min-width\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"0\\\"\"\n },\n \"maxWidth\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The combo max-width\"\n },\n \"attribute\": \"max-width\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"100%\\\"\"\n },\n \"listMaxHeight\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The combo list max height\"\n },\n \"attribute\": \"list-max-height\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"244px\\\"\"\n },\n \"placeholder\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The combo placeholder\"\n },\n \"attribute\": \"placeholder\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"Search item\\\"\"\n },\n \"disableFilter\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute disables the filter\"\n },\n \"attribute\": \"disable-filter\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"disableClear\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute disables the clear button\"\n },\n \"attribute\": \"disable-clear\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"strict\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If this attribute is present, \\\"value\\\" will only return something if a comboItem is selected, otherwise it will return undefined.\\nif this attribute is not present, \\\"value\\\" will return the value of the actual comboItem, or whatever text the comboItem has.\"\n },\n \"attribute\": \"strict\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"value\": {\n \"type\": \"any\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"ComboBoxItemValue\",\n \"resolved\": \"any\",\n \"references\": {\n \"ComboBoxItemValue\": {\n \"location\": \"import\",\n \"path\": \"../combo-box-item/combo-box-item\",\n \"id\": \"src/components/combo-box-item/combo-box-item.tsx::ComboBoxItemValue\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The current combo box item value\"\n },\n \"attribute\": \"value\",\n \"reflect\": false\n },\n \"caseSensitive\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute with make the filter search for values with case sensitive distinction\"\n },\n \"attribute\": \"case-sensitive\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"listPosition\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"ListPosition\",\n \"resolved\": \"\\\"above\\\" | \\\"below\\\"\",\n \"references\": {\n \"ListPosition\": {\n \"location\": \"local\",\n \"path\": \"/home/circleci/repo/src/components/combo-box/combo-box.tsx\",\n \"id\": \"src/components/combo-box/combo-box.tsx::ListPosition\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The container 'items container' position\"\n },\n \"attribute\": \"list-position\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"below\\\"\"\n },\n \"centerLabel\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Centers the label\"\n },\n \"attribute\": \"center-label\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"labelWidth\": {\n \"type\": \"any\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The label width\"\n },\n \"attribute\": \"label-width\",\n \"reflect\": false\n },\n \"required\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute makes the commbo required\"\n },\n \"attribute\": \"required\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"validationStatus\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"ValidationStatus\",\n \"resolved\": \"\\\"error\\\" | \\\"indeterminate\\\" | \\\"success\\\" | \\\"warning\\\"\",\n \"references\": {\n \"ValidationStatus\": {\n \"location\": \"import\",\n \"path\": \"../../common/types\",\n \"id\": \"src/common/types.ts::ValidationStatus\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The validation status\"\n },\n \"attribute\": \"validation-status\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"indeterminate\\\"\"\n },\n \"validationMessage\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The message to display when validation fails (error)\"\n },\n \"attribute\": \"validation-message\",\n \"reflect\": false\n },\n \"cursorEnd\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"If true, it will position the cursor at the end when the input is focused.\"\n },\n \"attribute\": \"cursor-end\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"informationMessage\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"An informative message to help the user filling the information\"\n },\n \"attribute\": \"information-message\",\n \"reflect\": false\n }\n };\n }\n static get states() {\n return {\n \"text\": {},\n \"inputTextValue\": {},\n \"listIsOpen\": {},\n \"inputTextIcon\": {},\n \"noMatch\": {},\n \"lastAllowedValue\": {},\n \"slottedContent\": {},\n \"selectionProgramatic\": {},\n \"lastSetValueByUser\": {},\n \"myObserver\": {},\n \"selectedItem\": {},\n \"removedItem\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"valueChanged\",\n \"name\": \"valueChanged\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This event is triggered when the combo box value changes.\"\n },\n \"complexType\": {\n \"original\": \"ComboBoxItemValue\",\n \"resolved\": \"any\",\n \"references\": {\n \"ComboBoxItemValue\": {\n \"location\": \"import\",\n \"path\": \"../combo-box-item/combo-box-item\",\n \"id\": \"src/components/combo-box-item/combo-box-item.tsx::ComboBoxItemValue\"\n }\n }\n }\n }, {\n \"method\": \"opened\",\n \"name\": \"opened\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This event is triggered when the combo dropdown is opened\"\n },\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n }\n }, {\n \"method\": \"closed\",\n \"name\": \"closed\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This event is triggered when the combo dropdown has closed\"\n },\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n }\n }, {\n \"method\": \"toggled\",\n \"name\": \"toggled\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This event is triggered when the combo dropdown has toggled (opened/closed)\"\n },\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n }\n }];\n }\n static get methods() {\n return {\n \"open\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"*******************************\\nMETHODS\\n*******************************\",\n \"tags\": []\n }\n },\n \"close\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": []\n }\n },\n \"getValueByIndex\": {\n \"complexType\": {\n \"signature\": \"(index: number) => Promise<string>\",\n \"parameters\": [{\n \"name\": \"index\",\n \"type\": \"number\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<string>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": []\n }\n },\n \"setValueByIndex\": {\n \"complexType\": {\n \"signature\": \"(index: number) => Promise<boolean>\",\n \"parameters\": [{\n \"name\": \"index\",\n \"type\": \"number\",\n \"docs\": \"\"\n }],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<boolean>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": []\n }\n },\n \"selectInputText\": {\n \"complexType\": {\n \"signature\": \"() => Promise<void>\",\n \"parameters\": [],\n \"references\": {\n \"Promise\": {\n \"location\": \"global\",\n \"id\": \"global::Promise\"\n }\n },\n \"return\": \"Promise<void>\"\n },\n \"docs\": {\n \"text\": \"\",\n \"tags\": []\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"value\",\n \"methodName\": \"onValueChanged\"\n }, {\n \"propName\": \"listIsOpen\",\n \"methodName\": \"listIsOpenHandler\"\n }, {\n \"propName\": \"selectedItem\",\n \"methodName\": \"selectedItemHandler\"\n }, {\n \"propName\": \"removedItem\",\n \"methodName\": \"removedItemHandler\"\n }];\n }\n static get listeners() {\n return [{\n \"name\": \"itemSelected\",\n \"method\": \"itemSelectedHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"itemDidLoad\",\n \"method\": \"itemDidLoadHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"keyDownComboItem\",\n \"method\": \"keyDownComboItemHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=combo-box.js.map\n",":host(.gxg--disabled) .form-element,\n:host(.gxg--disabled.form-element) {\n pointer-events: none;\n background-color: var(--ds-background-color-disabled) !important;\n color: var(--ds-color--disabled) !important;\n border-color: var(--ds-border-color-disabled) !important;\n cursor: default !important;\n}\n\n:host {\n --ds-icon-size--small: var(--gxg-combo-box-item_icon-size);\n display: block;\n cursor: pointer;\n box-sizing: border-box;\n display: flex;\n align-items: center;\n font-size: inherit;\n color: inherit;\n opacity: 1;\n overflow: hidden;\n border-radius: var(--gxg-combo-box-item_border-radius);\n}\n:host .container {\n display: flex;\n align-items: center;\n padding: var(--gxg-combo-box-item_padding);\n width: 100%;\n height: var(--ds-list-item-height--spaced);\n box-sizing: border-box;\n /*items with icon are this tall*/\n gap: var(--gxg-combo-box-item_container-gap);\n}\n:host gxg-icon {\n flex-shrink: 0;\n --gxg-icon-color: var(--gxg-combo-box-item--active_icon-color);\n}\n\n.description {\n white-space: nowrap;\n width: 100%;\n overflow: hidden;\n text-overflow: ellipsis;\n}\n\n:host(.no-icon) .container {\n padding-inline-start: var(--gxg-combo-box-item_container-no-icon-pis);\n}\n\n:host([hidden]) {\n display: none;\n}\n\n:host(.display-none) {\n display: none;\n}\n\n:host(:hover) {\n background-color: var(--ds-item-background-color--hover);\n}\n:host(:hover) .container {\n color: var(--gxg-combo-box-item_container-color--hover);\n}\n\n:host([selected]) {\n background-color: var(--ds-item-background-color--selected);\n color: var(--gxg-combo-box-item--selected_color);\n}\n\n:host([selected]:hover) {\n background-color: var(--ds-item-background-color--selected-hover);\n color: var(--gxg-combo-box-item--selected_color);\n}","import { Host, h } from \"@stencil/core\";\nimport state from \"../store\";\nimport { commonClassesNames } from \"../../common/classesNames\";\nexport class GxgComboBoxItem {\n constructor() {\n this.icon = undefined;\n this.value = undefined;\n this.index = undefined;\n this.disabled = false;\n this.selected = false;\n this.exactMatch = false;\n this.hidden = false;\n this.iconColor = undefined;\n }\n el;\n /**\n * This event is triggered when the user clicks on an item. event.detail contains the item index, item value, and item icon.\n */\n itemSelected;\n /**\n * This event is fired when the item has loaded\n */\n itemDidLoad;\n /**\n * This event is for internal use. This event is triggered when the user presses keyboard \"arrow up\" on the first item. This event is caputred on \"combo\" component\n * and then focus is set on \"search\" input.\n */\n keyDownPressed;\n componentWillLoad() {\n this.setup();\n this.disabled ? (this.iconColor = \"ondisabled\") : (this.iconColor = \"auto\");\n }\n componentDidLoad() {\n this.itemDidLoad.emit({\n el: this.el,\n index: this.index,\n value: this.value,\n icon: this.icon\n });\n }\n /*********************************\n WATCH\n *********************************/\n setup = () => {\n if (!this.value) {\n this.value = this.el.innerHTML;\n }\n };\n clickHandler = () => {\n this.itemSelected.emit({\n el: this.el,\n index: this.index,\n value: this.value,\n icon: this.icon\n });\n };\n iconColorHandler() {\n if (this.disabled) {\n return \"disabled\";\n }\n else if (this.selected) {\n return \"primary-enabled\";\n }\n else {\n return \"auto\";\n }\n }\n render() {\n return (h(Host, { onClick: this.clickHandler, class: {\n large: state.large,\n \"no-icon\": !this.icon,\n [commonClassesNames[\"DISABLED_CLASS\"]]: this.disabled\n } }, h(\"div\", { class: { container: true, \"form-element\": true } }, this.icon ? (h(\"gxg-icon\", { color: this.iconColorHandler(), size: \"small\", type: this.icon })) : null, h(\"div\", { class: \"description\" }, h(\"slot\", null)))));\n }\n static get is() { return \"gxg-combo-box-item\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"combo-box-item.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"combo-box-item.css\"]\n };\n }\n static get properties() {\n return {\n \"icon\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Any icon that belongs to Gemini icon library: https://gx-gemini.netlify.app/?path=/story/icons\"\n },\n \"attribute\": \"icon\",\n \"reflect\": false,\n \"defaultValue\": \"undefined\"\n },\n \"value\": {\n \"type\": \"any\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"ComboBoxItemValue\",\n \"resolved\": \"any\",\n \"references\": {\n \"ComboBoxItemValue\": {\n \"location\": \"local\",\n \"path\": \"/home/circleci/repo/src/components/combo-box-item/combo-box-item.tsx\",\n \"id\": \"src/components/combo-box-item/combo-box-item.tsx::ComboBoxItemValue\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The item value. If value is not provided, an automatic value will be generated with the innerText.\"\n },\n \"attribute\": \"value\",\n \"reflect\": false\n },\n \"index\": {\n \"type\": \"number\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"number\",\n \"resolved\": \"number\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"(This prop is for internal use).\"\n },\n \"attribute\": \"index\",\n \"reflect\": true\n },\n \"disabled\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute makes this combo-item disabled and not interactive.\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"selected\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute makes this combo-item selected.\"\n },\n \"attribute\": \"selected\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"exactMatch\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"True if the text typed on the combo box input is equal to this combo box item text\"\n },\n \"attribute\": \"exact-match\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"hidden\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This property hides the combo box item\"\n },\n \"attribute\": \"hidden\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n }\n };\n }\n static get states() {\n return {\n \"iconColor\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"itemSelected\",\n \"name\": \"itemSelected\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This event is triggered when the user clicks on an item. event.detail contains the item index, item value, and item icon.\"\n },\n \"complexType\": {\n \"original\": \"ItemInformation\",\n \"resolved\": \"{ el: HTMLGxgComboBoxItemElement; index: number; value: any; icon?: string; }\",\n \"references\": {\n \"ItemInformation\": {\n \"location\": \"local\",\n \"path\": \"/home/circleci/repo/src/components/combo-box-item/combo-box-item.tsx\",\n \"id\": \"src/components/combo-box-item/combo-box-item.tsx::ItemInformation\"\n }\n }\n }\n }, {\n \"method\": \"itemDidLoad\",\n \"name\": \"itemDidLoad\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This event is fired when the item has loaded\"\n },\n \"complexType\": {\n \"original\": \"ItemInformation\",\n \"resolved\": \"{ el: HTMLGxgComboBoxItemElement; index: number; value: any; icon?: string; }\",\n \"references\": {\n \"ItemInformation\": {\n \"location\": \"local\",\n \"path\": \"/home/circleci/repo/src/components/combo-box-item/combo-box-item.tsx\",\n \"id\": \"src/components/combo-box-item/combo-box-item.tsx::ItemInformation\"\n }\n }\n }\n }, {\n \"method\": \"keyDownPressed\",\n \"name\": \"keyDownPressed\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This event is for internal use. This event is triggered when the user presses keyboard \\\"arrow up\\\" on the first item. This event is caputred on \\\"combo\\\" component\\nand then focus is set on \\\"search\\\" input.\"\n },\n \"complexType\": {\n \"original\": \"any\",\n \"resolved\": \"any\",\n \"references\": {}\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n}\n//# sourceMappingURL=combo-box-item.js.map\n"],"mappings":"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"}
@@ -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
@@ -0,0 +1 @@
1
+ {"version":3,"names":["gxIdeEmptyStateCss","GxIdeEmptyState","this","transitionSpeed","watchDisplayHandler","display","primaryButtonEl","disabled","secondaryButtonEl","setTimeout","componentWillLoad","el","style","setProperty","componentDidLoad","render","h","Host","class","container","stateIcon","type","color","stateTitle","alignment","stateDescription","textAlign","primaryButtonLabel","ref","secondaryButtonLabel","recentNewsCss","GxIdeRecentNews","newsRendered","setTimeOutNewsDelay","evaluateNewsDisplay","news","length","newsContainerEl","undefined","displayNews","Array","from","querySelectorAll","forEach","classList","add","attachLoaderEvents","loaderEl","addEventListener","newsLoadFailed","getNews","async","show","getNewsCallback","newsResult","openNewsHandler","newsId","openNewsCallback","renderNews","id","title","key","cardType","cardTitle","icon","iconColor","actionable","onClick","titleSemibold","noHeaderBorder","body","watchNewsHandler","_componentLocale","Locale","getComponentStrings","componentDidRender","recentNews","_a","map","singleNews","newsNotFetched","tryAgainButtonLabel","href","target","readThemOnline","abortTime","loaderTitle","loader","description"],"sources":["src/components/_helpers/empty-state/gx-ide-empty-state.scss?tag=gx-ide-empty-state&encapsulation=shadow","src/components/_helpers/empty-state/gx-ide-empty-state.tsx","src/components/start-page/recent-news.scss?tag=gx-ide-recent-news&encapsulation=shadow","src/components/start-page/recent-news.tsx"],"sourcesContent":[":host {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n.container {\n max-width: 520px;\n margin: 0 auto;\n gap: var(--mer-spacing--xl);\n opacity: 0;\n transition: opacity var(--state-transition-speed);\n padding: var(--mer-spacing--md);\n\n .icon-wrapper {\n border: var(--mer-border__width--sm) dashed var(--mer-accent__primary);\n border-radius: 50%;\n min-width: 40px;\n min-height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n }\n\n &__main {\n gap: var(--mer-spacing--sm);\n }\n &__buttons {\n gap: var(--mer-spacing--xs);\n }\n &--visible {\n opacity: 1;\n }\n}\n.container,\n.container__main,\n.container__buttons {\n display: flex;\n align-items: center;\n flex-direction: column;\n}\n","import { Component, Host, h, Prop, Watch, Element } from \"@stencil/core\";\n\n@Component({\n tag: \"gx-ide-empty-state\",\n styleUrl: \"gx-ide-empty-state.scss\",\n shadow: true\n})\nexport class GxIdeEmptyState {\n /*\nINDEX:\n1.OWN PROPERTIES \n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE METHODS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES //\n\n private transitionSpeed: number = 200;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeEmptyStateElement;\n private primaryButtonEl!: HTMLGxgButtonElement;\n private secondaryButtonEl!: HTMLGxgButtonElement;\n\n // 3.STATE() VARIABLES //\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * The state icon\n */\n @Prop() readonly stateIcon?: string;\n\n /**\n * The state title\n */\n @Prop() readonly stateTitle!: string;\n\n /**\n * The state description\n */\n @Prop() readonly stateDescription?: string;\n\n /**\n * The button primary label\n */\n @Prop() readonly primaryButtonLabel?: string;\n\n /**\n * The button secondary label\n */\n @Prop() readonly secondaryButtonLabel?: string;\n\n /**\n * If true, it will display the content\n */\n @Prop({ mutable: true }) display: boolean = false;\n @Watch(\"display\")\n watchDisplayHandler(display: boolean) {\n if (display) {\n this.primaryButtonEl.disabled = false;\n this.secondaryButtonEl.disabled = false;\n } else {\n setTimeout(() => {\n this.primaryButtonEl.disabled = true;\n this.secondaryButtonEl.disabled = true;\n }, this.transitionSpeed);\n }\n }\n\n // 5.EVENTS (EMIT) //\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n componentWillLoad() {\n this.el.style.setProperty(\n \"--state-transition-speed\",\n `${this.transitionSpeed}ms`\n );\n }\n\n componentDidLoad() {\n this.display = true;\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host>\n <div class={{ \"container\": true, \"container--visible\": this.display }}>\n {this.stateIcon ? (\n <span class=\"icon-wrapper\">\n <gxg-icon\n class=\"icon\"\n type={this.stateIcon}\n color=\"mercury-primary\"\n >\n {this.stateTitle}\n </gxg-icon>\n </span>\n ) : null}\n <main class=\"container__main\">\n {this.stateTitle ? (\n <gx-ide-title alignment=\"center\">{this.stateTitle}</gx-ide-title>\n ) : null}\n {this.stateDescription ? (\n <gxg-text textAlign=\"center\">{this.stateDescription}</gxg-text>\n ) : null}\n </main>\n <div class=\"container__buttons\">\n {this.primaryButtonLabel ? (\n <gxg-button\n type=\"primary-text-only\"\n ref={el => (this.primaryButtonEl = el as HTMLGxgButtonElement)}\n >\n {this.primaryButtonLabel}\n </gxg-button>\n ) : null}\n {this.secondaryButtonLabel ? (\n <gxg-button\n type=\"secondary-text-only\"\n ref={el =>\n (this.secondaryButtonEl = el as HTMLGxgButtonElement)\n }\n >\n {this.secondaryButtonLabel}\n </gxg-button>\n ) : null}\n </div>\n </div>\n </Host>\n );\n }\n}\n","@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n box-shadow: none;\n height: 100%;\n overflow: hidden;\n padding-bottom: 2px;\n box-sizing: border-box;\n}\n.news-container {\n display: flex;\n flex-direction: column;\n gap: var(--gx-ide-articles-gap);\n p:first-child {\n margin-top: 0;\n }\n p:last-child {\n margin-bottom: 0;\n }\n}\ngxg-card.section {\n height: 100% !important;\n overflow: auto;\n border-bottom: 2px solid var(--gray-00);\n}\ngxg-ide-loader::part(loader-wrapper) {\n border-radius: var(--gxg-card-section_border-radius);\n overflow: hidden;\n}\n.gxg-card-container {\n height: 100%;\n overflow: auto;\n}\n.gx-ide-message {\n height: 100%;\n display: flex;\n align-items: center;\n justify-content: center;\n flex-direction: column;\n gap: var(--mer-spacing--sm);\n\n &--hidden {\n display: none;\n }\n}\ngx-ide-title {\n max-width: 250px;\n}\n.news-article {\n transition: 200ms opacity;\n opacity: 0;\n\n &.visible {\n opacity: 1;\n }\n}\n","/* STENCIL IMPORTS */\nimport { Component, Host, h, Prop, Element, State, Watch } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { NewsData, GetNewsCallback, OpenNewsCallback } from \"./start-page\";\n\n@Component({\n tag: \"gx-ide-recent-news\",\n styleUrl: \"recent-news.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/recent-news\"]\n})\nexport class GxIdeRecentNews {\n /*\nINDEX:\n1.OWN PROPERTIES \n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE METHODS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeRecentNewsElement;\n private loaderEl!: HTMLGxgIdeLoaderElement;\n private newsContainerEl: HTMLDivElement;\n private newsRendered = false;\n private setTimeOutNewsDelay = 75;\n\n // 3.STATE() VARIABLES //\n\n /**\n * The list of news\n */\n @State() news: NewsData[] = [];\n @Watch(\"news\")\n watchNewsHandler() {\n this.displayNews();\n }\n\n /**\n * True if news couldn't be loaded\n */\n @State() newsLoadFailed = false;\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * Callback invoked to load the news feed (right panel \"Recent News\").\n */\n @Prop() readonly getNewsCallback: GetNewsCallback;\n\n /**\n * Callback invoked to open a news article.\n */\n @Prop() readonly openNewsCallback: OpenNewsCallback;\n\n // 5.EVENTS (EMIT) //\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n componentDidLoad() {\n this.getNews();\n this.attachLoaderEvents();\n }\n\n componentDidRender() {\n this.evaluateNewsDisplay();\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private evaluateNewsDisplay = () => {\n if (\n !this.newsRendered &&\n this.news.length > 0 &&\n this.newsContainerEl !== undefined\n ) {\n this.displayNews();\n this.newsRendered = true;\n }\n };\n\n private displayNews = () => {\n if (this.newsContainerEl !== undefined) {\n const news = Array.from(\n this.newsContainerEl.querySelectorAll(\"gxg-card\")\n );\n news.forEach(news => {\n setTimeout(() => {\n news.classList.add(\"visible\");\n }, this.setTimeOutNewsDelay);\n this.setTimeOutNewsDelay += 75;\n });\n }\n };\n\n private attachLoaderEvents = () => {\n this.loaderEl.addEventListener(\"loaderFinished\", () => {\n if (this.news.length === 0) {\n this.newsLoadFailed = true;\n } else {\n this.newsLoadFailed = false;\n }\n });\n };\n\n private getNews = async () => {\n this.loaderEl.show = true;\n if (this.getNewsCallback) {\n const newsResult = await this.getNewsCallback();\n this.loaderEl.show = false;\n if (newsResult && newsResult.length > 0) {\n this.news = newsResult;\n this.newsLoadFailed = false;\n } else {\n this.newsLoadFailed = true;\n }\n }\n };\n\n private openNewsHandler = (newsId: string) => async () => {\n if (this.openNewsCallback) {\n await this.openNewsCallback(newsId);\n }\n };\n\n // 9.LOCAL METHODS -> RENDERS //\n\n private renderNews = (news: NewsData): HTMLGxgCardElement | null => {\n if (news.id && news.title) {\n return (\n <gxg-card\n id={news.id}\n key={news.id}\n cardType=\"article\"\n cardTitle={news.title}\n icon=\"gx-test/test-results\"\n iconColor=\"auto\"\n actionable\n onClick={this.openNewsHandler(news.id)}\n titleSemibold\n noHeaderBorder\n class=\"news-article\"\n >\n {news.body ? <p>{news.body}</p> : null}\n </gxg-card>\n );\n }\n return null;\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host>\n <gxg-card\n class=\"section\"\n cardType=\"section\"\n cardTitle={this._componentLocale.recentNews.title}\n >\n {this.news.length > 0 ? (\n <div\n class=\"news-container\"\n ref={el => (this.newsContainerEl = el as HTMLDivElement)}\n >\n {this.news?.map(singleNews => {\n return this.renderNews(singleNews);\n })}\n </div>\n ) : (\n <div\n class={{\n \"gx-ide-message\": true,\n \"gx-ide-message--hidden\": !this.newsLoadFailed\n }}\n >\n <gx-ide-title alignment=\"center\">\n {this._componentLocale.recentNews.newsNotFetched}\n </gx-ide-title>\n <gxg-button onClick={this.getNews}>\n {this._componentLocale.recentNews.tryAgainButtonLabel}\n </gxg-button>\n <gxg-text\n type=\"text-link\"\n href=\"https://www.genexus.com/en/news\"\n target=\"_blank\"\n >\n {this._componentLocale.recentNews.readThemOnline}\n </gxg-text>\n </div>\n )}\n </gxg-card>\n <gxg-ide-loader\n abortTime={8000}\n container={this.el}\n loaderTitle={this._componentLocale.loader.title}\n description=\"Hang on please\"\n ref={el => (this.loaderEl = el as HTMLGxgIdeLoaderElement)}\n ></gxg-ide-loader>\n </Host>\n );\n }\n}\n"],"mappings":"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"}