@genexus/genexus-ide-ui 0.0.108 → 0.0.110

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/dist/cjs/ch-dropdown_2.cjs.entry.js +1 -1
  2. package/dist/cjs/ch-dropdown_2.cjs.entry.js.map +1 -1
  3. package/dist/cjs/ch-grid_8.cjs.entry.js +339 -321
  4. package/dist/cjs/ch-grid_8.cjs.entry.js.map +1 -1
  5. package/dist/cjs/ch-icon_5.cjs.entry.js +3 -1
  6. package/dist/cjs/ch-icon_5.cjs.entry.js.map +1 -1
  7. package/dist/cjs/ch-suggest_4.cjs.entry.js +1 -1
  8. package/dist/cjs/ch-suggest_4.cjs.entry.js.map +1 -1
  9. package/dist/cjs/ch-tree-view_5.cjs.entry.js +41 -20
  10. package/dist/cjs/ch-tree-view_5.cjs.entry.js.map +1 -1
  11. package/dist/cjs/{common-103f62f6.js → common-2e355c7d.js} +31 -1
  12. package/dist/cjs/common-2e355c7d.js.map +1 -0
  13. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  14. package/dist/cjs/{gx-ide-container_2.cjs.entry.js → gx-ide-container_3.cjs.entry.js} +47 -4
  15. package/dist/cjs/gx-ide-container_3.cjs.entry.js.map +1 -0
  16. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +2 -2
  17. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  18. package/dist/cjs/gx-ide-edit-module-servers.cjs.entry.js +98 -0
  19. package/dist/cjs/gx-ide-edit-module-servers.cjs.entry.js.map +1 -0
  20. package/dist/cjs/gx-ide-empty-state.cjs.entry.js +70 -0
  21. package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -0
  22. package/dist/cjs/gx-ide-import-from-design.cjs.entry.js +1 -1
  23. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
  24. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  25. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +311 -0
  26. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -0
  27. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
  28. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
  29. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
  30. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +76 -0
  31. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js.map +1 -0
  32. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  33. package/dist/cjs/gxg-buttons-container_2.cjs.entry.js +184 -0
  34. package/dist/cjs/gxg-buttons-container_2.cjs.entry.js.map +1 -0
  35. package/dist/cjs/{gx-ide-empty-state_2.cjs.entry.js → gxg-card_2.cjs.entry.js} +121 -63
  36. package/dist/cjs/gxg-card_2.cjs.entry.js.map +1 -0
  37. package/dist/cjs/gxg-combo-box_2.cjs.entry.js +1 -0
  38. package/dist/cjs/gxg-combo-box_2.cjs.entry.js.map +1 -1
  39. package/dist/cjs/gxg-ide-loader.cjs.entry.js +4 -15
  40. package/dist/cjs/gxg-ide-loader.cjs.entry.js.map +1 -1
  41. package/dist/cjs/gxg-tab_4.cjs.entry.js +1 -1
  42. package/dist/cjs/gxg-tab_4.cjs.entry.js.map +1 -1
  43. package/dist/cjs/loader.cjs.js +1 -1
  44. package/dist/collection/collection-manifest.json +2 -0
  45. package/dist/collection/common/common.js +21 -0
  46. package/dist/collection/common/common.js.map +1 -1
  47. package/dist/collection/components/_helpers/container/container.css +6 -0
  48. package/dist/collection/components/_helpers/container/container.js +40 -0
  49. package/dist/collection/components/_helpers/container/container.js.map +1 -1
  50. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +1 -1
  51. package/dist/collection/components/_helpers/list-selector/list-selector.js +1 -1
  52. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.css +370 -29
  53. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.js +4 -99
  54. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.js.map +1 -1
  55. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js +1 -1
  56. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js.map +1 -1
  57. package/dist/collection/components/kb-manager-import/kb-manager-import.js +1 -1
  58. package/dist/collection/components/kb-manager-import/kb-manager-import.js.map +1 -1
  59. package/dist/collection/components/modules/edit-module-servers/edit-module-servers.css +560 -0
  60. package/dist/collection/components/modules/edit-module-servers/edit-module-servers.js +251 -0
  61. package/dist/collection/components/modules/edit-module-servers/edit-module-servers.js.map +1 -0
  62. package/dist/collection/components/modules/edit-module-servers/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.en.json +11 -0
  63. package/dist/collection/components/modules/edit-module-servers/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.ja.json +3 -0
  64. package/dist/collection/components/modules/edit-module-servers/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.zh.json +3 -0
  65. package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.en.json +35 -0
  66. package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.ja.json +3 -0
  67. package/dist/collection/components/modules/manage-module-references/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.zh.json +3 -0
  68. package/dist/collection/components/modules/manage-module-references/manage-module-references.css +744 -0
  69. package/dist/collection/components/modules/manage-module-references/manage-module-references.js +501 -0
  70. package/dist/collection/components/modules/manage-module-references/manage-module-references.js.map +1 -0
  71. package/dist/collection/components/modules/types.js +2 -0
  72. package/dist/collection/components/modules/types.js.map +1 -0
  73. package/dist/collection/pages/assets/common.js +7 -0
  74. package/dist/components/buttons-container.js +8 -3
  75. package/dist/components/buttons-container.js.map +1 -1
  76. package/dist/components/card.js.map +1 -1
  77. package/dist/components/ch-grid-column2.js +4 -1
  78. package/dist/components/ch-grid-column2.js.map +1 -1
  79. package/dist/components/ch-grid2.js +342 -322
  80. package/dist/components/ch-grid2.js.map +1 -1
  81. package/dist/components/combo-box.js +1 -0
  82. package/dist/components/combo-box.js.map +1 -1
  83. package/dist/components/common.js +30 -1
  84. package/dist/components/common.js.map +1 -1
  85. package/dist/components/container.js +7 -1
  86. package/dist/components/container.js.map +1 -1
  87. package/dist/components/dropdown.js +1 -1
  88. package/dist/components/dropdown.js.map +1 -1
  89. package/dist/components/gx-ide-create-kb-from-server.js +1 -1
  90. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  91. package/dist/components/gx-ide-edit-module-servers.d.ts +11 -0
  92. package/dist/components/gx-ide-edit-module-servers.js +186 -0
  93. package/dist/components/gx-ide-edit-module-servers.js.map +1 -0
  94. package/dist/components/gx-ide-kb-manager-import.js +1 -1
  95. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  96. package/dist/components/gx-ide-manage-module-references.d.ts +11 -0
  97. package/dist/components/gx-ide-manage-module-references.js +515 -0
  98. package/dist/components/gx-ide-manage-module-references.js.map +1 -0
  99. package/dist/components/gx-ide-status-buttons2.js +5 -15
  100. package/dist/components/gx-ide-status-buttons2.js.map +1 -1
  101. package/dist/components/gxg-top-state-bar2.js +17 -8
  102. package/dist/components/gxg-top-state-bar2.js.map +1 -1
  103. package/dist/components/icon2.js +3 -1
  104. package/dist/components/icon2.js.map +1 -1
  105. package/dist/components/ide-loader.js +6 -15
  106. package/dist/components/ide-loader.js.map +1 -1
  107. package/dist/components/suggest.js +1 -1
  108. package/dist/components/suggest.js.map +1 -1
  109. package/dist/components/tabs.js +1 -1
  110. package/dist/components/tabs.js.map +1 -1
  111. package/dist/components/tree-view-item.js +8 -2
  112. package/dist/components/tree-view-item.js.map +1 -1
  113. package/dist/components/tree-view2.js +32 -15
  114. package/dist/components/tree-view2.js.map +1 -1
  115. package/dist/esm/ch-dropdown_2.entry.js +1 -1
  116. package/dist/esm/ch-dropdown_2.entry.js.map +1 -1
  117. package/dist/esm/ch-grid_8.entry.js +339 -321
  118. package/dist/esm/ch-grid_8.entry.js.map +1 -1
  119. package/dist/esm/ch-icon_5.entry.js +3 -1
  120. package/dist/esm/ch-icon_5.entry.js.map +1 -1
  121. package/dist/esm/ch-suggest_4.entry.js +1 -1
  122. package/dist/esm/ch-suggest_4.entry.js.map +1 -1
  123. package/dist/esm/ch-tree-view_5.entry.js +41 -20
  124. package/dist/esm/ch-tree-view_5.entry.js.map +1 -1
  125. package/dist/esm/{common-f2983db2.js → common-aaad5759.js} +31 -2
  126. package/dist/esm/common-aaad5759.js.map +1 -0
  127. package/dist/esm/genexus-ide-ui.js +1 -1
  128. package/dist/esm/{gx-ide-container_2.entry.js → gx-ide-container_3.entry.js} +47 -5
  129. package/dist/esm/gx-ide-container_3.entry.js.map +1 -0
  130. package/dist/esm/gx-ide-create-kb-from-server.entry.js +2 -2
  131. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  132. package/dist/esm/gx-ide-edit-module-servers.entry.js +94 -0
  133. package/dist/esm/gx-ide-edit-module-servers.entry.js.map +1 -0
  134. package/dist/esm/gx-ide-empty-state.entry.js +66 -0
  135. package/dist/esm/gx-ide-empty-state.entry.js.map +1 -0
  136. package/dist/esm/gx-ide-import-from-design.entry.js +1 -1
  137. package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
  138. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  139. package/dist/esm/gx-ide-manage-module-references.entry.js +307 -0
  140. package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -0
  141. package/dist/esm/gx-ide-new-environment.entry.js +1 -1
  142. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  143. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  144. package/dist/esm/gx-ide-status-buttons.entry.js +72 -0
  145. package/dist/esm/gx-ide-status-buttons.entry.js.map +1 -0
  146. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  147. package/dist/esm/gxg-buttons-container_2.entry.js +179 -0
  148. package/dist/esm/gxg-buttons-container_2.entry.js.map +1 -0
  149. package/dist/esm/{gx-ide-empty-state_2.entry.js → gxg-card_2.entry.js} +122 -64
  150. package/dist/{cjs/gx-ide-empty-state_2.cjs.entry.js.map → esm/gxg-card_2.entry.js.map} +1 -1
  151. package/dist/esm/gxg-combo-box_2.entry.js +1 -0
  152. package/dist/esm/gxg-combo-box_2.entry.js.map +1 -1
  153. package/dist/esm/gxg-ide-loader.entry.js +4 -15
  154. package/dist/esm/gxg-ide-loader.entry.js.map +1 -1
  155. package/dist/esm/gxg-tab_4.entry.js +1 -1
  156. package/dist/esm/gxg-tab_4.entry.js.map +1 -1
  157. package/dist/esm/loader.js +1 -1
  158. package/dist/genexus-ide-ui/genexus-ide-ui.css +9 -6
  159. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  160. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  161. package/dist/genexus-ide-ui/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.en.json +11 -0
  162. package/dist/genexus-ide-ui/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.ja.json +3 -0
  163. package/dist/genexus-ide-ui/gx-ide-assets/edit-module-servers/langs/edit-module-servers.lang.zh.json +3 -0
  164. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.en.json +35 -0
  165. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.ja.json +3 -0
  166. package/dist/genexus-ide-ui/gx-ide-assets/manage-module-references/langs/manage-module-references.lang.zh.json +3 -0
  167. package/dist/genexus-ide-ui/{p-b7bc3c0c.entry.js → p-00704c36.entry.js} +6 -6
  168. package/dist/genexus-ide-ui/{p-b7bc3c0c.entry.js.map → p-00704c36.entry.js.map} +1 -1
  169. package/dist/genexus-ide-ui/{p-2c1f414f.entry.js → p-0c0c3f1d.entry.js} +53 -53
  170. package/dist/genexus-ide-ui/{p-2c1f414f.entry.js.map → p-0c0c3f1d.entry.js.map} +1 -1
  171. package/dist/genexus-ide-ui/{p-b571e9c0.entry.js → p-0df39b62.entry.js} +5 -2
  172. package/dist/genexus-ide-ui/{p-b571e9c0.entry.js.map → p-0df39b62.entry.js.map} +1 -1
  173. package/dist/genexus-ide-ui/{p-419b2877.entry.js → p-1cb2d0df.entry.js} +80 -47
  174. package/dist/genexus-ide-ui/p-1cb2d0df.entry.js.map +1 -0
  175. package/dist/genexus-ide-ui/p-350f49ac.js +101 -0
  176. package/dist/genexus-ide-ui/p-350f49ac.js.map +1 -0
  177. package/dist/genexus-ide-ui/{p-ca7233a5.entry.js → p-39337325.entry.js} +81 -10
  178. package/dist/genexus-ide-ui/p-39337325.entry.js.map +1 -0
  179. package/dist/genexus-ide-ui/{p-001e085a.entry.js → p-51e86542.entry.js} +2 -2
  180. package/dist/genexus-ide-ui/p-5ca7da19.entry.js +94 -0
  181. package/dist/genexus-ide-ui/p-5ca7da19.entry.js.map +1 -0
  182. package/dist/genexus-ide-ui/p-5fe20f47.entry.js +211 -0
  183. package/dist/genexus-ide-ui/p-5fe20f47.entry.js.map +1 -0
  184. package/dist/genexus-ide-ui/{p-d14b5546.entry.js → p-6f5b13a7.entry.js} +4 -2
  185. package/dist/genexus-ide-ui/{p-d14b5546.entry.js.map → p-6f5b13a7.entry.js.map} +1 -1
  186. package/dist/genexus-ide-ui/p-713ad05d.entry.js +441 -0
  187. package/dist/genexus-ide-ui/p-713ad05d.entry.js.map +1 -0
  188. package/dist/genexus-ide-ui/{p-94015503.entry.js → p-786e5448.entry.js} +374 -380
  189. package/dist/genexus-ide-ui/p-786e5448.entry.js.map +1 -0
  190. package/dist/genexus-ide-ui/{p-40121554.entry.js → p-9f9fda93.entry.js} +172 -120
  191. package/dist/genexus-ide-ui/p-9f9fda93.entry.js.map +1 -0
  192. package/dist/genexus-ide-ui/{p-afce38d4.entry.js → p-b2099890.entry.js} +2 -2
  193. package/dist/genexus-ide-ui/{p-513ec2ad.entry.js → p-b4e526d6.entry.js} +2 -2
  194. package/dist/genexus-ide-ui/p-b7d0697f.entry.js +138 -0
  195. package/dist/genexus-ide-ui/p-b7d0697f.entry.js.map +1 -0
  196. package/dist/genexus-ide-ui/{p-ee9f4e20.entry.js → p-bc04fcaa.entry.js} +7 -15
  197. package/dist/genexus-ide-ui/p-bc04fcaa.entry.js.map +1 -0
  198. package/dist/genexus-ide-ui/{p-8e8bb528.entry.js → p-c14b6b77.entry.js} +2 -2
  199. package/dist/genexus-ide-ui/{p-8e8bb528.entry.js.map → p-c14b6b77.entry.js.map} +1 -1
  200. package/dist/genexus-ide-ui/{p-5a5d3e19.entry.js → p-c9cceb40.entry.js} +1 -4
  201. package/dist/genexus-ide-ui/p-c9cceb40.entry.js.map +1 -0
  202. package/dist/genexus-ide-ui/{p-2c733995.entry.js → p-d5903356.entry.js} +2 -2
  203. package/dist/genexus-ide-ui/{p-e9e4482b.entry.js → p-decf86d4.entry.js} +114 -127
  204. package/dist/genexus-ide-ui/p-decf86d4.entry.js.map +1 -0
  205. package/dist/genexus-ide-ui/{p-05102700.entry.js → p-df72101e.entry.js} +2 -2
  206. package/dist/genexus-ide-ui/{p-045a084f.entry.js → p-f37ec5b8.entry.js} +2 -1
  207. package/dist/genexus-ide-ui/p-f37ec5b8.entry.js.map +1 -0
  208. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/dropdown/dropdown.css +28 -28
  209. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/tree-view/tree-view-item/tree-view-item.css +0 -2
  210. package/dist/node_modules/@genexus/gemini/dist/collection/components/buttons-container/buttons-container.css +11 -0
  211. package/dist/node_modules/@genexus/gemini/dist/collection/components/ide-loader/ide-loader.css +3 -0
  212. package/dist/node_modules/@genexus/gemini/dist/collection/components/suggest/styles.css +1 -0
  213. package/dist/node_modules/@genexus/gemini/dist/collection/components/tabs/tabs.css +1 -0
  214. package/dist/node_modules/@genexus/gemini/dist/collection/components/top-state-bar/gxg-top-state-bar.css +51 -62
  215. package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-view/tree-view.css +37 -54
  216. package/dist/types/common/common.d.ts +2 -0
  217. package/dist/types/components/_helpers/container/container.d.ts +8 -0
  218. package/dist/types/components/_helpers/status-buttons/gx-ide-status-buttons.d.ts +0 -20
  219. package/dist/types/components/modules/edit-module-servers/edit-module-servers.d.ts +60 -0
  220. package/dist/types/components/modules/manage-module-references/manage-module-references.d.ts +110 -0
  221. package/dist/types/components/modules/types.d.ts +41 -0
  222. package/dist/types/components.d.ts +226 -80
  223. package/package.json +3 -3
  224. package/dist/cjs/common-103f62f6.js.map +0 -1
  225. package/dist/cjs/gx-ide-container_2.cjs.entry.js.map +0 -1
  226. package/dist/cjs/gx-ide-status-buttons_2.cjs.entry.js +0 -187
  227. package/dist/cjs/gx-ide-status-buttons_2.cjs.entry.js.map +0 -1
  228. package/dist/cjs/gxg-buttons-container.cjs.entry.js +0 -65
  229. package/dist/cjs/gxg-buttons-container.cjs.entry.js.map +0 -1
  230. package/dist/cjs/gxg-title-editable.cjs.entry.js +0 -128
  231. package/dist/cjs/gxg-title-editable.cjs.entry.js.map +0 -1
  232. package/dist/cjs/gxg-title.cjs.entry.js +0 -47
  233. package/dist/cjs/gxg-title.cjs.entry.js.map +0 -1
  234. package/dist/esm/common-f2983db2.js.map +0 -1
  235. package/dist/esm/gx-ide-container_2.entry.js.map +0 -1
  236. package/dist/esm/gx-ide-empty-state_2.entry.js.map +0 -1
  237. package/dist/esm/gx-ide-status-buttons_2.entry.js +0 -182
  238. package/dist/esm/gx-ide-status-buttons_2.entry.js.map +0 -1
  239. package/dist/esm/gxg-buttons-container.entry.js +0 -61
  240. package/dist/esm/gxg-buttons-container.entry.js.map +0 -1
  241. package/dist/esm/gxg-title-editable.entry.js +0 -124
  242. package/dist/esm/gxg-title-editable.entry.js.map +0 -1
  243. package/dist/esm/gxg-title.entry.js +0 -43
  244. package/dist/esm/gxg-title.entry.js.map +0 -1
  245. package/dist/genexus-ide-ui/p-045a084f.entry.js.map +0 -1
  246. package/dist/genexus-ide-ui/p-40121554.entry.js.map +0 -1
  247. package/dist/genexus-ide-ui/p-419b2877.entry.js.map +0 -1
  248. package/dist/genexus-ide-ui/p-5a5d3e19.entry.js.map +0 -1
  249. package/dist/genexus-ide-ui/p-67406b36.entry.js +0 -71
  250. package/dist/genexus-ide-ui/p-67406b36.entry.js.map +0 -1
  251. package/dist/genexus-ide-ui/p-67ea84e8.js +0 -74
  252. package/dist/genexus-ide-ui/p-67ea84e8.js.map +0 -1
  253. package/dist/genexus-ide-ui/p-94015503.entry.js.map +0 -1
  254. package/dist/genexus-ide-ui/p-ca7233a5.entry.js.map +0 -1
  255. package/dist/genexus-ide-ui/p-cf5c3c10.entry.js +0 -270
  256. package/dist/genexus-ide-ui/p-cf5c3c10.entry.js.map +0 -1
  257. package/dist/genexus-ide-ui/p-d50b5b9a.entry.js +0 -67
  258. package/dist/genexus-ide-ui/p-d50b5b9a.entry.js.map +0 -1
  259. package/dist/genexus-ide-ui/p-e9e4482b.entry.js.map +0 -1
  260. package/dist/genexus-ide-ui/p-ee9f4e20.entry.js.map +0 -1
  261. /package/dist/genexus-ide-ui/{p-001e085a.entry.js.map → p-51e86542.entry.js.map} +0 -0
  262. /package/dist/genexus-ide-ui/{p-afce38d4.entry.js.map → p-b2099890.entry.js.map} +0 -0
  263. /package/dist/genexus-ide-ui/{p-513ec2ad.entry.js.map → p-b4e526d6.entry.js.map} +0 -0
  264. /package/dist/genexus-ide-ui/{p-2c733995.entry.js.map → p-d5903356.entry.js.map} +0 -0
  265. /package/dist/genexus-ide-ui/{p-05102700.entry.js.map → p-df72101e.entry.js.map} +0 -0
@@ -353,7 +353,7 @@ const p = class {
353
353
 
354
354
  p.style = f;
355
355
 
356
- const m = '@charset "UTF-8";:root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host(.gxg-validation--warning) .form-element{border-color:var(--ds-border-color--warning)}:host(.gxg-validation--warning) .form-element:focus{outline-color:var(--ds-border-color--warning);border-color:var(--ds-border-color--warning)}:host(.gxg-validation--warning) .form-element:focus+.checkmark{--checkmark-border-color:var(--ds-border-color--warning)}:host(.gxg-validation--error) .form-element{border-color:var(--ds-border-color--error)}:host(.gxg-validation--error) .form-element:focus{outline-color:var(--ds-border-color--error);border-color:var(--ds-border-color--error)}:host(.gxg-validation--error) .form-element:focus+.checkmark{--checkmark-border-color:var(--ds-border-color--error)}:host(.gxg-validation--success) .form-element{border-color:var(--ds-border-color--success)}:host(.gxg-validation--success) .form-element:focus{outline-color:var(--ds-border-color--success);border-color:var(--ds-border-color--success)}:host(.gxg-validation--success) .form-element:focus+.checkmark{--checkmark-border-color:var(--ds-border-color--success)}.tooltip-outer-wrapper{display:grid;grid-template-columns:0fr;transition:grid-template-columns var(--timing-02)}:host(.tooltip--visible) .tooltip-outer-wrapper{grid-template-columns:1fr}.tooltip-inner-wrapper{--margin-inline-start:6px;overflow:hidden;transition:150ms width;width:0}.tooltip-inner-wrapper gxg-icon{display:flex;position:relative !important;top:0 !important;transform:none !important;margin-inline-start:var(--margin-inline-start);box-sizing:border-box}.tooltip-inner-wrapper--visible{width:calc(var(--ds-icon-size-box--small) + var(--margin-inline-start))}.tooltip-inner-wrapper--hidden{display:none}ch-suggest{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-color);}ch-suggest::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}ch-suggest::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}ch-suggest::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}ch-suggest::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}ch-suggest::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}ch-suggest::part(label){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);display:flex;align-items:center;cursor:default;font-size:inherit;flex-shrink:0}ch-suggest[label-position=start]::part(label){margin-inline-end:var(--gxg-label-separation-horizontal)}ch-suggest[label-position=above]::part(label){margin-block-end:var(--gxg-label-separation-vertical)}ch-suggest::part(input){height:var(--gxg-suggest-input__height);border:var(--ds-form-control-border);border-radius:var(--ds-form-control-border-radius);padding:var(--gxg-suggest-input__padding);box-sizing:border-box;background-color:var(--gxg-suggest-input__background-color);width:100%;flex:auto}ch-suggest::part(input):focus{outline:var(--ds-focus-border-width) solid var(--ds-border-color-control--focused);outline-offset:-1px;outline-offset:0;outline-offset:-1px}ch-suggest::part(header){display:block;padding-block-end:var(--gxg-suggest-header__padding-block-end);display:flex;justify-content:flex-end}ch-suggest::part(close-button){height:var(--spacing-comp-05);width:var(--spacing-comp-05);background-color:var(--color-background);color:var(--color-primary-hover);border:1px solid var(--color-primary-hover);box-sizing:border-box;cursor:pointer;display:block}ch-suggest::part(close-button):hover{background-color:var(--color-primary-hover-opacity-01)}ch-suggest::part(close-button)::after{content:"✖";width:100%;display:block;line-height:var(--gxg-suggest-close-button__line-height--after);text-align:center}ch-suggest::part(close-button):focus{outline:var(--ds-focus-border-width) solid var(--ds-border-color-control--focused);outline-offset:-1px;outline-offset:0}ch-suggest::part(dropdown){background-color:var(--gxg-suggest-drop-down__background-color);margin-top:var(--gxg-suggest-drop-down__margin-top);padding:var(--gxg-suggest-drop-down__padding);box-shadow:var(--gxg-suggest-drop-down__box-shadow);border:var(--gxg-suggest-general__border);position:relative;top:2px;}ch-suggest::part(dropdown)::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}ch-suggest::part(dropdown)::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}ch-suggest::part(dropdown)::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}ch-suggest::part(dropdown)::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}ch-suggest::part(dropdown)::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.messages-wrapper{margin-top:var(--spacing-comp-02);display:flex;gap:var(--spacing-comp-01);flex-direction:column}gxg-suggest.gxg-validation--success ch-suggest::part(input){outline-color:var(--ds-border-color--success);border-color:var(--ds-border-color--success)}gxg-suggest.gxg-validation--success ch-suggest::part(input)+.checkmark{--checkmark-border-color:var(--ds-border-color--success)}gxg-suggest.gxg-validation--warning ch-suggest::part(input){outline-color:var(--ds-border-color--warning);border-color:var(--ds-border-color--warning)}gxg-suggest.gxg-validation--warning ch-suggest::part(input)+.checkmark{--checkmark-border-color:var(--ds-border-color--warning)}gxg-suggest.gxg-validation--error ch-suggest::part(input){outline-color:var(--ds-border-color--error);border-color:var(--ds-border-color--error)}gxg-suggest.gxg-validation--error ch-suggest::part(input)+.checkmark{--checkmark-border-color:var(--ds-border-color--error)}gxg-suggest.gxg--disabled ch-suggest{pointer-events:none}gxg-suggest.gxg--disabled ch-suggest::part(input){background-color:var(--gray-01);color:var(--color-on-disabled)}gxg-suggest[ellipsis]:not([ellipsis=false]) ch-suggest-list-item::part(content-wrapper){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}ch-suggest-list{font-family:inherit;border:var(--gxg-suggest-list__border);border-radius:var(--gxg-suggest-list__border-radius);padding:var(--gxg-suggest-list__padding)}ch-suggest-list>ch-suggest-list-item:not(:first-child){border-top:var(--gxg-suggest-general__border)}ch-suggest-list:first-child{margin-block-start:0}ch-suggest-list:last-child{margin-block-end:0}ch-suggest-list::part(title){text-transform:capitalize;font-weight:var(--gxg-suggest-list-title__font-weight);margin:var(--gxg-suggest-list-title__margin);padding:var(--gxg-suggest-list-title__padding);color:var(--gxg-suggest-list-title__color);background-color:var(--gxg-suggest-list-title__background-color);border-bottom:var(--gxg-suggest-general__border);border-bottom-width:2px}ch-suggest-list:first-child{margin-block-start:0}ch-suggest-list::part(list){padding:var(--gxg-suggest-list-part-list__padding)}ch-suggest-list+ch-suggest-list{margin-block-start:0;border-block-start:0}ch-suggest-list+ch-suggest-list::part(title){margin-block-start:0}ch-suggest-list+ch-suggest-list-item{margin-block-start:var(--gxg-suggest-list-item-next-sibling__margin-block-start)}ch-suggest-list-item{font-size:inherit;border-radius:var(--gxg-suggest-list-item__border-radius);}ch-suggest-list-item::part(button){padding:var(--gxg-suggest-list-item-button__padding);align-items:center;gap:var(--gxg-suggest-list-item-button__gap);box-sizing:border-box;line-height:var(--gxg-suggest-list-item__line-height);box-sizing:border-box;overflow:hidden}ch-suggest-list-item::part(button):hover{color:var(--gxg-suggest-list-item-button__color--hover)}ch-suggest-list-item::part(button):focus{outline:var(--ds-focus-border-width) solid var(--ds-border-color-control--focused);outline-offset:-1px;outline-offset:0}ch-suggest-list-item::part(description)::before{content:" - "}ch-suggest-list-item gxg-icon::part(ch-icon){--icon-size:var(--gxg-suggest-list-item-icon__size);margin-right:var(--gxg-suggest-list-item-icon__margin-right)}ch-suggest-list-item:hover{background-color:var(--gxg-suggest-list-item-button__background-color)}ch-suggest-list-item+ch-suggest-list{margin-block-start:var(--spacing-comp-02)}';
356
+ const m = '@charset "UTF-8";:root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host(.gxg-validation--warning) .form-element{border-color:var(--ds-border-color--warning)}:host(.gxg-validation--warning) .form-element:focus{outline-color:var(--ds-border-color--warning);border-color:var(--ds-border-color--warning)}:host(.gxg-validation--warning) .form-element:focus+.checkmark{--checkmark-border-color:var(--ds-border-color--warning)}:host(.gxg-validation--error) .form-element{border-color:var(--ds-border-color--error)}:host(.gxg-validation--error) .form-element:focus{outline-color:var(--ds-border-color--error);border-color:var(--ds-border-color--error)}:host(.gxg-validation--error) .form-element:focus+.checkmark{--checkmark-border-color:var(--ds-border-color--error)}:host(.gxg-validation--success) .form-element{border-color:var(--ds-border-color--success)}:host(.gxg-validation--success) .form-element:focus{outline-color:var(--ds-border-color--success);border-color:var(--ds-border-color--success)}:host(.gxg-validation--success) .form-element:focus+.checkmark{--checkmark-border-color:var(--ds-border-color--success)}.tooltip-outer-wrapper{display:grid;grid-template-columns:0fr;transition:grid-template-columns var(--timing-02)}:host(.tooltip--visible) .tooltip-outer-wrapper{grid-template-columns:1fr}.tooltip-inner-wrapper{--margin-inline-start:6px;overflow:hidden;transition:150ms width;width:0}.tooltip-inner-wrapper gxg-icon{display:flex;position:relative !important;top:0 !important;transform:none !important;margin-inline-start:var(--margin-inline-start);box-sizing:border-box}.tooltip-inner-wrapper--visible{width:calc(var(--ds-icon-size-box--small) + var(--margin-inline-start))}.tooltip-inner-wrapper--hidden{display:none}ch-suggest{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-color);}ch-suggest::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}ch-suggest::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}ch-suggest::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}ch-suggest::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}ch-suggest::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}ch-suggest::part(label){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);display:flex;align-items:center;cursor:default;font-size:inherit;flex-shrink:0}ch-suggest[label-position=start]::part(label){margin-inline-end:var(--gxg-label-separation-horizontal)}ch-suggest[label-position=above]::part(label){margin-block-end:var(--gxg-label-separation-vertical)}ch-suggest::part(input){font-size:var(--gxg-suggest-input__font-size);height:var(--gxg-suggest-input__height);border:var(--ds-form-control-border);border-radius:var(--ds-form-control-border-radius);padding:var(--gxg-suggest-input__padding);box-sizing:border-box;background-color:var(--gxg-suggest-input__background-color);width:100%;flex:auto}ch-suggest::part(input):focus{outline:var(--ds-focus-border-width) solid var(--ds-border-color-control--focused);outline-offset:-1px;outline-offset:0;outline-offset:-1px}ch-suggest::part(header){display:block;padding-block-end:var(--gxg-suggest-header__padding-block-end);display:flex;justify-content:flex-end}ch-suggest::part(close-button){height:var(--spacing-comp-05);width:var(--spacing-comp-05);background-color:var(--color-background);color:var(--color-primary-hover);border:1px solid var(--color-primary-hover);box-sizing:border-box;cursor:pointer;display:block}ch-suggest::part(close-button):hover{background-color:var(--color-primary-hover-opacity-01)}ch-suggest::part(close-button)::after{content:"✖";width:100%;display:block;line-height:var(--gxg-suggest-close-button__line-height--after);text-align:center}ch-suggest::part(close-button):focus{outline:var(--ds-focus-border-width) solid var(--ds-border-color-control--focused);outline-offset:-1px;outline-offset:0}ch-suggest::part(dropdown){background-color:var(--gxg-suggest-drop-down__background-color);margin-top:var(--gxg-suggest-drop-down__margin-top);padding:var(--gxg-suggest-drop-down__padding);box-shadow:var(--gxg-suggest-drop-down__box-shadow);border:var(--gxg-suggest-general__border);position:relative;top:2px;}ch-suggest::part(dropdown)::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}ch-suggest::part(dropdown)::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}ch-suggest::part(dropdown)::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}ch-suggest::part(dropdown)::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}ch-suggest::part(dropdown)::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.messages-wrapper{margin-top:var(--spacing-comp-02);display:flex;gap:var(--spacing-comp-01);flex-direction:column}gxg-suggest.gxg-validation--success ch-suggest::part(input){outline-color:var(--ds-border-color--success);border-color:var(--ds-border-color--success)}gxg-suggest.gxg-validation--success ch-suggest::part(input)+.checkmark{--checkmark-border-color:var(--ds-border-color--success)}gxg-suggest.gxg-validation--warning ch-suggest::part(input){outline-color:var(--ds-border-color--warning);border-color:var(--ds-border-color--warning)}gxg-suggest.gxg-validation--warning ch-suggest::part(input)+.checkmark{--checkmark-border-color:var(--ds-border-color--warning)}gxg-suggest.gxg-validation--error ch-suggest::part(input){outline-color:var(--ds-border-color--error);border-color:var(--ds-border-color--error)}gxg-suggest.gxg-validation--error ch-suggest::part(input)+.checkmark{--checkmark-border-color:var(--ds-border-color--error)}gxg-suggest.gxg--disabled ch-suggest{pointer-events:none}gxg-suggest.gxg--disabled ch-suggest::part(input){background-color:var(--gray-01);color:var(--color-on-disabled)}gxg-suggest[ellipsis]:not([ellipsis=false]) ch-suggest-list-item::part(content-wrapper){white-space:nowrap;overflow:hidden;text-overflow:ellipsis;width:100%}ch-suggest-list{font-family:inherit;border:var(--gxg-suggest-list__border);border-radius:var(--gxg-suggest-list__border-radius);padding:var(--gxg-suggest-list__padding)}ch-suggest-list>ch-suggest-list-item:not(:first-child){border-top:var(--gxg-suggest-general__border)}ch-suggest-list:first-child{margin-block-start:0}ch-suggest-list:last-child{margin-block-end:0}ch-suggest-list::part(title){text-transform:capitalize;font-weight:var(--gxg-suggest-list-title__font-weight);margin:var(--gxg-suggest-list-title__margin);padding:var(--gxg-suggest-list-title__padding);color:var(--gxg-suggest-list-title__color);background-color:var(--gxg-suggest-list-title__background-color);border-bottom:var(--gxg-suggest-general__border);border-bottom-width:2px}ch-suggest-list:first-child{margin-block-start:0}ch-suggest-list::part(list){padding:var(--gxg-suggest-list-part-list__padding)}ch-suggest-list+ch-suggest-list{margin-block-start:0;border-block-start:0}ch-suggest-list+ch-suggest-list::part(title){margin-block-start:0}ch-suggest-list+ch-suggest-list-item{margin-block-start:var(--gxg-suggest-list-item-next-sibling__margin-block-start)}ch-suggest-list-item{font-size:inherit;border-radius:var(--gxg-suggest-list-item__border-radius);}ch-suggest-list-item::part(button){padding:var(--gxg-suggest-list-item-button__padding);align-items:center;gap:var(--gxg-suggest-list-item-button__gap);box-sizing:border-box;line-height:var(--gxg-suggest-list-item__line-height);box-sizing:border-box;overflow:hidden}ch-suggest-list-item::part(button):hover{color:var(--gxg-suggest-list-item-button__color--hover)}ch-suggest-list-item::part(button):focus{outline:var(--ds-focus-border-width) solid var(--ds-border-color-control--focused);outline-offset:-1px;outline-offset:0}ch-suggest-list-item::part(description)::before{content:" - "}ch-suggest-list-item gxg-icon::part(ch-icon){--icon-size:var(--gxg-suggest-list-item-icon__size);margin-right:var(--gxg-suggest-list-item-icon__margin-right)}ch-suggest-list-item:hover{background-color:var(--gxg-suggest-list-item-button__background-color)}ch-suggest-list-item+ch-suggest-list{margin-block-start:var(--spacing-comp-02)}';
357
357
 
358
358
  const x = class {
359
359
  constructor(r) {
@@ -379,4 +379,4 @@ const x = class {
379
379
  x.style = m;
380
380
 
381
381
  export { d as ch_suggest, b as ch_suggest_list, p as ch_suggest_list_item, x as gxg_suggest };
382
- //# sourceMappingURL=p-8e8bb528.entry.js.map
382
+ //# sourceMappingURL=p-c14b6b77.entry.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["chSuggestCss","ARROW_DOWN","ARROW_UP","ChSuggest","constructor","hostRef","this","keyEventsDictionary","ArrowDown","e","newFocusedItem","getNewFocusedItem","currentFocusedItem","nextFocusedItem","focus","scrollListToBottom","ArrowUp","scrollListToTop","evaluateSlotIsEmpty","chWindow","hidden","el","firstElementChild","setFocusOnFirstItem","firstItem","querySelector","getChSuggestListItems","Array","from","querySelectorAll","direction","getListChild","list","listItems","listChild","length","parentListItems","nextElementSibling","previousElementSibling","nodeName","parent","parentElement","sibling","parentIsList","parentList","handleInput","inputValue","target","value","timeoutReference","clearTimeout","setTimeout","processInputEvent","debounce","handleKeyDown","key","preventDefault","evaluateWindowMaxHeight","viewportHeight","window","innerHeight","documentHeight","document","body","scrollHeight","height","inputBottomPosition","textInput","getBoundingClientRect","bottom","scrollY","windowMaxHeight","style","setProperty","partWindow","shadowRoot","scrollTop","valueChanged","emit","closeWindow","onFocusHandler","cursorEnd","setSelectionRange","windowHidden","label","undefined","labelPosition","showLabel","showHeader","suggestTitle","itemSelectedHandler","event","stopPropagation","detail","selectionChanged","focusChangeAttemptHandler","keyEventHandler","code","chSuggestListItemsArray","currentFocusedItemIndex","findIndex","item","newItemToSetFocusOn","windowClosedHandler","slot","innerHTML","selectInputText","select","render","h","Host","class","part","id","htmlFor","type","ref","onInput","onKeyDown","onFocus","autocomplete","toString","container","xAlign","yAlign","caption","exportparts","onSlotchange","delegatesFocus","chSuggestListCss","ChSuggestList","chSuggestListItemCss","ChSuggestListItem","getItemIndexes","chSuggest","itemIndex","suggestListItemsArray","index","listIndex","chSuggestList","chSuggestListsArray","listItemsArray","handleClick","indexes","itemSelected","innerText","description","icon","iconSrc","focusChangeAttempt","role","onClick","name","stylesCss","GxgSuggest","validationStatus","validationMessage","disabled","ellipsis","formClasses","commonClassesNames","formMessageLogic"],"sources":["node_modules/@genexus/chameleon-controls-library/dist/collection/components/suggest/ch-suggest.css?tag=ch-suggest&encapsulation=shadow","node_modules/@genexus/chameleon-controls-library/dist/collection/components/suggest/ch-suggest.js","node_modules/@genexus/chameleon-controls-library/dist/collection/components/suggest/suggest-list/ch-suggest-list.css?tag=ch-suggest-list&encapsulation=shadow","node_modules/@genexus/chameleon-controls-library/dist/collection/components/suggest/suggest-list/ch-suggest-list.js","node_modules/@genexus/chameleon-controls-library/dist/collection/components/suggest/suggest-list-item/ch-suggest-list-item.css?tag=ch-suggest-list-item&encapsulation=shadow","node_modules/@genexus/chameleon-controls-library/dist/collection/components/suggest/suggest-list-item/ch-suggest-list-item.js","node_modules/@genexus/gemini/dist/collection/components/suggest/styles.css?tag=gxg-suggest","node_modules/@genexus/gemini/dist/collection/components/suggest/suggest.js"],"sourcesContent":["*,\n::after,\n::before {\n box-sizing: border-box;\n}\n\n:host {\n --window-max-height: none;\n --window-gap: 50px;\n}\n\n.main-wrapper {\n display: block;\n}\n\n/*label*/\n.label-input-wrapper {\n display: flex;\n}\n.label-input-wrapper .input {\n flex: 1;\n}\n\n:host([label-position=start]) .label-input-wrapper {\n flex-direction: row;\n}\n\n:host([label-position=above]) .label-input-wrapper {\n flex-direction: column;\n}\n\n/*input*/\n.input {\n background-color: unset;\n border: none;\n color: inherit;\n font: inherit;\n margin: 0;\n padding: 0;\n outline: 0;\n}\n\n/*window*/\n.ch-window-container {\n position: relative;\n}\n\nch-window::part(window) {\n width: 100%;\n max-height: calc(var(--window-max-height) - var(--window-gap));\n overflow-y: auto;\n}","/* STENCIL IMPORTS */\nimport { Host, h } from \"@stencil/core\";\nconst ARROW_DOWN = \"ArrowDown\";\nconst ARROW_UP = \"ArrowUp\";\nexport class ChSuggest {\n constructor() {\n this.windowHidden = true;\n this.debounce = 300;\n this.label = undefined;\n this.labelPosition = \"start\";\n this.showLabel = true;\n this.value = undefined;\n this.showHeader = false;\n this.suggestTitle = undefined;\n this.cursorEnd = false;\n }\n /*\n INDEX:\n 1.OWN PROPERTIES\n 2.REFERENCE TO ELEMENTS\n 3.STATE() VARIABLES\n 4.PUBLIC PROPERTY API / WATCH'S\n 5.EVENTS (EMIT)\n 6.COMPONENT LIFECYCLE EVENTS\n 7.LISTENERS\n 8.PUBLIC METHODS API\n 9.LOCAL METHODS\n 10.RENDER() FUNCTION\n */\n // 1.OWN PROPERTIES //\n timeoutReference;\n keyEventsDictionary = {\n ArrowDown: (e) => {\n const newFocusedItem = this.getNewFocusedItem(e.currentFocusedItem, ARROW_DOWN);\n const nextFocusedItem = this.getNewFocusedItem(newFocusedItem, ARROW_DOWN);\n newFocusedItem && newFocusedItem.focus();\n if (!nextFocusedItem) {\n /* This is the last item. Adjust window scroll to be at the very bottom*/\n this.scrollListToBottom();\n }\n },\n ArrowUp: (e) => {\n const newFocusedItem = this.getNewFocusedItem(e.currentFocusedItem, ARROW_UP);\n const nextFocusedItem = this.getNewFocusedItem(newFocusedItem, ARROW_UP);\n newFocusedItem && newFocusedItem.focus();\n if (!nextFocusedItem) {\n /* This is the first item. Adjust window scroll to be at the very top*/\n this.scrollListToTop();\n }\n }\n };\n // 2. REFERENCE TO ELEMENTS //\n textInput;\n chWindow;\n slot;\n el;\n // 5.EVENTS (EMIT) //\n /**\n * This event is emitted every time there input events fires, and it emits the actual input value.\n */\n valueChanged;\n /**\n * This event is emitted when an item was selected.\n */\n selectionChanged;\n // 6.COMPONENT LIFECYCLE EVENTS //\n // 7.LISTENERS //\n itemSelectedHandler(event) {\n event.stopPropagation();\n this.value = event.detail.value;\n this.closeWindow();\n this.selectionChanged.emit(event.detail);\n }\n focusChangeAttemptHandler(event) {\n const keyEventHandler = this.keyEventsDictionary[event.detail.code];\n if (keyEventHandler) {\n const currentFocusedItem = event.detail.el;\n const chSuggestListItemsArray = this.getChSuggestListItems();\n const currentFocusedItemIndex = chSuggestListItemsArray.findIndex(item => {\n return item === currentFocusedItem;\n });\n const newItemToSetFocusOn = null;\n keyEventHandler({\n event: event.detail,\n currentFocusedItem: currentFocusedItem,\n chSuggestListItemsArray: chSuggestListItemsArray,\n currentFocusedItemIndex: currentFocusedItemIndex,\n newItemToSetFocusOn: newItemToSetFocusOn\n });\n }\n }\n windowClosedHandler() {\n this.textInput.focus();\n this.windowHidden = true;\n this.slot.innerHTML = \"\";\n }\n // 9.PUBLIC METHODS API //\n /**\n * @description It selects/highlights the input text.\n */\n async selectInputText() {\n this.textInput.focus();\n this.textInput.select();\n }\n // 10.LOCAL METHODS //\n evaluateSlotIsEmpty = () => {\n this.chWindow.hidden = !this.el.firstElementChild;\n };\n setFocusOnFirstItem = () => {\n const firstItem = this.el.querySelector(\"ch-suggest-list-item\");\n firstItem && firstItem.focus();\n };\n getChSuggestListItems = () => Array.from(this.el.querySelectorAll(\"ch-suggest-list-item\"));\n getNewFocusedItem = (currentFocusedItem, direction) => {\n /* Helper function that returns the list item that should get focus (the first one, or the last one)*/\n const getListChild = (list) => {\n const listItems = list.querySelectorAll(\"ch-suggest-list-item\");\n let listChild = listItems && listItems[listItems.length - 1];\n if (direction === ARROW_DOWN) {\n listChild = list.querySelector(\"ch-suggest-list-item\");\n }\n else {\n const parentListItems = list.querySelectorAll(\"ch-suggest-list-item\");\n listChild =\n parentListItems && parentListItems[parentListItems.length - 1];\n }\n return listChild;\n };\n if (!currentFocusedItem) {\n return;\n }\n let newFocusedItem = direction === ARROW_DOWN\n ? currentFocusedItem.nextElementSibling\n : currentFocusedItem.previousElementSibling;\n if (newFocusedItem?.nodeName === \"CH-SUGGEST-LIST\") {\n newFocusedItem = getListChild(newFocusedItem);\n }\n else if (!newFocusedItem) {\n /* this could be the last item of a list, but not the last item*/\n const parent = currentFocusedItem.parentElement;\n const sibling = direction === ARROW_DOWN\n ? parent.nextElementSibling\n : parent.previousElementSibling;\n const parentIsList = parent.nodeName === \"CH-SUGGEST-LIST\";\n if (parentIsList &&\n sibling &&\n sibling.nodeName === \"CH-SUGGEST-LIST-ITEM\") {\n newFocusedItem =\n direction === ARROW_DOWN\n ? parent.nextElementSibling\n : parent.previousElementSibling;\n }\n else if (parentIsList &&\n sibling &&\n sibling.nodeName === \"CH-SUGGEST-LIST\") {\n const parentList = direction === ARROW_DOWN\n ? parent.nextElementSibling\n : parent.previousElementSibling;\n let listChild;\n if (direction === ARROW_DOWN) {\n listChild = parentList.querySelector(\"ch-suggest-list-item\");\n }\n else {\n listChild = getListChild(parentList);\n }\n newFocusedItem = listChild ? listChild : null;\n }\n }\n return newFocusedItem;\n };\n /**\n * Every time the input event is triggered, the value of the input is sent to processInputEvent, which is responsible for displaying a window with the suggested options. this.debounce is a delay that, along with clearTimeout, ensures that the window is only shown after the user has stopped typing.\n */\n handleInput = (e) => {\n const inputValue = e.target.value;\n this.value = inputValue;\n if (this.timeoutReference) {\n clearTimeout(this.timeoutReference);\n }\n this.timeoutReference = setTimeout(() => {\n this.processInputEvent(inputValue);\n }, this.debounce);\n };\n handleKeyDown = (e) => {\n if (e.key === ARROW_DOWN) {\n e.preventDefault();\n this.setFocusOnFirstItem();\n }\n };\n evaluateWindowMaxHeight = () => {\n const viewportHeight = window.innerHeight;\n const documentHeight = document.body.scrollHeight;\n const height = documentHeight >= viewportHeight ? documentHeight : viewportHeight;\n const inputBottomPosition = this.textInput.getBoundingClientRect().bottom + window.scrollY;\n const windowMaxHeight = height - inputBottomPosition + \"px\";\n this.el.style.setProperty(\"--window-max-height\", windowMaxHeight);\n };\n scrollListToTop = () => {\n const partWindow = this.chWindow.shadowRoot.querySelector(\"[part='window']\");\n partWindow.scrollTop = 0;\n };\n scrollListToBottom = () => {\n const partWindow = this.chWindow.shadowRoot.querySelector(\"[part='window']\");\n partWindow.scrollTop = partWindow.scrollHeight;\n };\n processInputEvent = (inputValue) => {\n this.valueChanged.emit(inputValue);\n this.evaluateWindowMaxHeight();\n };\n closeWindow = () => {\n this.chWindow.hidden = true;\n };\n onFocusHandler = () => {\n if (this.cursorEnd) {\n this.textInput.setSelectionRange(this.textInput.value.length, this.textInput.value.length);\n }\n };\n // 10.RENDER() FUNCTION //\n render() {\n return (h(Host, null, h(\"div\", { class: \"main-wrapper\", part: \"main-wrapper\" }, h(\"div\", { class: \"label-input-wrapper\", part: \"label-input-wrapper\" }, this.showLabel && this.label && (h(\"label\", { id: \"label\", htmlFor: \"input\", part: \"label\" }, this.label)), h(\"input\", { type: \"text\", id: \"input\", part: \"input\", class: \"input\", ref: el => (this.textInput = el), onInput: this.handleInput, onKeyDown: this.handleKeyDown, onFocus: this.onFocusHandler, value: this.value, autocomplete: \"off\", \"aria-controls\": \"ch-window\", \"aria-label\": !this.showLabel && this.label ? this.label : undefined, \"aria-labelledby\": this.showLabel && this.label ? \"label\" : undefined, \"aria-expanded\": this.windowHidden.toString() })), h(\"ch-window\", { id: \"ch-window\", container: this.textInput, \"close-on-outside-click\": true, \"close-on-escape\": true, xAlign: \"inside-start\", yAlign: \"outside-end\", ref: el => (this.chWindow = el), showHeader: this.showHeader, caption: this.suggestTitle, exportparts: \"\\n header:header, \\n caption:title, \\n close:close-button,\\n window:dropdown\" }, h(\"slot\", { onSlotchange: this.evaluateSlotIsEmpty, ref: el => (this.slot = el) })))));\n }\n static get is() { return \"ch-suggest\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ch-suggest.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ch-suggest.css\"]\n };\n }\n static get properties() {\n return {\n \"debounce\": {\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\": \"The debounce amount in milliseconds (This is the time the suggest waits after the user has finished typing, to show the suggestions).\"\n },\n \"attribute\": \"debounce\",\n \"reflect\": false,\n \"defaultValue\": \"300\"\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 label\"\n },\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"labelPosition\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"LabelPosition\",\n \"resolved\": \"\\\"above\\\" | \\\"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 label position\"\n },\n \"attribute\": \"label-position\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"start\\\"\"\n },\n \"showLabel\": {\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\": \"Whether or not to display the label\"\n },\n \"attribute\": \"show-label\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"value\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This is the suggest value.\"\n },\n \"attribute\": \"value\",\n \"reflect\": false\n },\n \"showHeader\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"false\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Wether or not the suggest has a header. The header will show the \\\"suggestTitle\\\" if provided, and a close button.\"\n },\n \"attribute\": \"show-header\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"suggestTitle\": {\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 suggest title (optional). This is not the same as the \\\"label\\\", rather, this is the title that will appear inside the dropdown. This title will only be visible if \\\"showHeader\\\" is set to true.\"\n },\n \"attribute\": \"suggest-title\",\n \"reflect\": false\n },\n \"cursorEnd\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"false\",\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 };\n }\n static get states() {\n return {\n \"windowHidden\": {}\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 emitted every time there input events fires, and it emits the actual input value.\"\n },\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n }\n }, {\n \"method\": \"selectionChanged\",\n \"name\": \"selectionChanged\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This event is emitted when an item was selected.\"\n },\n \"complexType\": {\n \"original\": \"SuggestItemSelectedEvent\",\n \"resolved\": \"{ value: any; indexes: SuggestItemIndexes; description?: string; icon?: string; }\",\n \"references\": {\n \"SuggestItemSelectedEvent\": {\n \"location\": \"import\",\n \"path\": \"./suggest-list-item/ch-suggest-list-item\",\n \"id\": \"src/components/suggest/suggest-list-item/ch-suggest-list-item.tsx::SuggestItemSelectedEvent\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\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 \"name\": \"description\",\n \"text\": \"It selects/highlights the input text.\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get listeners() {\n return [{\n \"name\": \"itemSelected\",\n \"method\": \"itemSelectedHandler\",\n \"target\": undefined,\n \"capture\": true,\n \"passive\": false\n }, {\n \"name\": \"focusChangeAttempt\",\n \"method\": \"focusChangeAttemptHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"windowClosed\",\n \"method\": \"windowClosedHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ch-suggest.js.map\n","*,\n::after,\n::before {\n box-sizing: border-box;\n}\n\n:host {\n display: block;\n}\n\n.title {\n margin: 0;\n font: inherit;\n}\n\n.list {\n margin: 0;\n padding: 0;\n}","import { Host, h } from \"@stencil/core\";\nexport class ChSuggestList {\n constructor() {\n this.label = undefined;\n }\n // 2.REFERENCE TO ELEMENTS //\n // 3.STATE() VARIABLES //\n // 4.PUBLIC PROPERTY API / WATCH'S //\n // 5.EVENTS (EMIT) //\n // 6.COMPONENT LIFECYCLE EVENTS //\n // 7.LISTENERS //\n // 8.PUBLIC METHODS API //\n // 9.LOCAL METHODS //\n // 10.RENDER() FUNCTION //\n render() {\n return (h(Host, null, this.label && (h(\"h2\", { id: \"heading\", part: \"title\", class: \"title\" }, this.label)), h(\"ul\", { \"aria-labelledby\": this.label ? \"heading\" : undefined, part: \"list\", class: \"list\" }, h(\"slot\", null))));\n }\n static get is() { return \"ch-suggest-list\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ch-suggest-list.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ch-suggest-list.css\"]\n };\n }\n static get properties() {\n return {\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 label\"\n },\n \"attribute\": \"label\",\n \"reflect\": false\n }\n };\n }\n}\n//# sourceMappingURL=ch-suggest-list.js.map\n",":host {\n display: block;\n}\n\n:where(button) {\n all: unset;\n display: flex;\n width: 100%;\n cursor: pointer;\n}\n\n*,\n::after,\n::before {\n box-sizing: border-box;\n}","/* STENCIL IMPORTS */\nimport { Host, h } from \"@stencil/core\";\nconst ARROW_DOWN = \"ArrowDown\";\nconst ARROW_UP = \"ArrowUp\";\nexport class ChSuggestListItem {\n constructor() {\n this.iconSrc = undefined;\n this.value = undefined;\n }\n // 2.REFERENCE TO ELEMENTS //\n el;\n // 3.STATE() VARIABLES //\n // 4.PUBLIC PROPERTY API / WATCH'S //\n // 5.EVENTS (EMIT) //\n /**\n * This event is emitted every time the item is selected, either by clicking on it, or by pressing Enter.\n */\n itemSelected;\n /**\n * This event is emitted every time the item is about to lose focus, by pressing the \"ArrowUp\" or \"ArrowDown\" keyboard keys.\n */\n focusChangeAttempt;\n // 6.COMPONENT LIFECYCLE EVENTS //\n // 7.LISTENERS //\n // 8.PUBLIC METHODS API //\n // 9.LOCAL METHODS //\n getItemIndexes = () => {\n const parentElement = this.el.parentElement;\n if (parentElement.nodeName === \"CH-SUGGEST\") {\n const chSuggest = parentElement;\n let itemIndex = -1;\n const suggestListItemsArray = Array.from(chSuggest.querySelectorAll(\":scope > ch-suggest-list-item\"));\n for (let index = 0; index < suggestListItemsArray.length; index++) {\n // Then get the item index\n if (suggestListItemsArray[index] === this.el) {\n itemIndex = index;\n break;\n }\n }\n return {\n itemIndex: itemIndex,\n listIndex: undefined // the items does not belongs to a list\n };\n }\n if (parentElement.nodeName === \"CH-SUGGEST-LIST\") {\n const chSuggestList = parentElement;\n const chSuggestListsArray = Array.from(chSuggestList.parentElement.querySelectorAll(\":scope > ch-suggest-list\"));\n const listIndex = chSuggestListsArray.findIndex(list => {\n return list === chSuggestList;\n });\n if (listIndex !== -1) {\n const listItemsArray = Array.from(chSuggestList.querySelectorAll(\"ch-suggest-list-item\"));\n const itemIndex = listItemsArray.findIndex(item => {\n return item === this.el;\n });\n return {\n itemIndex: itemIndex,\n listIndex: listIndex\n };\n }\n }\n };\n handleClick = () => {\n const indexes = this.getItemIndexes();\n this.itemSelected.emit({\n value: this.value || this.el.innerText,\n description: this.el.innerText,\n icon: this.iconSrc,\n indexes: indexes\n });\n };\n handleKeyDown = (e) => {\n if (e.code === ARROW_UP || e.code === ARROW_DOWN) {\n e.preventDefault();\n this.focusChangeAttempt.emit({\n el: this.el,\n code: e.code\n });\n }\n };\n // 10.RENDER() FUNCTION //\n render() {\n return (h(Host, { role: \"listitem\", onKeyDown: this.handleKeyDown }, h(\"button\", { part: \"button\", onClick: this.handleClick }, h(\"slot\", { name: \"icon\" }), h(\"div\", { class: \"content-wrapper\", part: \"content-wrapper\" }, h(\"slot\", null)))));\n }\n static get is() { return \"ch-suggest-list-item\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ch-suggest-list-item.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ch-suggest-list-item.css\"]\n };\n }\n static get properties() {\n return {\n \"iconSrc\": {\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 icon url\"\n },\n \"attribute\": \"icon-src\",\n \"reflect\": false\n },\n \"value\": {\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 item value\"\n },\n \"attribute\": \"value\",\n \"reflect\": false\n }\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 emitted every time the item is selected, either by clicking on it, or by pressing Enter.\"\n },\n \"complexType\": {\n \"original\": \"SuggestItemSelectedEvent\",\n \"resolved\": \"{ value: any; indexes: SuggestItemIndexes; description?: string; icon?: string; }\",\n \"references\": {\n \"SuggestItemSelectedEvent\": {\n \"location\": \"local\",\n \"path\": \"/home/runner/work/chameleon-controls-library/chameleon-controls-library/src/components/suggest/suggest-list-item/ch-suggest-list-item.tsx\",\n \"id\": \"src/components/suggest/suggest-list-item/ch-suggest-list-item.tsx::SuggestItemSelectedEvent\"\n }\n }\n }\n }, {\n \"method\": \"focusChangeAttempt\",\n \"name\": \"focusChangeAttempt\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This event is emitted every time the item is about to lose focus, by pressing the \\\"ArrowUp\\\" or \\\"ArrowDown\\\" keyboard keys.\"\n },\n \"complexType\": {\n \"original\": \"FocusChangeAttempt\",\n \"resolved\": \"{ el: HTMLChSuggestListItemElement; code: ChSuggestKeyDownEvents; }\",\n \"references\": {\n \"FocusChangeAttempt\": {\n \"location\": \"local\",\n \"path\": \"/home/runner/work/chameleon-controls-library/chameleon-controls-library/src/components/suggest/suggest-list-item/ch-suggest-list-item.tsx\",\n \"id\": \"src/components/suggest/suggest-list-item/ch-suggest-list-item.tsx::FocusChangeAttempt\"\n }\n }\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n}\n//# sourceMappingURL=ch-suggest-list-item.js.map\n","@charset \"UTF-8\";\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/*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\nch-suggest {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-color);\n /* Track */\n /* Handle */\n /* Handle on hover */\n /* Label */\n /*Input*/\n /*header*/\n /*window*/\n}\nch-suggest::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\nch-suggest::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\nch-suggest::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\nch-suggest::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\nch-suggest::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\nch-suggest::part(label) {\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 display: flex;\n align-items: center;\n cursor: default;\n font-size: inherit;\n flex-shrink: 0;\n}\nch-suggest[label-position=start]::part(label) {\n margin-inline-end: var(--gxg-label-separation-horizontal);\n}\nch-suggest[label-position=above]::part(label) {\n margin-block-end: var(--gxg-label-separation-vertical);\n}\nch-suggest::part(input) {\n height: var(--gxg-suggest-input__height);\n border: var(--ds-form-control-border);\n border-radius: var(--ds-form-control-border-radius);\n padding: var(--gxg-suggest-input__padding);\n box-sizing: border-box;\n background-color: var(--gxg-suggest-input__background-color);\n width: 100%;\n flex: auto;\n}\nch-suggest::part(input):focus {\n outline: var(--ds-focus-border-width) solid var(--ds-border-color-control--focused);\n outline-offset: -1px;\n outline-offset: 0;\n outline-offset: -1px;\n}\nch-suggest::part(header) {\n display: block;\n padding-block-end: var(--gxg-suggest-header__padding-block-end);\n display: flex;\n justify-content: flex-end;\n}\nch-suggest::part(close-button) {\n height: var(--spacing-comp-05);\n width: var(--spacing-comp-05);\n background-color: var(--color-background);\n color: var(--color-primary-hover);\n border: 1px solid var(--color-primary-hover);\n box-sizing: border-box;\n cursor: pointer;\n display: block;\n}\nch-suggest::part(close-button):hover {\n background-color: var(--color-primary-hover-opacity-01);\n}\nch-suggest::part(close-button)::after {\n content: \"✖\";\n width: 100%;\n display: block;\n line-height: var(--gxg-suggest-close-button__line-height--after);\n text-align: center;\n}\nch-suggest::part(close-button):focus {\n outline: var(--ds-focus-border-width) solid var(--ds-border-color-control--focused);\n outline-offset: -1px;\n outline-offset: 0;\n}\nch-suggest::part(dropdown) {\n /*mixin shadow*/\n background-color: var(--gxg-suggest-drop-down__background-color);\n margin-top: var(--gxg-suggest-drop-down__margin-top);\n padding: var(--gxg-suggest-drop-down__padding);\n box-shadow: var(--gxg-suggest-drop-down__box-shadow);\n border: var(--gxg-suggest-general__border);\n position: relative;\n top: 2px;\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\nch-suggest::part(dropdown)::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\nch-suggest::part(dropdown)::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\nch-suggest::part(dropdown)::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\nch-suggest::part(dropdown)::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\nch-suggest::part(dropdown)::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n\n/*Validation*/\n.messages-wrapper {\n margin-top: var(--spacing-comp-02);\n display: flex;\n gap: var(--spacing-comp-01);\n flex-direction: column;\n}\n\ngxg-suggest.gxg-validation--success ch-suggest::part(input) {\n outline-color: var(--ds-border-color--success);\n border-color: var(--ds-border-color--success);\n}\ngxg-suggest.gxg-validation--success ch-suggest::part(input) + .checkmark {\n --checkmark-border-color: var(--ds-border-color--success);\n}\n\ngxg-suggest.gxg-validation--warning ch-suggest::part(input) {\n outline-color: var(--ds-border-color--warning);\n border-color: var(--ds-border-color--warning);\n}\ngxg-suggest.gxg-validation--warning ch-suggest::part(input) + .checkmark {\n --checkmark-border-color: var(--ds-border-color--warning);\n}\n\ngxg-suggest.gxg-validation--error ch-suggest::part(input) {\n outline-color: var(--ds-border-color--error);\n border-color: var(--ds-border-color--error);\n}\ngxg-suggest.gxg-validation--error ch-suggest::part(input) + .checkmark {\n --checkmark-border-color: var(--ds-border-color--error);\n}\n\n/*Disabled*/\ngxg-suggest.gxg--disabled ch-suggest {\n pointer-events: none;\n}\ngxg-suggest.gxg--disabled ch-suggest::part(input) {\n background-color: var(--gray-01);\n color: var(--color-on-disabled);\n}\n\ngxg-suggest[ellipsis]:not([ellipsis=false]) ch-suggest-list-item::part(content-wrapper) {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 100%;\n}\n\nch-suggest-list {\n font-family: inherit;\n border: var(--gxg-suggest-list__border);\n border-radius: var(--gxg-suggest-list__border-radius);\n padding: var(--gxg-suggest-list__padding);\n}\nch-suggest-list > ch-suggest-list-item:not(:first-child) {\n border-top: var(--gxg-suggest-general__border);\n}\nch-suggest-list:first-child {\n margin-block-start: 0;\n}\nch-suggest-list:last-child {\n margin-block-end: 0;\n}\nch-suggest-list::part(title) {\n text-transform: capitalize;\n font-weight: var(--gxg-suggest-list-title__font-weight);\n margin: var(--gxg-suggest-list-title__margin);\n padding: var(--gxg-suggest-list-title__padding);\n color: var(--gxg-suggest-list-title__color);\n background-color: var(--gxg-suggest-list-title__background-color);\n border-bottom: var(--gxg-suggest-general__border);\n border-bottom-width: 2px;\n}\nch-suggest-list:first-child {\n margin-block-start: 0;\n}\nch-suggest-list::part(list) {\n padding: var(--gxg-suggest-list-part-list__padding);\n}\n\nch-suggest-list + ch-suggest-list {\n margin-block-start: 0;\n border-block-start: 0;\n}\nch-suggest-list + ch-suggest-list::part(title) {\n margin-block-start: 0;\n}\n\nch-suggest-list + ch-suggest-list-item {\n margin-block-start: var(--gxg-suggest-list-item-next-sibling__margin-block-start);\n}\n\nch-suggest-list-item {\n font-size: inherit;\n border-radius: var(--gxg-suggest-list-item__border-radius);\n /*button*/\n}\nch-suggest-list-item::part(button) {\n padding: var(--gxg-suggest-list-item-button__padding);\n align-items: center;\n gap: var(--gxg-suggest-list-item-button__gap);\n box-sizing: border-box;\n line-height: var(--gxg-suggest-list-item__line-height);\n box-sizing: border-box;\n overflow: hidden;\n}\nch-suggest-list-item::part(button):hover {\n color: var(--gxg-suggest-list-item-button__color--hover);\n}\nch-suggest-list-item::part(button):focus {\n outline: var(--ds-focus-border-width) solid var(--ds-border-color-control--focused);\n outline-offset: -1px;\n outline-offset: 0;\n}\nch-suggest-list-item::part(description)::before {\n content: \" - \";\n}\nch-suggest-list-item gxg-icon::part(ch-icon) {\n --icon-size: var(--gxg-suggest-list-item-icon__size);\n margin-right: var(--gxg-suggest-list-item-icon__margin-right);\n}\nch-suggest-list-item:hover {\n background-color: var(--gxg-suggest-list-item-button__background-color);\n}\n\nch-suggest-list-item + ch-suggest-list {\n margin-block-start: var(--spacing-comp-02);\n}","import { Host, h } from \"@stencil/core\";\nimport { formMessageLogic } from \"../../common/form\";\nimport { formClasses } from \"../../common/classesNames\";\nimport { commonClassesNames } from \"../../common/classesNames\";\nexport class GxgSuggest {\n constructor() {\n this.validationStatus = \"indeterminate\";\n this.validationMessage = undefined;\n this.disabled = false;\n this.ellipsis = true;\n }\n render() {\n return (h(Host, { class: {\n [formClasses[\"VALIDATION_INDETERMINATE_CLASS\"]]: this.validationStatus === \"indeterminate\",\n [formClasses[\"VALIDATION_WARNING_CLASS\"]]: this.validationStatus === \"warning\",\n [formClasses[\"VALIDATION_ERROR_CLASS\"]]: this.validationStatus === \"error\",\n [formClasses[\"VALIDATION_SUCCESS_CLASS\"]]: this.validationStatus === \"success\",\n [commonClassesNames[\"DISABLED_CLASS\"]]: this.disabled\n } }, h(\"slot\", null), formMessageLogic(this)));\n }\n static get is() { return \"gxg-suggest\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"styles.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"styles.css\"]\n };\n }\n static get properties() {\n return {\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 for the validation result.\"\n },\n \"attribute\": \"validation-message\",\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 suggest disabled.\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"ellipsis\": {\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 forces the suggest list items to not wrap to a second line, and it will display ellipsis. (...)\"\n },\n \"attribute\": \"ellipsis\",\n \"reflect\": true,\n \"defaultValue\": \"true\"\n }\n };\n }\n}\n//# sourceMappingURL=suggest.js.map\n"],"mappings":";;;;;;AAAA,MAAMA,IAAe;;ACErB,MAAMC,IAAa;;AACnB,MAAMC,IAAW;;MACJC,IAAS;EAClB,WAAAC,CAAAC;IA0BAC,KAAAC,sBAAsB;MAClBC,WAAYC;QACR,MAAMC,IAAiBJ,KAAKK,kBAAkBF,EAAEG,oBAAoBX;QACpE,MAAMY,IAAkBP,KAAKK,kBAAkBD,GAAgBT;QAC/DS,KAAkBA,EAAeI;QACjC,KAAKD,GAAiB;;UAElBP,KAAKS;;;MAGbC,SAAUP;QACN,MAAMC,IAAiBJ,KAAKK,kBAAkBF,EAAEG,oBAAoBV;QACpE,MAAMW,IAAkBP,KAAKK,kBAAkBD,GAAgBR;QAC/DQ,KAAkBA,EAAeI;QACjC,KAAKD,GAAiB;;UAElBP,KAAKW;;;;;QA0DjBX,KAAAY,sBAAsB;MAClBZ,KAAKa,SAASC,UAAUd,KAAKe,GAAGC;AAAiB;IAErDhB,KAAAiB,sBAAsB;MAClB,MAAMC,IAAYlB,KAAKe,GAAGI,cAAc;MACxCD,KAAaA,EAAUV;AAAO;IAElCR,KAAAoB,wBAAwB,MAAMC,MAAMC,KAAKtB,KAAKe,GAAGQ,iBAAiB;IAClEvB,KAAAK,oBAAoB,CAACC,GAAoBkB;;MAErC,MAAMC,eAAgBC;QAClB,MAAMC,IAAYD,EAAKH,iBAAiB;QACxC,IAAIK,IAAYD,KAAaA,EAAUA,EAAUE,SAAS;QAC1D,IAAIL,MAAc7B,GAAY;UAC1BiC,IAAYF,EAAKP,cAAc;eAE9B;UACD,MAAMW,IAAkBJ,EAAKH,iBAAiB;UAC9CK,IACIE,KAAmBA,EAAgBA,EAAgBD,SAAS;;QAEpE,OAAOD;AAAS;MAEpB,KAAKtB,GAAoB;QACrB;;MAEJ,IAAIF,IAAiBoB,MAAc7B,IAC7BW,EAAmByB,qBACnBzB,EAAmB0B;MACzB,KAAI5B,MAAc,QAAdA,WAAc,aAAdA,EAAgB6B,cAAa,mBAAmB;QAChD7B,IAAiBqB,aAAarB;aAE7B,KAAKA,GAAgB;;QAEtB,MAAM8B,IAAS5B,EAAmB6B;QAClC,MAAMC,IAAUZ,MAAc7B,IACxBuC,EAAOH,qBACPG,EAAOF;QACb,MAAMK,IAAeH,EAAOD,aAAa;QACzC,IAAII,KACAD,KACAA,EAAQH,aAAa,wBAAwB;UAC7C7B,IACIoB,MAAc7B,IACRuC,EAAOH,qBACPG,EAAOF;eAEhB,IAAIK,KACLD,KACAA,EAAQH,aAAa,mBAAmB;UACxC,MAAMK,IAAad,MAAc7B,IAC3BuC,EAAOH,qBACPG,EAAOF;UACb,IAAIJ;UACJ,IAAIJ,MAAc7B,GAAY;YAC1BiC,IAAYU,EAAWnB,cAAc;iBAEpC;YACDS,IAAYH,aAAaa;;UAE7BlC,IAAiBwB,IAAYA,IAAY;;;MAGjD,OAAOxB;AAAc;;;eAKzBJ,KAAAuC,cAAepC;MACX,MAAMqC,IAAarC,EAAEsC,OAAOC;MAC5B1C,KAAK0C,QAAQF;MACb,IAAIxC,KAAK2C,kBAAkB;QACvBC,aAAa5C,KAAK2C;;MAEtB3C,KAAK2C,mBAAmBE,YAAW;QAC/B7C,KAAK8C,kBAAkBN;AAAW,UACnCxC,KAAK+C;AAAS;IAErB/C,KAAAgD,gBAAiB7C;MACb,IAAIA,EAAE8C,QAAQtD,GAAY;QACtBQ,EAAE+C;QACFlD,KAAKiB;;;IAGbjB,KAAAmD,0BAA0B;MACtB,MAAMC,IAAiBC,OAAOC;MAC9B,MAAMC,IAAiBC,SAASC,KAAKC;MACrC,MAAMC,IAASJ,KAAkBH,IAAiBG,IAAiBH;MACnE,MAAMQ,IAAsB5D,KAAK6D,UAAUC,wBAAwBC,SAASV,OAAOW;MACnF,MAAMC,IAAkBN,IAASC,IAAsB;MACvD5D,KAAKe,GAAGmD,MAAMC,YAAY,uBAAuBF;AAAgB;IAErEjE,KAAAW,kBAAkB;MACd,MAAMyD,IAAapE,KAAKa,SAASwD,WAAWlD,cAAc;MAC1DiD,EAAWE,YAAY;AAAC;IAE5BtE,KAAAS,qBAAqB;MACjB,MAAM2D,IAAapE,KAAKa,SAASwD,WAAWlD,cAAc;MAC1DiD,EAAWE,YAAYF,EAAWV;AAAY;IAElD1D,KAAA8C,oBAAqBN;MACjBxC,KAAKuE,aAAaC,KAAKhC;MACvBxC,KAAKmD;AAAyB;IAElCnD,KAAAyE,cAAc;MACVzE,KAAKa,SAASC,SAAS;AAAI;IAE/Bd,KAAA0E,iBAAiB;MACb,IAAI1E,KAAK2E,WAAW;QAChB3E,KAAK6D,UAAUe,kBAAkB5E,KAAK6D,UAAUnB,MAAMb,QAAQ7B,KAAK6D,UAAUnB,MAAMb;;;;;;IAhNvF7B,KAAK6E,eAAe;IACpB7E,KAAK+C,WAAW;IAChB/C,KAAK8E,QAAQC;IACb/E,KAAKgF,gBAAgB;IACrBhF,KAAKiF,YAAY;IACjBjF,KAAK0C,QAAQqC;IACb/E,KAAKkF,aAAa;IAClBlF,KAAKmF,eAAeJ;IACpB/E,KAAK2E,YAAY;;;;;;;EAqDrB,mBAAAS,CAAoBC;IAChBA,EAAMC;IACNtF,KAAK0C,QAAQ2C,EAAME,OAAO7C;IAC1B1C,KAAKyE;IACLzE,KAAKwF,iBAAiBhB,KAAKa,EAAME;;EAErC,yBAAAE,CAA0BJ;IACtB,MAAMK,IAAkB1F,KAAKC,oBAAoBoF,EAAME,OAAOI;IAC9D,IAAID,GAAiB;MACjB,MAAMpF,IAAqB+E,EAAME,OAAOxE;MACxC,MAAM6E,IAA0B5F,KAAKoB;MACrC,MAAMyE,IAA0BD,EAAwBE,WAAUC,KACvDA,MAASzF;MAEpB,MAAM0F,IAAsB;MAC5BN,EAAgB;QACZL,OAAOA,EAAME;QACbjF,oBAAoBA;QACpBsF,yBAAyBA;QACzBC,yBAAyBA;QACzBG,qBAAqBA;;;;EAIjC,mBAAAC;IACIjG,KAAK6D,UAAUrD;IACfR,KAAK6E,eAAe;IACpB7E,KAAKkG,KAAKC,YAAY;;;;;;EAM1B,qBAAMC;IACFpG,KAAK6D,UAAUrD;IACfR,KAAK6D,UAAUwC;;;EAoHnB,MAAAC;IACI,OAAQC,EAAEC,GAAM,MAAMD,EAAE,OAAO;MAAEE,OAAO;MAAgBC,MAAM;OAAkBH,EAAE,OAAO;MAAEE,OAAO;MAAuBC,MAAM;OAAyB1G,KAAKiF,aAAajF,KAAK8E,SAAUyB,EAAE,SAAS;MAAEI,IAAI;MAASC,SAAS;MAASF,MAAM;OAAW1G,KAAK8E,QAASyB,EAAE,SAAS;MAAEM,MAAM;MAAQF,IAAI;MAASD,MAAM;MAASD,OAAO;MAASK,KAAK/F,KAAOf,KAAK6D,YAAY9C;MAAKgG,SAAS/G,KAAKuC;MAAayE,WAAWhH,KAAKgD;MAAeiE,SAASjH,KAAK0E;MAAgBhC,OAAO1C,KAAK0C;MAAOwE,cAAc;MAAO,iBAAiB;MAAa,eAAelH,KAAKiF,aAAajF,KAAK8E,QAAQ9E,KAAK8E,QAAQC;MAAW,mBAAmB/E,KAAKiF,aAAajF,KAAK8E,QAAQ,UAAUC;MAAW,iBAAiB/E,KAAK6E,aAAasC;SAAgBZ,EAAE,aAAa;MAAEI,IAAI;MAAaS,WAAWpH,KAAK6D;MAAW,0BAA0B;MAAM,mBAAmB;MAAMwD,QAAQ;MAAgBC,QAAQ;MAAeR,KAAK/F,KAAOf,KAAKa,WAAWE;MAAKmE,YAAYlF,KAAKkF;MAAYqC,SAASvH,KAAKmF;MAAcqC,aAAa;OAA8HjB,EAAE,QAAQ;MAAEkB,cAAczH,KAAKY;MAAqBkG,KAAK/F,KAAOf,KAAKkG,OAAOnF;;;EAIrqC,yBAAW2G;IAAmB,OAAO;AAAK;;;;;AC/N9C,MAAMC,IAAmB;;MCCZC,IAAa;EACtB,WAAA9H,CAAAC;;IACIC,KAAK8E,QAAQC;;;;;;;;;;;EAWjB,MAAAuB;IACI,OAAQC,EAAEC,GAAM,MAAMxG,KAAK8E,SAAUyB,EAAE,MAAM;MAAEI,IAAI;MAAWD,MAAM;MAASD,OAAO;OAAWzG,KAAK8E,QAASyB,EAAE,MAAM;MAAE,mBAAmBvG,KAAK8E,QAAQ,YAAYC;MAAW2B,MAAM;MAAQD,OAAO;OAAUF,EAAE,QAAQ;;;;;;ACf/N,MAAMsB,IAAuB;;ACE7B,MAAMlI,IAAa;;AACnB,MAAMC,IAAW;;MACJkI,IAAiB;EAC1B,WAAAhI,CAAAC;;;;;IAqBAC,KAAA+H,iBAAiB;MACb,MAAM5F,IAAgBnC,KAAKe,GAAGoB;MAC9B,IAAIA,EAAcF,aAAa,cAAc;QACzC,MAAM+F,IAAY7F;QAClB,IAAI8F,KAAa;QACjB,MAAMC,IAAwB7G,MAAMC,KAAK0G,EAAUzG,iBAAiB;QACpE,KAAK,IAAI4G,IAAQ,GAAGA,IAAQD,EAAsBrG,QAAQsG,KAAS;;UAE/D,IAAID,EAAsBC,OAAWnI,KAAKe,IAAI;YAC1CkH,IAAYE;YACZ;;;QAGR,OAAO;UACHF,WAAWA;UACXG,WAAWrD;;;MAGnB,IAAI5C,EAAcF,aAAa,mBAAmB;QAC9C,MAAMoG,IAAgBlG;QACtB,MAAMmG,IAAsBjH,MAAMC,KAAK+G,EAAclG,cAAcZ,iBAAiB;QACpF,MAAM6G,IAAYE,EAAoBxC,WAAUpE,KACrCA,MAAS2G;QAEpB,IAAID,OAAe,GAAG;UAClB,MAAMG,IAAiBlH,MAAMC,KAAK+G,EAAc9G,iBAAiB;UACjE,MAAM0G,IAAYM,EAAezC,WAAUC,KAChCA,MAAS/F,KAAKe;UAEzB,OAAO;YACHkH,WAAWA;YACXG,WAAWA;;;;;IAK3BpI,KAAAwI,cAAc;MACV,MAAMC,IAAUzI,KAAK+H;MACrB/H,KAAK0I,aAAalE,KAAK;QACnB9B,OAAO1C,KAAK0C,SAAS1C,KAAKe,GAAG4H;QAC7BC,aAAa5I,KAAKe,GAAG4H;QACrBE,MAAM7I,KAAK8I;QACXL,SAASA;;AACX;IAENzI,KAAAgD,gBAAiB7C;MACb,IAAIA,EAAEwF,SAAS/F,KAAYO,EAAEwF,SAAShG,GAAY;QAC9CQ,EAAE+C;QACFlD,KAAK+I,mBAAmBvE,KAAK;UACzBzD,IAAIf,KAAKe;UACT4E,MAAMxF,EAAEwF;;;;;;;IAtEhB3F,KAAK8I,UAAU/D;IACf/E,KAAK0C,QAAQqC;;;;;;EA0EjB,MAAAuB;IACI,OAAQC,EAAEC,GAAM;MAAEwC,MAAM;MAAYhC,WAAWhH,KAAKgD;OAAiBuD,EAAE,UAAU;MAAEG,MAAM;MAAUuC,SAASjJ,KAAKwI;OAAejC,EAAE,QAAQ;MAAE2C,MAAM;QAAW3C,EAAE,OAAO;MAAEE,OAAO;MAAmBC,MAAM;OAAqBH,EAAE,QAAQ;;EAI3O,yBAAWmB;IAAmB,OAAO;AAAK;;;;;ACtF9C,MAAMyB,IAAY;;MCILC,IAAU;EACnB,WAAAtJ,CAAAC;;IACIC,KAAKqJ,mBAAmB;IACxBrJ,KAAKsJ,oBAAoBvE;IACzB/E,KAAKuJ,WAAW;IAChBvJ,KAAKwJ,WAAW;;EAEpB,MAAAlD;IACI,OAAQC,EAAEC,GAAM;MAAEC,OAAO;QACjB,CAACgD,EAAY,oCAAoCzJ,KAAKqJ,qBAAqB;QAC3E,CAACI,EAAY,8BAA8BzJ,KAAKqJ,qBAAqB;QACrE,CAACI,EAAY,4BAA4BzJ,KAAKqJ,qBAAqB;QACnE,CAACI,EAAY,8BAA8BzJ,KAAKqJ,qBAAqB;QACrE,CAACK,EAAmB,oBAAoB1J,KAAKuJ;;OAC5ChD,EAAE,QAAQ,OAAOoD,EAAiB3J"}
1
+ {"version":3,"names":["chSuggestCss","ARROW_DOWN","ARROW_UP","ChSuggest","constructor","hostRef","this","keyEventsDictionary","ArrowDown","e","newFocusedItem","getNewFocusedItem","currentFocusedItem","nextFocusedItem","focus","scrollListToBottom","ArrowUp","scrollListToTop","evaluateSlotIsEmpty","chWindow","hidden","el","firstElementChild","setFocusOnFirstItem","firstItem","querySelector","getChSuggestListItems","Array","from","querySelectorAll","direction","getListChild","list","listItems","listChild","length","parentListItems","nextElementSibling","previousElementSibling","nodeName","parent","parentElement","sibling","parentIsList","parentList","handleInput","inputValue","target","value","timeoutReference","clearTimeout","setTimeout","processInputEvent","debounce","handleKeyDown","key","preventDefault","evaluateWindowMaxHeight","viewportHeight","window","innerHeight","documentHeight","document","body","scrollHeight","height","inputBottomPosition","textInput","getBoundingClientRect","bottom","scrollY","windowMaxHeight","style","setProperty","partWindow","shadowRoot","scrollTop","valueChanged","emit","closeWindow","onFocusHandler","cursorEnd","setSelectionRange","windowHidden","label","undefined","labelPosition","showLabel","showHeader","suggestTitle","itemSelectedHandler","event","stopPropagation","detail","selectionChanged","focusChangeAttemptHandler","keyEventHandler","code","chSuggestListItemsArray","currentFocusedItemIndex","findIndex","item","newItemToSetFocusOn","windowClosedHandler","slot","innerHTML","selectInputText","select","render","h","Host","class","part","id","htmlFor","type","ref","onInput","onKeyDown","onFocus","autocomplete","toString","container","xAlign","yAlign","caption","exportparts","onSlotchange","delegatesFocus","chSuggestListCss","ChSuggestList","chSuggestListItemCss","ChSuggestListItem","getItemIndexes","chSuggest","itemIndex","suggestListItemsArray","index","listIndex","chSuggestList","chSuggestListsArray","listItemsArray","handleClick","indexes","itemSelected","innerText","description","icon","iconSrc","focusChangeAttempt","role","onClick","name","stylesCss","GxgSuggest","validationStatus","validationMessage","disabled","ellipsis","formClasses","commonClassesNames","formMessageLogic"],"sources":["node_modules/@genexus/chameleon-controls-library/dist/collection/components/suggest/ch-suggest.css?tag=ch-suggest&encapsulation=shadow","node_modules/@genexus/chameleon-controls-library/dist/collection/components/suggest/ch-suggest.js","node_modules/@genexus/chameleon-controls-library/dist/collection/components/suggest/suggest-list/ch-suggest-list.css?tag=ch-suggest-list&encapsulation=shadow","node_modules/@genexus/chameleon-controls-library/dist/collection/components/suggest/suggest-list/ch-suggest-list.js","node_modules/@genexus/chameleon-controls-library/dist/collection/components/suggest/suggest-list-item/ch-suggest-list-item.css?tag=ch-suggest-list-item&encapsulation=shadow","node_modules/@genexus/chameleon-controls-library/dist/collection/components/suggest/suggest-list-item/ch-suggest-list-item.js","node_modules/@genexus/gemini/dist/collection/components/suggest/styles.css?tag=gxg-suggest","node_modules/@genexus/gemini/dist/collection/components/suggest/suggest.js"],"sourcesContent":["*,\n::after,\n::before {\n box-sizing: border-box;\n}\n\n:host {\n --window-max-height: none;\n --window-gap: 50px;\n}\n\n.main-wrapper {\n display: block;\n}\n\n/*label*/\n.label-input-wrapper {\n display: flex;\n}\n.label-input-wrapper .input {\n flex: 1;\n}\n\n:host([label-position=start]) .label-input-wrapper {\n flex-direction: row;\n}\n\n:host([label-position=above]) .label-input-wrapper {\n flex-direction: column;\n}\n\n/*input*/\n.input {\n background-color: unset;\n border: none;\n color: inherit;\n font: inherit;\n margin: 0;\n padding: 0;\n outline: 0;\n}\n\n/*window*/\n.ch-window-container {\n position: relative;\n}\n\nch-window::part(window) {\n width: 100%;\n max-height: calc(var(--window-max-height) - var(--window-gap));\n overflow-y: auto;\n}","/* STENCIL IMPORTS */\nimport { Host, h } from \"@stencil/core\";\nconst ARROW_DOWN = \"ArrowDown\";\nconst ARROW_UP = \"ArrowUp\";\nexport class ChSuggest {\n constructor() {\n this.windowHidden = true;\n this.debounce = 300;\n this.label = undefined;\n this.labelPosition = \"start\";\n this.showLabel = true;\n this.value = undefined;\n this.showHeader = false;\n this.suggestTitle = undefined;\n this.cursorEnd = false;\n }\n /*\n INDEX:\n 1.OWN PROPERTIES\n 2.REFERENCE TO ELEMENTS\n 3.STATE() VARIABLES\n 4.PUBLIC PROPERTY API / WATCH'S\n 5.EVENTS (EMIT)\n 6.COMPONENT LIFECYCLE EVENTS\n 7.LISTENERS\n 8.PUBLIC METHODS API\n 9.LOCAL METHODS\n 10.RENDER() FUNCTION\n */\n // 1.OWN PROPERTIES //\n timeoutReference;\n keyEventsDictionary = {\n ArrowDown: (e) => {\n const newFocusedItem = this.getNewFocusedItem(e.currentFocusedItem, ARROW_DOWN);\n const nextFocusedItem = this.getNewFocusedItem(newFocusedItem, ARROW_DOWN);\n newFocusedItem && newFocusedItem.focus();\n if (!nextFocusedItem) {\n /* This is the last item. Adjust window scroll to be at the very bottom*/\n this.scrollListToBottom();\n }\n },\n ArrowUp: (e) => {\n const newFocusedItem = this.getNewFocusedItem(e.currentFocusedItem, ARROW_UP);\n const nextFocusedItem = this.getNewFocusedItem(newFocusedItem, ARROW_UP);\n newFocusedItem && newFocusedItem.focus();\n if (!nextFocusedItem) {\n /* This is the first item. Adjust window scroll to be at the very top*/\n this.scrollListToTop();\n }\n }\n };\n // 2. REFERENCE TO ELEMENTS //\n textInput;\n chWindow;\n slot;\n el;\n // 5.EVENTS (EMIT) //\n /**\n * This event is emitted every time there input events fires, and it emits the actual input value.\n */\n valueChanged;\n /**\n * This event is emitted when an item was selected.\n */\n selectionChanged;\n // 6.COMPONENT LIFECYCLE EVENTS //\n // 7.LISTENERS //\n itemSelectedHandler(event) {\n event.stopPropagation();\n this.value = event.detail.value;\n this.closeWindow();\n this.selectionChanged.emit(event.detail);\n }\n focusChangeAttemptHandler(event) {\n const keyEventHandler = this.keyEventsDictionary[event.detail.code];\n if (keyEventHandler) {\n const currentFocusedItem = event.detail.el;\n const chSuggestListItemsArray = this.getChSuggestListItems();\n const currentFocusedItemIndex = chSuggestListItemsArray.findIndex(item => {\n return item === currentFocusedItem;\n });\n const newItemToSetFocusOn = null;\n keyEventHandler({\n event: event.detail,\n currentFocusedItem: currentFocusedItem,\n chSuggestListItemsArray: chSuggestListItemsArray,\n currentFocusedItemIndex: currentFocusedItemIndex,\n newItemToSetFocusOn: newItemToSetFocusOn\n });\n }\n }\n windowClosedHandler() {\n this.textInput.focus();\n this.windowHidden = true;\n this.slot.innerHTML = \"\";\n }\n // 9.PUBLIC METHODS API //\n /**\n * @description It selects/highlights the input text.\n */\n async selectInputText() {\n this.textInput.focus();\n this.textInput.select();\n }\n // 10.LOCAL METHODS //\n evaluateSlotIsEmpty = () => {\n this.chWindow.hidden = !this.el.firstElementChild;\n };\n setFocusOnFirstItem = () => {\n const firstItem = this.el.querySelector(\"ch-suggest-list-item\");\n firstItem && firstItem.focus();\n };\n getChSuggestListItems = () => Array.from(this.el.querySelectorAll(\"ch-suggest-list-item\"));\n getNewFocusedItem = (currentFocusedItem, direction) => {\n /* Helper function that returns the list item that should get focus (the first one, or the last one)*/\n const getListChild = (list) => {\n const listItems = list.querySelectorAll(\"ch-suggest-list-item\");\n let listChild = listItems && listItems[listItems.length - 1];\n if (direction === ARROW_DOWN) {\n listChild = list.querySelector(\"ch-suggest-list-item\");\n }\n else {\n const parentListItems = list.querySelectorAll(\"ch-suggest-list-item\");\n listChild =\n parentListItems && parentListItems[parentListItems.length - 1];\n }\n return listChild;\n };\n if (!currentFocusedItem) {\n return;\n }\n let newFocusedItem = direction === ARROW_DOWN\n ? currentFocusedItem.nextElementSibling\n : currentFocusedItem.previousElementSibling;\n if (newFocusedItem?.nodeName === \"CH-SUGGEST-LIST\") {\n newFocusedItem = getListChild(newFocusedItem);\n }\n else if (!newFocusedItem) {\n /* this could be the last item of a list, but not the last item*/\n const parent = currentFocusedItem.parentElement;\n const sibling = direction === ARROW_DOWN\n ? parent.nextElementSibling\n : parent.previousElementSibling;\n const parentIsList = parent.nodeName === \"CH-SUGGEST-LIST\";\n if (parentIsList &&\n sibling &&\n sibling.nodeName === \"CH-SUGGEST-LIST-ITEM\") {\n newFocusedItem =\n direction === ARROW_DOWN\n ? parent.nextElementSibling\n : parent.previousElementSibling;\n }\n else if (parentIsList &&\n sibling &&\n sibling.nodeName === \"CH-SUGGEST-LIST\") {\n const parentList = direction === ARROW_DOWN\n ? parent.nextElementSibling\n : parent.previousElementSibling;\n let listChild;\n if (direction === ARROW_DOWN) {\n listChild = parentList.querySelector(\"ch-suggest-list-item\");\n }\n else {\n listChild = getListChild(parentList);\n }\n newFocusedItem = listChild ? listChild : null;\n }\n }\n return newFocusedItem;\n };\n /**\n * Every time the input event is triggered, the value of the input is sent to processInputEvent, which is responsible for displaying a window with the suggested options. this.debounce is a delay that, along with clearTimeout, ensures that the window is only shown after the user has stopped typing.\n */\n handleInput = (e) => {\n const inputValue = e.target.value;\n this.value = inputValue;\n if (this.timeoutReference) {\n clearTimeout(this.timeoutReference);\n }\n this.timeoutReference = setTimeout(() => {\n this.processInputEvent(inputValue);\n }, this.debounce);\n };\n handleKeyDown = (e) => {\n if (e.key === ARROW_DOWN) {\n e.preventDefault();\n this.setFocusOnFirstItem();\n }\n };\n evaluateWindowMaxHeight = () => {\n const viewportHeight = window.innerHeight;\n const documentHeight = document.body.scrollHeight;\n const height = documentHeight >= viewportHeight ? documentHeight : viewportHeight;\n const inputBottomPosition = this.textInput.getBoundingClientRect().bottom + window.scrollY;\n const windowMaxHeight = height - inputBottomPosition + \"px\";\n this.el.style.setProperty(\"--window-max-height\", windowMaxHeight);\n };\n scrollListToTop = () => {\n const partWindow = this.chWindow.shadowRoot.querySelector(\"[part='window']\");\n partWindow.scrollTop = 0;\n };\n scrollListToBottom = () => {\n const partWindow = this.chWindow.shadowRoot.querySelector(\"[part='window']\");\n partWindow.scrollTop = partWindow.scrollHeight;\n };\n processInputEvent = (inputValue) => {\n this.valueChanged.emit(inputValue);\n this.evaluateWindowMaxHeight();\n };\n closeWindow = () => {\n this.chWindow.hidden = true;\n };\n onFocusHandler = () => {\n if (this.cursorEnd) {\n this.textInput.setSelectionRange(this.textInput.value.length, this.textInput.value.length);\n }\n };\n // 10.RENDER() FUNCTION //\n render() {\n return (h(Host, null, h(\"div\", { class: \"main-wrapper\", part: \"main-wrapper\" }, h(\"div\", { class: \"label-input-wrapper\", part: \"label-input-wrapper\" }, this.showLabel && this.label && (h(\"label\", { id: \"label\", htmlFor: \"input\", part: \"label\" }, this.label)), h(\"input\", { type: \"text\", id: \"input\", part: \"input\", class: \"input\", ref: el => (this.textInput = el), onInput: this.handleInput, onKeyDown: this.handleKeyDown, onFocus: this.onFocusHandler, value: this.value, autocomplete: \"off\", \"aria-controls\": \"ch-window\", \"aria-label\": !this.showLabel && this.label ? this.label : undefined, \"aria-labelledby\": this.showLabel && this.label ? \"label\" : undefined, \"aria-expanded\": this.windowHidden.toString() })), h(\"ch-window\", { id: \"ch-window\", container: this.textInput, \"close-on-outside-click\": true, \"close-on-escape\": true, xAlign: \"inside-start\", yAlign: \"outside-end\", ref: el => (this.chWindow = el), showHeader: this.showHeader, caption: this.suggestTitle, exportparts: \"\\n header:header, \\n caption:title, \\n close:close-button,\\n window:dropdown\" }, h(\"slot\", { onSlotchange: this.evaluateSlotIsEmpty, ref: el => (this.slot = el) })))));\n }\n static get is() { return \"ch-suggest\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ch-suggest.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ch-suggest.css\"]\n };\n }\n static get properties() {\n return {\n \"debounce\": {\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\": \"The debounce amount in milliseconds (This is the time the suggest waits after the user has finished typing, to show the suggestions).\"\n },\n \"attribute\": \"debounce\",\n \"reflect\": false,\n \"defaultValue\": \"300\"\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 label\"\n },\n \"attribute\": \"label\",\n \"reflect\": false\n },\n \"labelPosition\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"LabelPosition\",\n \"resolved\": \"\\\"above\\\" | \\\"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 label position\"\n },\n \"attribute\": \"label-position\",\n \"reflect\": true,\n \"defaultValue\": \"\\\"start\\\"\"\n },\n \"showLabel\": {\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\": \"Whether or not to display the label\"\n },\n \"attribute\": \"show-label\",\n \"reflect\": false,\n \"defaultValue\": \"true\"\n },\n \"value\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This is the suggest value.\"\n },\n \"attribute\": \"value\",\n \"reflect\": false\n },\n \"showHeader\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"false\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"Wether or not the suggest has a header. The header will show the \\\"suggestTitle\\\" if provided, and a close button.\"\n },\n \"attribute\": \"show-header\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"suggestTitle\": {\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 suggest title (optional). This is not the same as the \\\"label\\\", rather, this is the title that will appear inside the dropdown. This title will only be visible if \\\"showHeader\\\" is set to true.\"\n },\n \"attribute\": \"suggest-title\",\n \"reflect\": false\n },\n \"cursorEnd\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"false\",\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 };\n }\n static get states() {\n return {\n \"windowHidden\": {}\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 emitted every time there input events fires, and it emits the actual input value.\"\n },\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n }\n }, {\n \"method\": \"selectionChanged\",\n \"name\": \"selectionChanged\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This event is emitted when an item was selected.\"\n },\n \"complexType\": {\n \"original\": \"SuggestItemSelectedEvent\",\n \"resolved\": \"{ value: any; indexes: SuggestItemIndexes; description?: string; icon?: string; }\",\n \"references\": {\n \"SuggestItemSelectedEvent\": {\n \"location\": \"import\",\n \"path\": \"./suggest-list-item/ch-suggest-list-item\",\n \"id\": \"src/components/suggest/suggest-list-item/ch-suggest-list-item.tsx::SuggestItemSelectedEvent\"\n }\n }\n }\n }];\n }\n static get methods() {\n return {\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 \"name\": \"description\",\n \"text\": \"It selects/highlights the input text.\"\n }]\n }\n }\n };\n }\n static get elementRef() { return \"el\"; }\n static get listeners() {\n return [{\n \"name\": \"itemSelected\",\n \"method\": \"itemSelectedHandler\",\n \"target\": undefined,\n \"capture\": true,\n \"passive\": false\n }, {\n \"name\": \"focusChangeAttempt\",\n \"method\": \"focusChangeAttemptHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }, {\n \"name\": \"windowClosed\",\n \"method\": \"windowClosedHandler\",\n \"target\": undefined,\n \"capture\": false,\n \"passive\": false\n }];\n }\n}\n//# sourceMappingURL=ch-suggest.js.map\n","*,\n::after,\n::before {\n box-sizing: border-box;\n}\n\n:host {\n display: block;\n}\n\n.title {\n margin: 0;\n font: inherit;\n}\n\n.list {\n margin: 0;\n padding: 0;\n}","import { Host, h } from \"@stencil/core\";\nexport class ChSuggestList {\n constructor() {\n this.label = undefined;\n }\n // 2.REFERENCE TO ELEMENTS //\n // 3.STATE() VARIABLES //\n // 4.PUBLIC PROPERTY API / WATCH'S //\n // 5.EVENTS (EMIT) //\n // 6.COMPONENT LIFECYCLE EVENTS //\n // 7.LISTENERS //\n // 8.PUBLIC METHODS API //\n // 9.LOCAL METHODS //\n // 10.RENDER() FUNCTION //\n render() {\n return (h(Host, null, this.label && (h(\"h2\", { id: \"heading\", part: \"title\", class: \"title\" }, this.label)), h(\"ul\", { \"aria-labelledby\": this.label ? \"heading\" : undefined, part: \"list\", class: \"list\" }, h(\"slot\", null))));\n }\n static get is() { return \"ch-suggest-list\"; }\n static get encapsulation() { return \"shadow\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ch-suggest-list.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ch-suggest-list.css\"]\n };\n }\n static get properties() {\n return {\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 label\"\n },\n \"attribute\": \"label\",\n \"reflect\": false\n }\n };\n }\n}\n//# sourceMappingURL=ch-suggest-list.js.map\n",":host {\n display: block;\n}\n\n:where(button) {\n all: unset;\n display: flex;\n width: 100%;\n cursor: pointer;\n}\n\n*,\n::after,\n::before {\n box-sizing: border-box;\n}","/* STENCIL IMPORTS */\nimport { Host, h } from \"@stencil/core\";\nconst ARROW_DOWN = \"ArrowDown\";\nconst ARROW_UP = \"ArrowUp\";\nexport class ChSuggestListItem {\n constructor() {\n this.iconSrc = undefined;\n this.value = undefined;\n }\n // 2.REFERENCE TO ELEMENTS //\n el;\n // 3.STATE() VARIABLES //\n // 4.PUBLIC PROPERTY API / WATCH'S //\n // 5.EVENTS (EMIT) //\n /**\n * This event is emitted every time the item is selected, either by clicking on it, or by pressing Enter.\n */\n itemSelected;\n /**\n * This event is emitted every time the item is about to lose focus, by pressing the \"ArrowUp\" or \"ArrowDown\" keyboard keys.\n */\n focusChangeAttempt;\n // 6.COMPONENT LIFECYCLE EVENTS //\n // 7.LISTENERS //\n // 8.PUBLIC METHODS API //\n // 9.LOCAL METHODS //\n getItemIndexes = () => {\n const parentElement = this.el.parentElement;\n if (parentElement.nodeName === \"CH-SUGGEST\") {\n const chSuggest = parentElement;\n let itemIndex = -1;\n const suggestListItemsArray = Array.from(chSuggest.querySelectorAll(\":scope > ch-suggest-list-item\"));\n for (let index = 0; index < suggestListItemsArray.length; index++) {\n // Then get the item index\n if (suggestListItemsArray[index] === this.el) {\n itemIndex = index;\n break;\n }\n }\n return {\n itemIndex: itemIndex,\n listIndex: undefined // the items does not belongs to a list\n };\n }\n if (parentElement.nodeName === \"CH-SUGGEST-LIST\") {\n const chSuggestList = parentElement;\n const chSuggestListsArray = Array.from(chSuggestList.parentElement.querySelectorAll(\":scope > ch-suggest-list\"));\n const listIndex = chSuggestListsArray.findIndex(list => {\n return list === chSuggestList;\n });\n if (listIndex !== -1) {\n const listItemsArray = Array.from(chSuggestList.querySelectorAll(\"ch-suggest-list-item\"));\n const itemIndex = listItemsArray.findIndex(item => {\n return item === this.el;\n });\n return {\n itemIndex: itemIndex,\n listIndex: listIndex\n };\n }\n }\n };\n handleClick = () => {\n const indexes = this.getItemIndexes();\n this.itemSelected.emit({\n value: this.value || this.el.innerText,\n description: this.el.innerText,\n icon: this.iconSrc,\n indexes: indexes\n });\n };\n handleKeyDown = (e) => {\n if (e.code === ARROW_UP || e.code === ARROW_DOWN) {\n e.preventDefault();\n this.focusChangeAttempt.emit({\n el: this.el,\n code: e.code\n });\n }\n };\n // 10.RENDER() FUNCTION //\n render() {\n return (h(Host, { role: \"listitem\", onKeyDown: this.handleKeyDown }, h(\"button\", { part: \"button\", onClick: this.handleClick }, h(\"slot\", { name: \"icon\" }), h(\"div\", { class: \"content-wrapper\", part: \"content-wrapper\" }, h(\"slot\", null)))));\n }\n static get is() { return \"ch-suggest-list-item\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"ch-suggest-list-item.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"ch-suggest-list-item.css\"]\n };\n }\n static get properties() {\n return {\n \"iconSrc\": {\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 icon url\"\n },\n \"attribute\": \"icon-src\",\n \"reflect\": false\n },\n \"value\": {\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 item value\"\n },\n \"attribute\": \"value\",\n \"reflect\": false\n }\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 emitted every time the item is selected, either by clicking on it, or by pressing Enter.\"\n },\n \"complexType\": {\n \"original\": \"SuggestItemSelectedEvent\",\n \"resolved\": \"{ value: any; indexes: SuggestItemIndexes; description?: string; icon?: string; }\",\n \"references\": {\n \"SuggestItemSelectedEvent\": {\n \"location\": \"local\",\n \"path\": \"/home/runner/work/chameleon-controls-library/chameleon-controls-library/src/components/suggest/suggest-list-item/ch-suggest-list-item.tsx\",\n \"id\": \"src/components/suggest/suggest-list-item/ch-suggest-list-item.tsx::SuggestItemSelectedEvent\"\n }\n }\n }\n }, {\n \"method\": \"focusChangeAttempt\",\n \"name\": \"focusChangeAttempt\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"This event is emitted every time the item is about to lose focus, by pressing the \\\"ArrowUp\\\" or \\\"ArrowDown\\\" keyboard keys.\"\n },\n \"complexType\": {\n \"original\": \"FocusChangeAttempt\",\n \"resolved\": \"{ el: HTMLChSuggestListItemElement; code: ChSuggestKeyDownEvents; }\",\n \"references\": {\n \"FocusChangeAttempt\": {\n \"location\": \"local\",\n \"path\": \"/home/runner/work/chameleon-controls-library/chameleon-controls-library/src/components/suggest/suggest-list-item/ch-suggest-list-item.tsx\",\n \"id\": \"src/components/suggest/suggest-list-item/ch-suggest-list-item.tsx::FocusChangeAttempt\"\n }\n }\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n}\n//# sourceMappingURL=ch-suggest-list-item.js.map\n","@charset \"UTF-8\";\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/*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\nch-suggest {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-color);\n /* Track */\n /* Handle */\n /* Handle on hover */\n /* Label */\n /*Input*/\n /*header*/\n /*window*/\n}\nch-suggest::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\nch-suggest::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\nch-suggest::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\nch-suggest::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\nch-suggest::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\nch-suggest::part(label) {\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 display: flex;\n align-items: center;\n cursor: default;\n font-size: inherit;\n flex-shrink: 0;\n}\nch-suggest[label-position=start]::part(label) {\n margin-inline-end: var(--gxg-label-separation-horizontal);\n}\nch-suggest[label-position=above]::part(label) {\n margin-block-end: var(--gxg-label-separation-vertical);\n}\nch-suggest::part(input) {\n font-size: var(--gxg-suggest-input__font-size);\n height: var(--gxg-suggest-input__height);\n border: var(--ds-form-control-border);\n border-radius: var(--ds-form-control-border-radius);\n padding: var(--gxg-suggest-input__padding);\n box-sizing: border-box;\n background-color: var(--gxg-suggest-input__background-color);\n width: 100%;\n flex: auto;\n}\nch-suggest::part(input):focus {\n outline: var(--ds-focus-border-width) solid var(--ds-border-color-control--focused);\n outline-offset: -1px;\n outline-offset: 0;\n outline-offset: -1px;\n}\nch-suggest::part(header) {\n display: block;\n padding-block-end: var(--gxg-suggest-header__padding-block-end);\n display: flex;\n justify-content: flex-end;\n}\nch-suggest::part(close-button) {\n height: var(--spacing-comp-05);\n width: var(--spacing-comp-05);\n background-color: var(--color-background);\n color: var(--color-primary-hover);\n border: 1px solid var(--color-primary-hover);\n box-sizing: border-box;\n cursor: pointer;\n display: block;\n}\nch-suggest::part(close-button):hover {\n background-color: var(--color-primary-hover-opacity-01);\n}\nch-suggest::part(close-button)::after {\n content: \"✖\";\n width: 100%;\n display: block;\n line-height: var(--gxg-suggest-close-button__line-height--after);\n text-align: center;\n}\nch-suggest::part(close-button):focus {\n outline: var(--ds-focus-border-width) solid var(--ds-border-color-control--focused);\n outline-offset: -1px;\n outline-offset: 0;\n}\nch-suggest::part(dropdown) {\n /*mixin shadow*/\n background-color: var(--gxg-suggest-drop-down__background-color);\n margin-top: var(--gxg-suggest-drop-down__margin-top);\n padding: var(--gxg-suggest-drop-down__padding);\n box-shadow: var(--gxg-suggest-drop-down__box-shadow);\n border: var(--gxg-suggest-general__border);\n position: relative;\n top: 2px;\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\nch-suggest::part(dropdown)::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\nch-suggest::part(dropdown)::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\nch-suggest::part(dropdown)::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\nch-suggest::part(dropdown)::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\nch-suggest::part(dropdown)::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n\n/*Validation*/\n.messages-wrapper {\n margin-top: var(--spacing-comp-02);\n display: flex;\n gap: var(--spacing-comp-01);\n flex-direction: column;\n}\n\ngxg-suggest.gxg-validation--success ch-suggest::part(input) {\n outline-color: var(--ds-border-color--success);\n border-color: var(--ds-border-color--success);\n}\ngxg-suggest.gxg-validation--success ch-suggest::part(input) + .checkmark {\n --checkmark-border-color: var(--ds-border-color--success);\n}\n\ngxg-suggest.gxg-validation--warning ch-suggest::part(input) {\n outline-color: var(--ds-border-color--warning);\n border-color: var(--ds-border-color--warning);\n}\ngxg-suggest.gxg-validation--warning ch-suggest::part(input) + .checkmark {\n --checkmark-border-color: var(--ds-border-color--warning);\n}\n\ngxg-suggest.gxg-validation--error ch-suggest::part(input) {\n outline-color: var(--ds-border-color--error);\n border-color: var(--ds-border-color--error);\n}\ngxg-suggest.gxg-validation--error ch-suggest::part(input) + .checkmark {\n --checkmark-border-color: var(--ds-border-color--error);\n}\n\n/*Disabled*/\ngxg-suggest.gxg--disabled ch-suggest {\n pointer-events: none;\n}\ngxg-suggest.gxg--disabled ch-suggest::part(input) {\n background-color: var(--gray-01);\n color: var(--color-on-disabled);\n}\n\ngxg-suggest[ellipsis]:not([ellipsis=false]) ch-suggest-list-item::part(content-wrapper) {\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n width: 100%;\n}\n\nch-suggest-list {\n font-family: inherit;\n border: var(--gxg-suggest-list__border);\n border-radius: var(--gxg-suggest-list__border-radius);\n padding: var(--gxg-suggest-list__padding);\n}\nch-suggest-list > ch-suggest-list-item:not(:first-child) {\n border-top: var(--gxg-suggest-general__border);\n}\nch-suggest-list:first-child {\n margin-block-start: 0;\n}\nch-suggest-list:last-child {\n margin-block-end: 0;\n}\nch-suggest-list::part(title) {\n text-transform: capitalize;\n font-weight: var(--gxg-suggest-list-title__font-weight);\n margin: var(--gxg-suggest-list-title__margin);\n padding: var(--gxg-suggest-list-title__padding);\n color: var(--gxg-suggest-list-title__color);\n background-color: var(--gxg-suggest-list-title__background-color);\n border-bottom: var(--gxg-suggest-general__border);\n border-bottom-width: 2px;\n}\nch-suggest-list:first-child {\n margin-block-start: 0;\n}\nch-suggest-list::part(list) {\n padding: var(--gxg-suggest-list-part-list__padding);\n}\n\nch-suggest-list + ch-suggest-list {\n margin-block-start: 0;\n border-block-start: 0;\n}\nch-suggest-list + ch-suggest-list::part(title) {\n margin-block-start: 0;\n}\n\nch-suggest-list + ch-suggest-list-item {\n margin-block-start: var(--gxg-suggest-list-item-next-sibling__margin-block-start);\n}\n\nch-suggest-list-item {\n font-size: inherit;\n border-radius: var(--gxg-suggest-list-item__border-radius);\n /*button*/\n}\nch-suggest-list-item::part(button) {\n padding: var(--gxg-suggest-list-item-button__padding);\n align-items: center;\n gap: var(--gxg-suggest-list-item-button__gap);\n box-sizing: border-box;\n line-height: var(--gxg-suggest-list-item__line-height);\n box-sizing: border-box;\n overflow: hidden;\n}\nch-suggest-list-item::part(button):hover {\n color: var(--gxg-suggest-list-item-button__color--hover);\n}\nch-suggest-list-item::part(button):focus {\n outline: var(--ds-focus-border-width) solid var(--ds-border-color-control--focused);\n outline-offset: -1px;\n outline-offset: 0;\n}\nch-suggest-list-item::part(description)::before {\n content: \" - \";\n}\nch-suggest-list-item gxg-icon::part(ch-icon) {\n --icon-size: var(--gxg-suggest-list-item-icon__size);\n margin-right: var(--gxg-suggest-list-item-icon__margin-right);\n}\nch-suggest-list-item:hover {\n background-color: var(--gxg-suggest-list-item-button__background-color);\n}\n\nch-suggest-list-item + ch-suggest-list {\n margin-block-start: var(--spacing-comp-02);\n}","import { Host, h } from \"@stencil/core\";\nimport { formMessageLogic } from \"../../common/form\";\nimport { formClasses } from \"../../common/classesNames\";\nimport { commonClassesNames } from \"../../common/classesNames\";\nexport class GxgSuggest {\n constructor() {\n this.validationStatus = \"indeterminate\";\n this.validationMessage = undefined;\n this.disabled = false;\n this.ellipsis = true;\n }\n render() {\n return (h(Host, { class: {\n [formClasses[\"VALIDATION_INDETERMINATE_CLASS\"]]: this.validationStatus === \"indeterminate\",\n [formClasses[\"VALIDATION_WARNING_CLASS\"]]: this.validationStatus === \"warning\",\n [formClasses[\"VALIDATION_ERROR_CLASS\"]]: this.validationStatus === \"error\",\n [formClasses[\"VALIDATION_SUCCESS_CLASS\"]]: this.validationStatus === \"success\",\n [commonClassesNames[\"DISABLED_CLASS\"]]: this.disabled\n } }, h(\"slot\", null), formMessageLogic(this)));\n }\n static get is() { return \"gxg-suggest\"; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"styles.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"styles.css\"]\n };\n }\n static get properties() {\n return {\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 for the validation result.\"\n },\n \"attribute\": \"validation-message\",\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 suggest disabled.\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"ellipsis\": {\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 forces the suggest list items to not wrap to a second line, and it will display ellipsis. (...)\"\n },\n \"attribute\": \"ellipsis\",\n \"reflect\": true,\n \"defaultValue\": \"true\"\n }\n };\n }\n}\n//# sourceMappingURL=suggest.js.map\n"],"mappings":"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"}
@@ -554,9 +554,6 @@ const d = class {
554
554
  successes: this.statusInfo.success.number,
555
555
  hideMessage: true,
556
556
  compact: true,
557
- noBorderTop: true,
558
- noBorderBottom: true,
559
- noBorderStart: true,
560
557
  minimal: this.statusMinimal,
561
558
  onSelectionChanged: this.statusButtonsSelectionChangedHandler
562
559
  })))));
@@ -580,4 +577,4 @@ const d = class {
580
577
  d.style = g;
581
578
 
582
579
  export { d as gx_ide_kb_manager_import };
583
- //# sourceMappingURL=p-5a5d3e19.entry.js.map
580
+ //# sourceMappingURL=p-c9cceb40.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["KB_OBJECT","KB_CATEGORY","convertImportItemToTreeItem","importCatIcon","importItems","importTreeItems","forEach","importItem","push","id","caption","name","startImgSrc","expanded","leaf","class","metadata","convertImportCategoryToTreeView","importCategoryData","treeData","importCat","importCategoryTreeItem","items","length","icon","createImportResultDataMessages","importItemId","messagesArray","messages","message","i","updateImportStatusTree","importItemResultFullData","importTreeActualState","objectCategoryIndex","findIndex","objectCategoryItem","categoryId","importTreeItem","categoryName","categoryIcon","status","importItemIndex","_a","createImportResultFullData","importItemResultData","importCategoryFullData","Object","assign","undefined","importCategoryDataFor","categoryNode","j","addImportItemResultDataItem","updatedImportStatusTree","kbManagerImportCss","GxIdeKbManagerImport","this","renderedFirstTime","objectsInFileTotalNodes","selectedObjectsInFileIds","evaluateImportStatusMessage","someStatusVisible","statusInfo","error","display","warning","success","evaluateObjects","noObjects","objectsTreeState","evaluateImport","noImport","importTreeState","selectFileAndLoadHandler","fileInputEl","openFile","loadFileHandler","async","loadCallback","selectedFile","importCategoryTreeData","fileSelectedHandler","fileEvent","detail","importObjectsHandler","importCallback","clearStatusHandler","importingIsInProcess","objectsButtonsGroup","selectedButtonId","checkedObjectsIds","then","objectsTreeCheckedItemsChangedHandler","event","toggleObjectsCheckboxEl","checked","indeterminate","allItemsWithCheckbox","values","firstItemCheckedValue","item","allItemsHaveTheSameCheckedValue","every","treeItem","checkedItems","filter","node","checkedObjects","objectChecked","objectsTreeSelectedItemsChangedHandler","map","objectsTreeContextMenuHandler","objectContextMenuCallback","selection","clientX","contextmenuEvent","screenX","clientY","screenY","cancelImportHandler","cancelCallback","result","topStateBarEl","active","optionsHandler","optionsCallback","number","toggleSelectionClickHandler","e","target","objectsTreeEl","updateAllItemsProperties","statusButtonsSelectionChangedHandler","activeStates","errorIndex","state","itemId","warningIndex","successIndex","evaluateCheckAllValue","allAreChecked","conditionToUncheck","fileClearedHandler","watchObjectsTreeStateHandler","newState","countTreeItems","watchImportTreeStateHandler","importStatusMessage","_componentLocale","main","importStatus","noImportedFiles","importedButHidden","watchImportingIsInProcessHandler","isImporting","topStateBar","watchSelectedFileHandler","file","size","componentWillLoad","Locale","getComponentStrings","el","componentDidLoadEvent","emit","componentDidLoad","focus","componentDidRender","componentDidRenderFirstTime","componentName","addResultItem","render","h","Host","noContentPadding","noFooterPadding","containerTitle","displayTitle","slot","type","label","header","fileNameLabel","placeholder","fileNamePlaceholder","part","acceptFile","clearButton","iconPosition","onFileSelected","onClearButtonClicked","ref","onClick","disabled","selectFileButton","loader","title","objectsInFile","noBorderFooter","slimmerFooter","inactiveTitle","titleType","treeModel","dragDisabled","dropDisabled","toggleCheckboxes","checkbox","onCheckedItemsChange","onSelectedItemsChange","onItemContextmenu","textAlign","config","gxgMessage","common","padding","maxWidth","selectFile","selectUnselect","onChange","reduced","selected","importButton","cancelButton","optionsButton","errors","warnings","successes","hideMessage","compact","minimal","statusMinimal","onSelectionChanged"],"sources":["src/components/kb-manager-import/helpers.ts","src/components/kb-manager-import/kb-manager-import.scss?tag=gx-ide-kb-manager-import&encapsulation=shadow","src/components/kb-manager-import/kb-manager-import.tsx"],"sourcesContent":["/* Tree View */\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\";\n\n/* Kb Manager Import Types*/\nimport { ImportItemData } from \"./kb-manager-import\";\nimport { ImportCategoryData, ImportItemResultData } from \"../../common/types\";\n/* objects in file metadata*/\nexport const KB_OBJECT = \"object\";\nexport const KB_CATEGORY = \"category\";\n\nconst convertImportItemToTreeItem = (\n importCatIcon: string,\n importItems: ImportItemData[]\n) => {\n const importTreeItems: TreeViewItemModel[] = [];\n importItems.forEach(importItem => {\n importTreeItems.push({\n id: importItem.id,\n caption: importItem.name,\n startImgSrc: importCatIcon,\n expanded: true,\n leaf: true,\n class: \"object tree-view-item\",\n metadata: KB_OBJECT\n });\n });\n return importTreeItems;\n};\n\n/**\n * @description This function converts ReferenceData[] data to TreeItemData[]\n */\nexport const convertImportCategoryToTreeView = (\n importCategoryData: ImportCategoryData[]\n): TreeViewItemModel[] => {\n const treeData: TreeViewItemModel[] = [];\n if (!importCategoryData) {\n return treeData;\n }\n importCategoryData.forEach(importCat => {\n const importCategoryTreeItem: TreeViewItemModel = {\n id: importCat.id,\n // caption: importCat.name,\n caption: `${importCat.name} (${importCat.items.length})`,\n startImgSrc: importCat.icon,\n expanded: true,\n leaf: false,\n class: \"category tree-view-item\",\n metadata: KB_CATEGORY,\n items: convertImportItemToTreeItem(importCat.icon, importCat.items)\n };\n treeData.push(importCategoryTreeItem);\n });\n return treeData;\n};\n\nconst createImportResultDataMessages = (\n importItemId: string,\n messagesArray: string[]\n): TreeViewItemModel[] => {\n const messages: TreeViewItemModel[] = [];\n messagesArray.forEach((message, i) => {\n messages.push({\n id: `${importItemId}-message-${i}}]`,\n caption: message,\n startImgSrc: \"gx-test/test-results\",\n leaf: true\n });\n });\n return messages;\n};\n\nconst updateImportStatusTree = (\n importItemResultFullData: ImportItemResultFullData,\n importTreeActualState: TreeViewItemModel[]\n): TreeViewItemModel[] => {\n const objectCategoryIndex = importTreeActualState.findIndex(\n objectCategoryItem => {\n return objectCategoryItem.id === importItemResultFullData.categoryId;\n }\n );\n if (objectCategoryIndex === -1) {\n // object category node does not exists. We have to create it, and insert the import result tree node inside.\n const importTreeItem: TreeViewItemModel = {\n id: importItemResultFullData.categoryId,\n // the count is (1), because this is the first item for this category\n caption: `${importItemResultFullData.categoryName} (1)`,\n startImgSrc: importItemResultFullData.categoryIcon,\n class: `tree-view-item`,\n expanded: true,\n items: [\n {\n id: importItemResultFullData.id,\n caption: importItemResultFullData.name,\n items: createImportResultDataMessages(\n importItemResultFullData.id,\n importItemResultFullData.messages\n ),\n class: `tree-view-item tree-view-item--${importItemResultFullData.status}`,\n expanded: true,\n leaf: importItemResultFullData.messages.length === 0\n }\n ]\n };\n importTreeActualState.push(importTreeItem);\n } else {\n // Object category node already exists. Just create the import result node, and insert into the parent category node (if it doesn't exists already).\n\n // first search for the importItemResult node...\n const importItemIndex = importTreeActualState[\n objectCategoryIndex\n ].items?.findIndex(importItem => {\n return importItem.id === importItemResultFullData.id;\n });\n\n if (importItemIndex === -1) {\n // ImportItem does not exists already\n const importTreeItem: TreeViewItemModel = {\n id: importItemResultFullData.id,\n caption: importItemResultFullData.name,\n expanded: true,\n items: createImportResultDataMessages(\n importItemResultFullData.id,\n importItemResultFullData.messages\n ),\n class: `tree-view-item tree-view-item--${importItemResultFullData.status}`\n };\n // Insert the import node into the category node\n importTreeActualState[objectCategoryIndex].items.push(importTreeItem);\n // Then, update the category node caption (the name is the same, but the (count) should be the actual items.length, because we have just added a new child import node. )\n importTreeActualState[\n objectCategoryIndex\n ].caption = `${importItemResultFullData.categoryName} (${importTreeActualState[objectCategoryIndex].items.length})`;\n }\n }\n return importTreeActualState;\n};\n\n/**\n * This function takes an ImportItemResultData item, and updates it to a ImportCategoryFullData, which has the same information, plus the category parent needed information, that will be used for creating the \"virtual\" parent category node on the \"Import Status\" section.\n */\nconst createImportResultFullData = (\n importItemResultData: ImportItemResultData,\n importCategoryData: ImportCategoryData[]\n): ImportItemResultFullData => {\n const importCategoryFullData: ImportItemResultFullData = {\n categoryId: undefined,\n categoryName: undefined,\n categoryIcon: undefined,\n ...importItemResultData\n };\n importCategoryDataFor: for (let i = 0; i < importCategoryData.length; i++) {\n const categoryNode = importCategoryData[i];\n for (let j = 0; j < categoryNode.items.length; j++) {\n if (categoryNode.items[j].id === importItemResultData.id) {\n importCategoryFullData.categoryId = categoryNode.id;\n importCategoryFullData.categoryName = categoryNode.name;\n importCategoryFullData.categoryIcon = categoryNode.icon;\n break importCategoryDataFor;\n }\n }\n }\n return importCategoryFullData;\n};\n\n/**\n * @description This function adds an ImportItemResultData item to the \"importTreeState\", and returns the updated tree with the new item added.\n */\nexport const addImportItemResultDataItem = (\n importItemResultData: ImportItemResultData,\n importCategoryData: ImportCategoryData[],\n importTreeActualState: TreeViewItemModel[]\n): TreeViewItemModel[] => {\n let updatedImportStatusTree: TreeViewItemModel[] = [...importTreeActualState];\n // first, update importItemResultData with the category data. It will be needed later.\n const importItemResultFullData: ImportItemResultFullData =\n createImportResultFullData(importItemResultData, importCategoryData);\n updatedImportStatusTree = updateImportStatusTree(\n importItemResultFullData,\n updatedImportStatusTree\n );\n return updatedImportStatusTree;\n};\n\ntype ImportItemResultFullData = ImportItemResultData & {\n categoryId: string;\n categoryName: string;\n categoryIcon: string;\n};\n","@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n}\n/*Header*/\n.header {\n display: flex;\n flex-direction: row;\n gap: var(--gx-ide-grid-column-gap);\n\n .select-file {\n flex: 1;\n }\n}\n/*Main*/\n.main {\n //min-height: 250px;\n height: 100%;\n overflow: auto;\n .container-wrapper {\n height: 100%;\n display: grid;\n grid-template-rows: auto 1fr;\n grid-template-columns: 1fr 1fr;\n grid-template-areas:\n \"top-state-bar top-state-bar\"\n \"left-container right-container\";\n\n .top-state-bar {\n grid-area: top-state-bar;\n }\n .left-container {\n grid-area: left-container;\n border-right: 1px solid var(--gx-ide-container-border-color);\n }\n .right-container {\n grid-area: right-container;\n }\n\n @include gx-ide-message(\"short\");\n\n .tree-container {\n &--empty {\n align-items: center;\n justify-content: center;\n }\n\n &--import-status {\n .tree-view-item {\n &--success {\n @include tree-item-status(\"success\");\n }\n &--warning {\n @include tree-item-status(\"warning\");\n }\n &--error {\n @include tree-item-status(\"error\");\n }\n }\n }\n /*import status display/hide status (warning, error, success)*/\n &--no-warnings {\n .tree-view-item--warning {\n display: none;\n }\n }\n &--no-errors {\n .tree-view-item--error {\n display: none;\n }\n }\n &--no-successes {\n .tree-view-item--success {\n display: none;\n }\n }\n }\n }\n}\n.ghost-element {\n display: block;\n width: 0;\n height: 24px; /*this is the taller element on the \"objects in file container footer (which is the button group, at the time of writing)\"*/\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n Element,\n State,\n EventEmitter,\n Watch,\n Method\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { TreeViewItemContextMenu } from \"@genexus/chameleon-controls-library/dist/types/components/tree-view/tree-view/types\";\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\";\nimport { TreeViewItemModelExtended } from \"@genexus/chameleon-controls-library/dist/types/components/renders/tree-view/types\";\n\nimport {\n TextAlign,\n TextPadding,\n TextType\n} from \"@genexus/gemini/dist/types/components/text/text\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport {\n ImportCategoryData,\n ImportItemResultData,\n ContextMenuInfo\n} from \"../../common/types\";\nimport {\n convertImportCategoryToTreeView,\n addImportItemResultDataItem\n} from \"./helpers\";\n// import { CheckboxInfo } from \"@genexus/gemini/dist/types/components/form-checkbox/form-checkbox\";\nimport { countTreeItems } from \"../../common/helpers\";\nimport { CheckedItemsInfo } from \"../_helpers/list-selector/list-selector\";\n\nimport { KB_OBJECT } from \"./helpers\";\nimport { CheckboxInfo } from \"@genexus/gemini\";\n\n@Component({\n tag: \"gx-ide-kb-manager-import\",\n styleUrl: \"kb-manager-import.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/kb-manager-import\"]\n})\nexport class GxIdeKbManagerImport {\n /*\nINDEX:\n1.OWN PROPERTIES\n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE EVENTS\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 private renderedFirstTime = false;\n /* ImportCategoryBasicData Holds the original name of category data, and its id. Used to create parent nodes on the imported tree*/\n private importCategoryData: ImportCategoryData[] = [];\n private objectsInFileTotalNodes = 0;\n private selectedObjectsInFileIds: string[] = [];\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeKbManagerImportElement;\n\n private objectsTreeEl!: HTMLGxgTreeViewElement;\n private fileInputEl!: HTMLGxgFormTextElement;\n private objectsButtonsGroup!: HTMLGxgButtonsContainerElement;\n private toggleObjectsCheckboxEl: HTMLGxgFormCheckboxElement;\n private topStateBarEl!: HTMLGxgTopStateBarElement;\n\n // 3.STATE() VARIABLES //\n\n @State() checkedObjectsIds: string[] = [];\n @State() noObjects: boolean;\n @State() showHiddenImportsMessage = false;\n @State() statusInfo: StatusInfo = {\n error: {\n display: true,\n number: 0\n },\n warning: {\n display: true,\n number: 0\n },\n success: {\n display: true,\n number: 0\n }\n };\n @State() objectsTreeState: TreeViewItemModel[] = [];\n @Watch(\"objectsTreeState\")\n watchObjectsTreeStateHandler(newState: TreeViewItemModel[]) {\n this.noObjects = !!(newState.length === 0 || !newState);\n this.objectsInFileTotalNodes = countTreeItems(newState);\n }\n\n // import status\n @State() importStatusMessage: string;\n @State() someStatusVisible: boolean;\n @State() noImport: boolean;\n @State() importTreeState: TreeViewItemModel[] = [];\n @Watch(\"importTreeState\")\n watchImportTreeStateHandler() {\n this.evaluateImport();\n if (this.noImport) {\n this.importStatusMessage =\n this._componentLocale.main.importStatus.noImportedFiles;\n } else {\n this.importStatusMessage =\n this._componentLocale.main.importStatus.importedButHidden;\n }\n }\n\n @State() importingIsInProcess = false;\n @Watch(\"importingIsInProcess\")\n watchImportingIsInProcessHandler(isImporting: boolean) {\n if (isImporting && this.topStateBar) {\n this.topStateBarEl.active = true;\n } else if (!isImporting && this.topStateBar) {\n this.topStateBarEl.active = false;\n }\n }\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * If true, it will display a loader when needed.\n */\n @Prop() readonly topStateBar = true;\n\n /**\n * The name of the imported xml or xps file\n */\n @Prop({ mutable: true }) selectedFile: File;\n @Watch(\"selectedFile\")\n watchSelectedFileHandler(file: File) {\n if (file && file.name && file.size > 0) {\n this.loadFileHandler();\n }\n }\n\n /**\n * Callback invoked when the user wants to access the export options.\n */\n @Prop() readonly optionsCallback: OptionsCallback;\n\n /**\n *Callback invoked when the user wants to initiate the import process.\n */\n @Prop() readonly importCallback: ImportCallback;\n\n /**\n *Callback invoked when the user wants to load the xpz information\n */\n @Prop() readonly loadCallback: LoadCallback;\n\n /**\n * Callback invoked when the user wants to cancel the export process.\n * @returns It returns a boolean indicating whether the process could be canceled or not.\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * It displays the status buttons (errors, warning, succeeded) with the minimal ui (no captions)\n */\n @Prop() readonly statusMinimal = false;\n\n /**\n * It displays the status buttons (errors, warning, succeeded) with the minimal ui (no captions)\n */\n @Prop() readonly objectContextMenuCallback: ObjectContextMenuCallback;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n this.evaluateObjects();\n this.evaluateImport();\n this.importStatusMessage =\n this._componentLocale.main.importStatus.noImportedFiles;\n this.evaluateImportStatusMessage();\n }\n\n componentDidLoad() {\n this.fileInputEl.focus();\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n /**\n * Add the result of importing an item\n */\n @Method()\n async addResultItem(item: ImportItemResultData) {\n this.importTreeState = addImportItemResultDataItem(\n item,\n this.importCategoryData,\n this.importTreeState\n );\n this.statusInfo[item.status].number++;\n }\n\n // 9.LOCAL METHODS //\n\n private evaluateImportStatusMessage = () => {\n this.someStatusVisible =\n this.statusInfo.error.display ||\n this.statusInfo.warning.display ||\n this.statusInfo.success.display;\n };\n\n private evaluateObjects = () => {\n this.noObjects = !!(\n this.objectsTreeState?.length === 0 || !this.objectsTreeState\n );\n };\n\n private evaluateImport = () => {\n this.noImport = !!(\n this.importTreeState?.length === 0 || !this.importTreeState\n );\n };\n\n private selectFileAndLoadHandler = () => {\n this.fileInputEl.openFile();\n };\n\n private loadFileHandler = async () => {\n if (this.loadCallback && this.selectedFile) {\n this.importCategoryData = await this.loadCallback(this.selectedFile);\n const importCategoryTreeData = convertImportCategoryToTreeView(\n this.importCategoryData\n );\n this.objectsTreeState = importCategoryTreeData;\n if (this.importCategoryData.length > 0) {\n // clear input\n this.selectedFile = null;\n }\n }\n };\n\n private fileSelectedHandler = (fileEvent: CustomEvent<FileList>) => {\n this.selectedFile = fileEvent.detail[0];\n };\n\n private importObjectsHandler = async () => {\n if (this.importCallback) {\n /* first clear imported objects (this clears errors/warnings/success counts as well)*/\n this.clearStatusHandler();\n /* then do the import*/\n this.importingIsInProcess = true;\n this.objectsButtonsGroup.selectedButtonId = \"cancel-import-btn\";\n this.importCallback(this.checkedObjectsIds).then(() => {\n this.importingIsInProcess = false;\n });\n }\n };\n\n private objectsTreeCheckedItemsChangedHandler = (\n event: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n /* 1. Begin of evaluate 'select/unselect checkbox' state*/\n if (event.detail == null) {\n this.toggleObjectsCheckboxEl.checked = false;\n this.toggleObjectsCheckboxEl.indeterminate = false;\n return;\n }\n\n const allItemsWithCheckbox = [...event.detail.values()];\n\n if (allItemsWithCheckbox.length === 0) {\n this.toggleObjectsCheckboxEl.checked = false;\n this.toggleObjectsCheckboxEl.indeterminate = false;\n return;\n }\n\n const firstItemCheckedValue = allItemsWithCheckbox[0].item.checked;\n\n const allItemsHaveTheSameCheckedValue = allItemsWithCheckbox.every(\n treeItem => treeItem.item.checked === firstItemCheckedValue\n );\n\n this.toggleObjectsCheckboxEl.checked = firstItemCheckedValue;\n this.toggleObjectsCheckboxEl.indeterminate =\n !allItemsHaveTheSameCheckedValue;\n /* /End of evaluate 'select/unselect checkbox' state*/\n\n /* 2. Begin of checked items evaluation*/\n const checkedItems = allItemsWithCheckbox.filter(node => node.item.checked);\n // objects checked\n const checkedObjects = checkedItems.filter(\n node => node.item.metadata === KB_OBJECT\n );\n\n const checkedObjectsIds: string[] = [];\n if (checkedObjects.length > 0) {\n checkedObjects.forEach(objectChecked => {\n checkedObjectsIds.push(objectChecked.item.id);\n });\n }\n /* /End of checked items evaluation*/\n\n /* 3. Begin of caption update*/\n /* TO DO (when we can differentiate the caption from the number of children)*/\n // const categoryItems = allItemsWithCheckbox.filter(\n // node => node.item.metadata === KB_CATEGORY\n // );\n // categoryItems.forEach(category => {\n // const itemInfo = category.item;\n // // Update the amount of checked values\n // if (itemInfo.leaf !== true) {\n // const totalItems = itemInfo.items.length;\n\n // const totalItemsChecked = itemInfo.items.filter(\n // itemUIModel => itemUIModel.checked\n // ).length;\n\n // const newItemCaption =\n // totalItems !== totalItemsChecked\n // ? `${itemInfo.caption} (${totalItemsChecked}/${totalItems})`\n // : `${itemInfo.caption} (${totalItems})`;\n\n // // Only update the item caption if needed\n // if (newItemCaption !== itemInfo.caption) {\n // this.objectsTreeEl.updateItemsProperties([itemInfo.id], {\n // id: itemInfo.id,\n // caption: newItemCaption\n // });\n // }\n // }\n // });\n\n /* /End of caption update*/\n this.checkedObjectsIds = checkedObjectsIds;\n };\n\n private objectsTreeSelectedItemsChangedHandler = (\n event: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n this.selectedObjectsInFileIds = event.detail.map(item => item.item.id);\n };\n\n private objectsTreeContextMenuHandler = (\n event: CustomEvent<TreeViewItemContextMenu>\n ) => {\n if (this.objectContextMenuCallback && event.detail.metadata === KB_OBJECT) {\n this.objectContextMenuCallback(\"imported\", {\n selection: this.selectedObjectsInFileIds,\n clientX: event.detail.contextmenuEvent.screenX,\n clientY: event.detail.contextmenuEvent.screenY\n });\n }\n };\n\n private cancelImportHandler = () => {\n if (this.cancelCallback) {\n this.cancelCallback().then(result => {\n if (result) {\n this.topStateBarEl.active = false;\n }\n });\n // returns boolean\n }\n };\n\n private optionsHandler = () => {\n if (this.optionsCallback) {\n this.optionsCallback();\n // returns boolean\n }\n };\n\n private clearStatusHandler = () => {\n this.importTreeState = [];\n this.statusInfo.error.number = 0;\n this.statusInfo.warning.number = 0;\n this.statusInfo.success.number = 0;\n };\n\n private toggleSelectionClickHandler = (e: CustomEvent<CheckboxInfo>) => {\n const checked = (e.target as HTMLGxgFormCheckboxElement).checked;\n this.toggleObjectsCheckboxEl.indeterminate = false;\n this.objectsTreeEl.updateAllItemsProperties({ checked: checked });\n };\n\n private statusButtonsSelectionChangedHandler = (\n e: CustomEvent<CheckedItemsInfo>\n ) => {\n const activeStates = e.detail;\n const errorIndex = activeStates.findIndex(\n state => state.itemId === \"error\"\n );\n const warningIndex = activeStates.findIndex(\n state => state.itemId === \"warning\"\n );\n const successIndex = activeStates.findIndex(\n state => state.itemId === \"success\"\n );\n this.statusInfo = {\n error: {\n display: errorIndex !== -1,\n number: this.statusInfo.error.number\n },\n warning: {\n display: warningIndex !== -1,\n number: this.statusInfo.warning.number\n },\n success: {\n display: successIndex !== -1,\n number: this.statusInfo.success.number\n }\n };\n this.evaluateImportStatusMessage();\n };\n\n private evaluateCheckAllValue = (): boolean => {\n let checked = true;\n const allAreChecked =\n this.objectsInFileTotalNodes === this.checkedObjectsIds.length;\n const conditionToUncheck =\n this.objectsTreeState.length === 0 || !allAreChecked;\n if (conditionToUncheck) {\n checked = false;\n }\n return checked;\n };\n\n private fileClearedHandler = () => {\n this.selectedFile = null;\n };\n\n // 10.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n noFooterPadding\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n {/* header */}\n <header class=\"header\" slot=\"header\">\n {/* select a file */}\n <gxg-form-text\n type=\"file\"\n class=\"select-file\"\n label={this._componentLocale.header.fileNameLabel}\n placeholder={this._componentLocale.header.fileNamePlaceholder}\n part=\"file-name\"\n acceptFile=\".xpz, .xml\"\n clearButton\n iconPosition=\"start\"\n onFileSelected={this.fileSelectedHandler}\n onClearButtonClicked={this.fileClearedHandler}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.fileInputEl = el as HTMLGxgFormTextElement)\n }\n ></gxg-form-text>\n {/* select file button / load button*/}\n <gxg-button\n type=\"primary-text-icon\"\n icon=\"gemini-tools/file\"\n part=\"select-file-load-button\"\n onClick={this.selectFileAndLoadHandler}\n disabled={this.importingIsInProcess}\n >\n {this._componentLocale.header.selectFileButton}\n </gxg-button>\n </header>\n <main class=\"main\">\n {/* main */}\n {/* objects in file*/}\n <div class=\"container-wrapper\">\n {/* top state bar*/}\n {this.topStateBar ? (\n <gxg-top-state-bar\n class=\"top-state-bar\"\n part=\"top-state-bar\"\n caption={this._componentLocale.loader.title}\n ref={el =>\n (this.topStateBarEl = el as HTMLGxgTopStateBarElement)\n }\n ></gxg-top-state-bar>\n ) : null}\n <gx-ide-container\n containerTitle={\n this._componentLocale.main.objectsInFile.title\n }\n noContentPadding\n noBorderFooter\n class=\"left-container\"\n slimmerFooter\n inactiveTitle={this.noObjects}\n titleType=\"secondary\"\n >\n <div\n class={{\n \"tree-container\": true,\n \"tree-container--objects-in-file\": true,\n \"tree-container--empty\": this.noObjects\n }}\n >\n {!this.noObjects ? (\n <gxg-tree-view\n treeModel={this.objectsTreeState}\n dragDisabled={true}\n dropDisabled={true}\n toggleCheckboxes={true}\n checkbox={true}\n checked={true}\n onCheckedItemsChange={\n this.objectsTreeCheckedItemsChangedHandler\n }\n onSelectedItemsChange={\n this.objectsTreeSelectedItemsChangedHandler\n }\n onItemContextmenu={this.objectsTreeContextMenuHandler}\n ref={el =>\n (this.objectsTreeEl = el as HTMLGxgTreeViewElement)\n }\n ></gxg-tree-view>\n ) : (\n <div class=\"gx-ide-message\">\n <gxg-text\n textAlign={\n config.gxgMessage.common.textAlign as TextAlign\n }\n padding={\n config.gxgMessage.common.textAlign as TextPadding\n }\n type={config.gxgMessage.common.type as TextType}\n maxWidth={config.gxgMessage.common.maxWidth}\n part=\"objects-in-file-empty-status-message\"\n >\n {this._componentLocale.main.objectsInFile.noObjects}\n <gxg-text\n type=\"text-link-no-line\"\n onClick={this.selectFileAndLoadHandler}\n >\n {\n this._componentLocale.main.objectsInFile\n .selectFile\n }\n </gxg-text>\n </gxg-text>\n </div>\n )}\n </div>\n {/* select all / unselect all checkbox*/}\n <gxg-form-checkbox\n label={\n this._componentLocale.main.objectsInFile.selectUnselect\n }\n part=\"select-all-checkbox\"\n slot=\"footer-start\"\n disabled={\n this.importingIsInProcess ||\n this.objectsTreeState.length === 0\n }\n checked={this.evaluateCheckAllValue()}\n onChange={this.toggleSelectionClickHandler}\n ref={(el: HTMLGxgFormCheckboxElement) =>\n (this.toggleObjectsCheckboxEl =\n el as HTMLGxgFormCheckboxElement)\n }\n ></gxg-form-checkbox>\n {/* import button / cancel button*/}\n <gxg-buttons-container\n reduced\n slot=\"footer-end\"\n ref={(el: HTMLGxgButtonsContainerElement) =>\n (this.objectsButtonsGroup =\n el as HTMLGxgButtonsContainerElement)\n }\n >\n {/* import objects button*/}\n <gxg-button\n id=\"import-btn\"\n part=\"import-button\"\n disabled={\n this.objectsTreeState?.length === 0 ||\n this.importingIsInProcess\n }\n onClick={this.importObjectsHandler}\n selected\n >\n {this._componentLocale.main.objectsInFile.importButton}\n </gxg-button>\n\n {/* cancel-import button*/}\n <gxg-button\n id=\"cancel-import-btn\"\n part=\"cancel-import-button\"\n disabled={!this.importingIsInProcess}\n onClick={this.cancelImportHandler}\n >\n {this._componentLocale.main.objectsInFile.cancelButton}\n </gxg-button>\n </gxg-buttons-container>\n {/* settings/options button*/}\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/settings\"\n slot=\"footer-end\"\n part=\"select-kb-btn\"\n onClick={this.optionsHandler}\n >\n {this._componentLocale.header.optionsButton}\n </gxg-button>\n </gx-ide-container>\n {/* import status */}\n <gx-ide-container\n class=\"right-container\"\n containerTitle={this._componentLocale.main.importStatus.title}\n noContentPadding\n noBorderFooter\n slimmerFooter\n inactiveTitle={this.noImport}\n titleType=\"secondary\"\n >\n <div\n class={{\n \"tree-container\": true,\n \"tree-container--import-status\": true,\n \"tree-container--empty\":\n this.noImport || !this.someStatusVisible,\n \"tree-container--no-warnings\":\n !this.statusInfo.warning.display,\n \"tree-container--no-errors\":\n !this.statusInfo.error.display,\n \"tree-container--no-succeeded\":\n !this.statusInfo.success.display\n }}\n >\n {!this.noImport && this.someStatusVisible ? (\n <gxg-tree-view\n treeModel={this.importTreeState}\n toggleCheckboxes={true}\n ></gxg-tree-view>\n ) : (\n <gxg-text\n textAlign={\n config.gxgMessage.common.textAlign as TextAlign\n }\n padding={\n config.gxgMessage.common.textAlign as TextPadding\n }\n type={config.gxgMessage.common.type as TextType}\n maxWidth={config.gxgMessage.common.maxWidth}\n part=\"objects-in-file-empty-status-message\"\n class=\"gx-ide-message\"\n >\n {this.importStatusMessage}\n </gxg-text>\n )}\n </div>\n {/* clear status button */}\n <gxg-button\n type=\"secondary-text-only\"\n slot=\"footer-end\"\n part=\"select-kb-btn\"\n onClick={this.clearStatusHandler}\n disabled={this.noImport || this.importingIsInProcess}\n >\n {this._componentLocale.main.importStatus.clearButton}\n </gxg-button>\n {/* ghost element (used to force the container footer heights the same as the \"objects in file\" container tree)*/}\n <span class=\"ghost-element\" slot=\"footer-start\"></span>\n </gx-ide-container>\n </div>\n </main>\n {/* footer */}\n <footer slot=\"footer-start\">\n <gx-ide-status-buttons\n errors={this.statusInfo.error.number}\n warnings={this.statusInfo.warning.number}\n successes={this.statusInfo.success.number}\n hideMessage\n compact\n minimal={this.statusMinimal}\n onSelectionChanged={this.statusButtonsSelectionChangedHandler}\n ></gx-ide-status-buttons>\n </footer>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type LoadCallback = (file: File) => Promise<ImportCategoryData[]>;\n\nexport type ImportCallback = (itemIds: string[]) => Promise<boolean>;\n\nexport type CancelCallback = () => Promise<boolean>;\n\nexport type OptionsCallback = () => Promise<void>;\nexport interface SelectedObject {\n itemId: string;\n subItemsIds: string[];\n}\n\nexport type ImportItemData = {\n id: string;\n name: string;\n};\n\ntype StatusInfo = {\n error: {\n display: boolean;\n number: number;\n };\n warning: {\n display: boolean;\n number: number;\n };\n success: {\n display: boolean;\n number: number;\n };\n};\n\nexport type ObjectContextMenuCallback = (\n tree: ObjectsSourceType,\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\n\nexport type ObjectsSourceType = \"in-file\" | \"imported\";\n"],"mappings":"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"}
@@ -6,7 +6,7 @@ import { s as n } from "./p-f6aacda6.js";
6
6
 
7
7
  import { c as l } from "./p-9c1b4eb9.js";
8
8
 
9
- import { r as d } from "./p-67ea84e8.js";
9
+ import { r as d } from "./p-350f49ac.js";
10
10
 
11
11
  import { f as g } from "./p-e8646b08.js";
12
12
 
@@ -341,4 +341,4 @@ const h = class {
341
341
  h.style = c;
342
342
 
343
343
  export { h as gx_ide_new_environment };
344
- //# sourceMappingURL=p-2c733995.entry.js.map
344
+ //# sourceMappingURL=p-d5903356.entry.js.map