@genexus/genexus-ide-ui 0.0.136 → 0.0.138

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 (388) hide show
  1. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  2. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +1 -1
  3. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +1 -1
  4. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-bpm-files-selector.cjs.entry.js +101 -0
  9. package/dist/cjs/gx-ide-bpm-files-selector.cjs.entry.js.map +1 -0
  10. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gx-ide-card.cjs.entry.js +1 -1
  13. package/dist/cjs/gx-ide-card.cjs.entry.js.map +1 -1
  14. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +1 -1
  15. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
  16. package/dist/cjs/{gx-ide-container_2.cjs.entry.js → gx-ide-container_3.cjs.entry.js} +53 -127
  17. package/dist/cjs/gx-ide-container_3.cjs.entry.js.map +1 -0
  18. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +60 -102
  19. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +1 -1
  21. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
  22. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +1 -1
  23. package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
  24. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +1 -1
  25. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
  26. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +1 -1
  27. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
  28. package/dist/cjs/gx-ide-import-from-design.cjs.entry.js +1 -1
  29. package/dist/cjs/gx-ide-import-from-design.cjs.entry.js.map +1 -1
  30. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
  31. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
  32. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
  33. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  34. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +19 -3
  35. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
  36. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +1 -1
  37. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js.map +1 -1
  38. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +1 -1
  39. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
  40. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
  41. package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
  42. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
  43. package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
  44. package/dist/cjs/gx-ide-new-object.cjs.entry.js +1 -1
  45. package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
  46. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
  47. package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
  48. package/dist/cjs/gx-ide-recent-news.cjs.entry.js +1 -1
  49. package/dist/cjs/gx-ide-recent-news.cjs.entry.js.map +1 -1
  50. package/dist/cjs/gx-ide-references.cjs.entry.js +1 -1
  51. package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
  52. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
  53. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  54. package/dist/cjs/gx-ide-start-page.cjs.entry.js +1 -1
  55. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  56. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
  57. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  58. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +9 -15
  59. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js.map +1 -1
  60. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
  61. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
  62. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
  63. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js.map +1 -1
  64. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
  65. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  66. package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
  67. package/dist/cjs/gx-ide-template.cjs.entry.js.map +1 -1
  68. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +1 -1
  69. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js.map +1 -1
  70. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  71. package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
  72. package/dist/cjs/gxg-form-checkbox.cjs.entry.js +151 -0
  73. package/dist/cjs/gxg-form-checkbox.cjs.entry.js.map +1 -0
  74. package/dist/cjs/loader.cjs.js +1 -1
  75. package/dist/cjs/render-list-item-c7e24eb8.js +19 -0
  76. package/dist/cjs/render-list-item-c7e24eb8.js.map +1 -0
  77. package/dist/collection/collection-manifest.json +3 -3
  78. package/dist/collection/common/render-list-item.js +1 -1
  79. package/dist/collection/common/render-list-item.js.map +1 -1
  80. package/dist/collection/components/_helpers/card/card.css +1 -0
  81. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +4 -2
  82. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js.map +1 -1
  83. package/dist/collection/components/_helpers/list-selector/list-selector.css +1 -0
  84. package/dist/collection/components/_helpers/list-selector/list-selector.js +15 -1
  85. package/dist/collection/components/_helpers/list-selector/list-selector.js.map +1 -1
  86. package/dist/collection/components/_starting-template/template.css +1 -0
  87. package/dist/collection/components/ai-assistant/ai-assistant.css +1 -0
  88. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.css +1 -0
  89. package/dist/collection/components/bpm/assign-roles/assign-roles.css +1 -0
  90. package/dist/collection/components/{file-selector/file-selector.css → bpm/files-selector/files-selector.css} +233 -17
  91. package/dist/collection/components/bpm/files-selector/files-selector.js +215 -0
  92. package/dist/collection/components/bpm/files-selector/files-selector.js.map +1 -0
  93. package/dist/collection/components/bpm/files-selector/gx-ide-assets/bpm-files-selector/langs/bpm-files-selector.lang.en.json +14 -0
  94. package/dist/collection/components/bpm/files-selector/gx-ide-assets/bpm-files-selector/langs/bpm-files-selector.lang.ja.json +3 -0
  95. package/dist/collection/components/bpm/files-selector/gx-ide-assets/bpm-files-selector/langs/bpm-files-selector.lang.zh.json +3 -0
  96. package/dist/collection/components/bpm/files-selector/helpers.js +17 -0
  97. package/dist/collection/components/bpm/files-selector/helpers.js.map +1 -0
  98. package/dist/collection/components/bpm/timer-duration/timer-duration.css +1 -0
  99. package/dist/collection/components/connect-gx-server/connect-gx-server.css +1 -0
  100. package/dist/collection/components/create-kb-from-server/create-kb-from-server.css +23 -25
  101. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js +177 -189
  102. package/dist/collection/components/create-kb-from-server/create-kb-from-server.js.map +1 -1
  103. package/dist/collection/components/create-kb-from-server/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +14 -13
  104. package/dist/collection/components/dashboard-home/dashboard-home.css +1 -0
  105. package/dist/collection/components/data-selector/data-selector.css +1 -0
  106. package/dist/collection/components/gam-installation-settings/gam-installation-settings.css +1 -0
  107. package/dist/collection/components/import-from-design/import-from-design.css +1 -0
  108. package/dist/collection/components/kb-manager-export/kb-manager-export.css +1 -0
  109. package/dist/collection/components/kb-manager-import/kb-manager-import.css +1 -0
  110. package/dist/collection/components/modules/edit-module-server/edit-module-server.css +1 -0
  111. package/dist/collection/components/modules/manage-module-references/manage-module-references.css +1 -0
  112. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references.css +1 -0
  113. package/dist/collection/components/new-environment/new-environment.css +1 -0
  114. package/dist/collection/components/new-kb/new-kb.css +1 -0
  115. package/dist/collection/components/new-object/new-object.css +1 -0
  116. package/dist/collection/components/object-selector/object-selector.css +1 -0
  117. package/dist/collection/components/references/references.css +1 -0
  118. package/dist/collection/components/share-kb/share-kb.css +1 -0
  119. package/dist/collection/components/start-page/recent-news.css +1 -0
  120. package/dist/collection/components/start-page/start-page.css +1 -0
  121. package/dist/collection/components/team-dev/commit/commit.css +1 -0
  122. package/dist/collection/components/team-dev/select-recent-comment/helpers.js +6 -1
  123. package/dist/collection/components/team-dev/select-recent-comment/helpers.js.map +1 -1
  124. package/dist/collection/components/team-dev/select-recent-comment/select-recent-comment.css +1 -0
  125. package/dist/collection/components/team-dev/update/update.css +1 -0
  126. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +1 -0
  127. package/dist/collection/components/team-dev/update-to-revision/update-to-revision.css +1 -0
  128. package/dist/collection/components/wf-settings/wf-settings.css +1 -0
  129. package/dist/collection/components/ww-images/ww-images.css +1 -0
  130. package/dist/components/gx-ide-ai-assistant.js +1 -1
  131. package/dist/components/gx-ide-ai-assistant.js.map +1 -1
  132. package/dist/components/gx-ide-bpm-app-declaration.js +1 -1
  133. package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
  134. package/dist/components/gx-ide-bpm-assign-roles.js +1 -1
  135. package/dist/components/gx-ide-bpm-assign-roles.js.map +1 -1
  136. package/dist/components/gx-ide-bpm-files-selector.d.ts +11 -0
  137. package/dist/components/gx-ide-bpm-files-selector.js +164 -0
  138. package/dist/components/gx-ide-bpm-files-selector.js.map +1 -0
  139. package/dist/components/gx-ide-bpm-timer-duration.js +1 -1
  140. package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
  141. package/dist/components/gx-ide-card.js +1 -1
  142. package/dist/components/gx-ide-card.js.map +1 -1
  143. package/dist/components/gx-ide-connect-gx-server.js +1 -1
  144. package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
  145. package/dist/components/gx-ide-create-kb-from-server.js +99 -153
  146. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  147. package/dist/components/gx-ide-dashboard-home.js +1 -1
  148. package/dist/components/gx-ide-dashboard-home.js.map +1 -1
  149. package/dist/components/gx-ide-data-selector.js +1 -1
  150. package/dist/components/gx-ide-data-selector.js.map +1 -1
  151. package/dist/components/gx-ide-edit-module-server.js +1 -1
  152. package/dist/components/gx-ide-edit-module-server.js.map +1 -1
  153. package/dist/components/gx-ide-gam-installation-settings.js +1 -1
  154. package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
  155. package/dist/components/gx-ide-import-from-design.js +1 -1
  156. package/dist/components/gx-ide-import-from-design.js.map +1 -1
  157. package/dist/components/gx-ide-kb-manager-export.js +1 -1
  158. package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
  159. package/dist/components/gx-ide-kb-manager-import.js +1 -1
  160. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  161. package/dist/components/gx-ide-manage-module-references-v2.js +1 -1
  162. package/dist/components/gx-ide-manage-module-references-v2.js.map +1 -1
  163. package/dist/components/gx-ide-manage-module-references.js +1 -1
  164. package/dist/components/gx-ide-manage-module-references.js.map +1 -1
  165. package/dist/components/gx-ide-new-environment.js +1 -1
  166. package/dist/components/gx-ide-new-environment.js.map +1 -1
  167. package/dist/components/gx-ide-new-kb.js +1 -1
  168. package/dist/components/gx-ide-new-kb.js.map +1 -1
  169. package/dist/components/gx-ide-new-object.js +1 -1
  170. package/dist/components/gx-ide-new-object.js.map +1 -1
  171. package/dist/components/gx-ide-object-selector.js +1 -1
  172. package/dist/components/gx-ide-object-selector.js.map +1 -1
  173. package/dist/components/gx-ide-references.js +1 -1
  174. package/dist/components/gx-ide-references.js.map +1 -1
  175. package/dist/components/gx-ide-share-kb.js +1 -1
  176. package/dist/components/gx-ide-share-kb.js.map +1 -1
  177. package/dist/components/gx-ide-start-page.js +1 -1
  178. package/dist/components/gx-ide-start-page.js.map +1 -1
  179. package/dist/components/gx-ide-team-dev-commit.js +1 -1
  180. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  181. package/dist/components/gx-ide-team-dev-select-recent-comment.js +9 -15
  182. package/dist/components/gx-ide-team-dev-select-recent-comment.js.map +1 -1
  183. package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
  184. package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
  185. package/dist/components/gx-ide-team-dev-update-to-revision.js +1 -1
  186. package/dist/components/gx-ide-team-dev-update-to-revision.js.map +1 -1
  187. package/dist/components/gx-ide-team-dev-update.js +1 -1
  188. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  189. package/dist/components/gx-ide-template.js +1 -1
  190. package/dist/components/gx-ide-template.js.map +1 -1
  191. package/dist/components/gx-ide-wf-settings.js +1 -1
  192. package/dist/components/gx-ide-wf-settings.js.map +1 -1
  193. package/dist/components/gx-ide-ww-images.js +1 -1
  194. package/dist/components/gx-ide-ww-images.js.map +1 -1
  195. package/dist/components/list-selector-item.js +3 -1
  196. package/dist/components/list-selector-item.js.map +1 -1
  197. package/dist/components/list-selector.js +16 -2
  198. package/dist/components/list-selector.js.map +1 -1
  199. package/dist/components/recent-news.js +1 -1
  200. package/dist/components/recent-news.js.map +1 -1
  201. package/dist/components/render-list-item.js +17 -0
  202. package/dist/components/render-list-item.js.map +1 -0
  203. package/dist/esm/genexus-ide-ui.js +1 -1
  204. package/dist/esm/gx-ide-ai-assistant.entry.js +1 -1
  205. package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
  206. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
  207. package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
  208. package/dist/esm/gx-ide-bpm-assign-roles.entry.js +1 -1
  209. package/dist/esm/gx-ide-bpm-assign-roles.entry.js.map +1 -1
  210. package/dist/esm/gx-ide-bpm-files-selector.entry.js +97 -0
  211. package/dist/esm/gx-ide-bpm-files-selector.entry.js.map +1 -0
  212. package/dist/esm/gx-ide-bpm-timer-duration.entry.js +1 -1
  213. package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
  214. package/dist/esm/gx-ide-card.entry.js +1 -1
  215. package/dist/esm/gx-ide-card.entry.js.map +1 -1
  216. package/dist/esm/gx-ide-connect-gx-server.entry.js +1 -1
  217. package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
  218. package/dist/esm/{gx-ide-container_2.entry.js → gx-ide-container_3.entry.js} +53 -128
  219. package/dist/esm/gx-ide-container_3.entry.js.map +1 -0
  220. package/dist/esm/gx-ide-create-kb-from-server.entry.js +60 -102
  221. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  222. package/dist/esm/gx-ide-dashboard-home.entry.js +1 -1
  223. package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
  224. package/dist/esm/gx-ide-data-selector.entry.js +1 -1
  225. package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
  226. package/dist/esm/gx-ide-edit-module-server.entry.js +1 -1
  227. package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
  228. package/dist/esm/gx-ide-gam-installation-settings.entry.js +1 -1
  229. package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
  230. package/dist/esm/gx-ide-import-from-design.entry.js +1 -1
  231. package/dist/esm/gx-ide-import-from-design.entry.js.map +1 -1
  232. package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
  233. package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
  234. package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
  235. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  236. package/dist/esm/gx-ide-list-selector_2.entry.js +19 -3
  237. package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
  238. package/dist/esm/gx-ide-manage-module-references-v2.entry.js +1 -1
  239. package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +1 -1
  240. package/dist/esm/gx-ide-manage-module-references.entry.js +1 -1
  241. package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
  242. package/dist/esm/gx-ide-new-environment.entry.js +1 -1
  243. package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
  244. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  245. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  246. package/dist/esm/gx-ide-new-object.entry.js +1 -1
  247. package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
  248. package/dist/esm/gx-ide-object-selector.entry.js +1 -1
  249. package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
  250. package/dist/esm/gx-ide-recent-news.entry.js +1 -1
  251. package/dist/esm/gx-ide-recent-news.entry.js.map +1 -1
  252. package/dist/esm/gx-ide-references.entry.js +1 -1
  253. package/dist/esm/gx-ide-references.entry.js.map +1 -1
  254. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  255. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  256. package/dist/esm/gx-ide-start-page.entry.js +1 -1
  257. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  258. package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
  259. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  260. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +9 -15
  261. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js.map +1 -1
  262. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
  263. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
  264. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
  265. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js.map +1 -1
  266. package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
  267. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  268. package/dist/esm/gx-ide-template.entry.js +1 -1
  269. package/dist/esm/gx-ide-template.entry.js.map +1 -1
  270. package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
  271. package/dist/esm/gx-ide-wf-settings.entry.js.map +1 -1
  272. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  273. package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
  274. package/dist/esm/gxg-form-checkbox.entry.js +147 -0
  275. package/dist/esm/gxg-form-checkbox.entry.js.map +1 -0
  276. package/dist/esm/loader.js +1 -1
  277. package/dist/esm/render-list-item-9953ed8a.js +17 -0
  278. package/dist/esm/render-list-item-9953ed8a.js.map +1 -0
  279. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  280. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  281. package/dist/genexus-ide-ui/gx-ide-assets/bpm-files-selector/langs/bpm-files-selector.lang.en.json +14 -0
  282. package/dist/genexus-ide-ui/gx-ide-assets/bpm-files-selector/langs/bpm-files-selector.lang.ja.json +3 -0
  283. package/dist/genexus-ide-ui/gx-ide-assets/bpm-files-selector/langs/bpm-files-selector.lang.zh.json +3 -0
  284. package/dist/genexus-ide-ui/gx-ide-assets/create-kb-from-server/langs/create-kb-from-server.lang.en.json +14 -13
  285. package/dist/genexus-ide-ui/{p-0fd26289.entry.js → p-0a1d661d.entry.js} +2 -2
  286. package/dist/genexus-ide-ui/{p-6cb14be6.entry.js → p-113941dc.entry.js} +11 -11
  287. package/dist/genexus-ide-ui/{p-61e4276a.entry.js → p-1beb6d3e.entry.js} +2 -2
  288. package/dist/genexus-ide-ui/p-2191d598.entry.js +191 -0
  289. package/dist/genexus-ide-ui/p-2191d598.entry.js.map +1 -0
  290. package/dist/genexus-ide-ui/{p-5dd1b9ab.entry.js → p-275f9186.entry.js} +2 -2
  291. package/dist/genexus-ide-ui/{p-b13cafbf.entry.js → p-2b1af64c.entry.js} +2 -2
  292. package/dist/genexus-ide-ui/{p-56aaeefb.entry.js → p-2d190730.entry.js} +2 -2
  293. package/dist/genexus-ide-ui/{p-904332b2.entry.js → p-460046af.entry.js} +2 -2
  294. package/dist/genexus-ide-ui/{p-e7f542e1.entry.js → p-57118577.entry.js} +2 -2
  295. package/dist/genexus-ide-ui/{p-84c20e24.entry.js → p-5cb3401d.entry.js} +20 -31
  296. package/dist/genexus-ide-ui/p-5cb3401d.entry.js.map +1 -0
  297. package/dist/genexus-ide-ui/{p-f067657f.entry.js → p-5d9185b4.entry.js} +2 -2
  298. package/dist/genexus-ide-ui/{p-da209fe0.entry.js → p-6532dc45.entry.js} +7 -7
  299. package/dist/genexus-ide-ui/{p-824b50eb.entry.js → p-6a99ab4a.entry.js} +2 -2
  300. package/dist/genexus-ide-ui/{p-7a5810d6.entry.js → p-6b0ea3c8.entry.js} +116 -192
  301. package/dist/genexus-ide-ui/p-6b0ea3c8.entry.js.map +1 -0
  302. package/dist/genexus-ide-ui/p-6c2ecbac.js +20 -0
  303. package/dist/genexus-ide-ui/p-6c2ecbac.js.map +1 -0
  304. package/dist/genexus-ide-ui/{p-51f2f081.entry.js → p-736ba0ce.entry.js} +2 -2
  305. package/dist/genexus-ide-ui/p-82291acd.entry.js +134 -0
  306. package/dist/genexus-ide-ui/p-82291acd.entry.js.map +1 -0
  307. package/dist/genexus-ide-ui/{p-89dd5963.entry.js → p-8a4ad790.entry.js} +2 -2
  308. package/dist/genexus-ide-ui/{p-b7ad27fe.entry.js → p-91b98eda.entry.js} +2 -2
  309. package/dist/genexus-ide-ui/{p-bd9cbfaf.entry.js → p-972b18a0.entry.js} +35 -19
  310. package/dist/genexus-ide-ui/p-972b18a0.entry.js.map +1 -0
  311. package/dist/genexus-ide-ui/{p-8eb7131d.entry.js → p-9bf62c5c.entry.js} +2 -2
  312. package/dist/genexus-ide-ui/{p-3ad793aa.entry.js → p-9d7a1451.entry.js} +165 -89
  313. package/dist/genexus-ide-ui/p-9d7a1451.entry.js.map +1 -0
  314. package/dist/genexus-ide-ui/{p-6d06451e.entry.js → p-a36eca18.entry.js} +2 -2
  315. package/dist/genexus-ide-ui/{p-ca3f470e.entry.js → p-ace5c54d.entry.js} +2 -2
  316. package/dist/genexus-ide-ui/{p-096cf817.entry.js → p-be17c139.entry.js} +2 -2
  317. package/dist/genexus-ide-ui/{p-a7e13b00.entry.js → p-c156569e.entry.js} +2 -2
  318. package/dist/genexus-ide-ui/{p-34850af1.entry.js → p-cad86fec.entry.js} +2 -2
  319. package/dist/genexus-ide-ui/{p-6719090c.entry.js → p-dedd98e6.entry.js} +2 -2
  320. package/dist/genexus-ide-ui/{p-b4294776.entry.js → p-e15d83c0.entry.js} +41 -41
  321. package/dist/genexus-ide-ui/{p-0d1cf3ee.entry.js → p-e495f387.entry.js} +2 -2
  322. package/dist/genexus-ide-ui/{p-7083d9d7.entry.js → p-e5912905.entry.js} +2 -2
  323. package/dist/genexus-ide-ui/{p-874d336e.entry.js → p-e8dba0dd.entry.js} +2 -2
  324. package/dist/genexus-ide-ui/{p-debee72d.entry.js → p-efd431be.entry.js} +10 -10
  325. package/dist/genexus-ide-ui/{p-11d2e597.entry.js → p-f60b189d.entry.js} +2 -2
  326. package/dist/genexus-ide-ui/{p-d0a8d025.entry.js → p-f89fc3cb.entry.js} +2 -2
  327. package/dist/genexus-ide-ui/{p-8a27e8df.entry.js → p-fb1d4ec2.entry.js} +2 -2
  328. package/dist/genexus-ide-ui/{p-8fb3e5b3.entry.js → p-fd65ed14.entry.js} +2 -2
  329. package/dist/types/components/_helpers/list-selector/list-selector-item/list-selector-item.d.ts +1 -0
  330. package/dist/types/components/_helpers/list-selector/list-selector.d.ts +1 -0
  331. package/dist/types/components/bpm/files-selector/helpers.d.ts +2 -0
  332. package/dist/types/components/create-kb-from-server/create-kb-from-server.d.ts +49 -51
  333. package/dist/types/components.d.ts +136 -114
  334. package/package.json +1 -1
  335. package/dist/cjs/gx-ide-container_2.cjs.entry.js.map +0 -1
  336. package/dist/cjs/gx-ide-file-selector.cjs.entry.js +0 -49
  337. package/dist/cjs/gx-ide-file-selector.cjs.entry.js.map +0 -1
  338. package/dist/cjs/gx-ide-title_2.cjs.entry.js +0 -77
  339. package/dist/cjs/gx-ide-title_2.cjs.entry.js.map +0 -1
  340. package/dist/collection/components/file-selector/file-selector.js +0 -191
  341. package/dist/collection/components/file-selector/file-selector.js.map +0 -1
  342. package/dist/components/gx-ide-file-selector.d.ts +0 -11
  343. package/dist/components/gx-ide-file-selector.js +0 -107
  344. package/dist/components/gx-ide-file-selector.js.map +0 -1
  345. package/dist/esm/gx-ide-container_2.entry.js.map +0 -1
  346. package/dist/esm/gx-ide-file-selector.entry.js +0 -45
  347. package/dist/esm/gx-ide-file-selector.entry.js.map +0 -1
  348. package/dist/esm/gx-ide-title_2.entry.js +0 -72
  349. package/dist/esm/gx-ide-title_2.entry.js.map +0 -1
  350. package/dist/genexus-ide-ui/p-3ad793aa.entry.js.map +0 -1
  351. package/dist/genexus-ide-ui/p-7a5810d6.entry.js.map +0 -1
  352. package/dist/genexus-ide-ui/p-84c20e24.entry.js.map +0 -1
  353. package/dist/genexus-ide-ui/p-9a8f3b43.entry.js +0 -241
  354. package/dist/genexus-ide-ui/p-9a8f3b43.entry.js.map +0 -1
  355. package/dist/genexus-ide-ui/p-bd9cbfaf.entry.js.map +0 -1
  356. package/dist/genexus-ide-ui/p-e497877c.entry.js +0 -60
  357. package/dist/genexus-ide-ui/p-e497877c.entry.js.map +0 -1
  358. package/dist/types/components/file-selector/file-selector.d.ts +0 -38
  359. /package/dist/genexus-ide-ui/{p-0fd26289.entry.js.map → p-0a1d661d.entry.js.map} +0 -0
  360. /package/dist/genexus-ide-ui/{p-6cb14be6.entry.js.map → p-113941dc.entry.js.map} +0 -0
  361. /package/dist/genexus-ide-ui/{p-61e4276a.entry.js.map → p-1beb6d3e.entry.js.map} +0 -0
  362. /package/dist/genexus-ide-ui/{p-5dd1b9ab.entry.js.map → p-275f9186.entry.js.map} +0 -0
  363. /package/dist/genexus-ide-ui/{p-b13cafbf.entry.js.map → p-2b1af64c.entry.js.map} +0 -0
  364. /package/dist/genexus-ide-ui/{p-56aaeefb.entry.js.map → p-2d190730.entry.js.map} +0 -0
  365. /package/dist/genexus-ide-ui/{p-904332b2.entry.js.map → p-460046af.entry.js.map} +0 -0
  366. /package/dist/genexus-ide-ui/{p-e7f542e1.entry.js.map → p-57118577.entry.js.map} +0 -0
  367. /package/dist/genexus-ide-ui/{p-f067657f.entry.js.map → p-5d9185b4.entry.js.map} +0 -0
  368. /package/dist/genexus-ide-ui/{p-da209fe0.entry.js.map → p-6532dc45.entry.js.map} +0 -0
  369. /package/dist/genexus-ide-ui/{p-824b50eb.entry.js.map → p-6a99ab4a.entry.js.map} +0 -0
  370. /package/dist/genexus-ide-ui/{p-51f2f081.entry.js.map → p-736ba0ce.entry.js.map} +0 -0
  371. /package/dist/genexus-ide-ui/{p-89dd5963.entry.js.map → p-8a4ad790.entry.js.map} +0 -0
  372. /package/dist/genexus-ide-ui/{p-b7ad27fe.entry.js.map → p-91b98eda.entry.js.map} +0 -0
  373. /package/dist/genexus-ide-ui/{p-8eb7131d.entry.js.map → p-9bf62c5c.entry.js.map} +0 -0
  374. /package/dist/genexus-ide-ui/{p-6d06451e.entry.js.map → p-a36eca18.entry.js.map} +0 -0
  375. /package/dist/genexus-ide-ui/{p-ca3f470e.entry.js.map → p-ace5c54d.entry.js.map} +0 -0
  376. /package/dist/genexus-ide-ui/{p-096cf817.entry.js.map → p-be17c139.entry.js.map} +0 -0
  377. /package/dist/genexus-ide-ui/{p-a7e13b00.entry.js.map → p-c156569e.entry.js.map} +0 -0
  378. /package/dist/genexus-ide-ui/{p-34850af1.entry.js.map → p-cad86fec.entry.js.map} +0 -0
  379. /package/dist/genexus-ide-ui/{p-6719090c.entry.js.map → p-dedd98e6.entry.js.map} +0 -0
  380. /package/dist/genexus-ide-ui/{p-b4294776.entry.js.map → p-e15d83c0.entry.js.map} +0 -0
  381. /package/dist/genexus-ide-ui/{p-0d1cf3ee.entry.js.map → p-e495f387.entry.js.map} +0 -0
  382. /package/dist/genexus-ide-ui/{p-7083d9d7.entry.js.map → p-e5912905.entry.js.map} +0 -0
  383. /package/dist/genexus-ide-ui/{p-874d336e.entry.js.map → p-e8dba0dd.entry.js.map} +0 -0
  384. /package/dist/genexus-ide-ui/{p-debee72d.entry.js.map → p-efd431be.entry.js.map} +0 -0
  385. /package/dist/genexus-ide-ui/{p-11d2e597.entry.js.map → p-f60b189d.entry.js.map} +0 -0
  386. /package/dist/genexus-ide-ui/{p-d0a8d025.entry.js.map → p-f89fc3cb.entry.js.map} +0 -0
  387. /package/dist/genexus-ide-ui/{p-8a27e8df.entry.js.map → p-fb1d4ec2.entry.js.map} +0 -0
  388. /package/dist/genexus-ide-ui/{p-8fb3e5b3.entry.js.map → p-fd65ed14.entry.js.map} +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["containerCss","GxIdeContainer","this","headingClasses","heading","inactiveTitle","titleType","noHeadingBorder","hasOnlyHeading","headingJustify","noHeadingPadding","noHeadingPaddingBlockEnd","noHeadingGap","headingPaddingTop","_a","containerTitle","length","titleHeightAsInput","flexRow","contentClasses","content","flexContent","noContentPadding","noContentGap","noContentBorderTop","contentBorderEnd","alignItems","undefined","justifyContent","aboveFooter","hasAboveFooterSlot","h","class","noBorderAboveFooter","noAboveFooterPadding","slimmerFooter","name","footer","hasFooterSlot","hasOnlyFooter","hasSlottedContent","noBorderFooter","footerJustify","noFooterPadding","componentWillLoad","evaluateSlots","headerSlot","el","querySelectorAll","hasHeaderSlot","slottedContent","footerAboveSlot","footerStartSlot","footerEndSlot","evaluateSections","hasOnlyContent","render","result","type","alignment","titleAlignment","part","Host","container","sectionsPadding","displayBorder","displayBorderTop","displayBorderEnd","displayBorderBottom","displayBorderStart","formCheckboxCss","GxgFormCheckbox","constructor","hostRef","parts","input","formMessageLogic","attachExportParts","getAttribute","exportPartsResult","exportParts","exportparts","handleGxgLabelClick","checkboxInput","click","focusHandler","blurHandler","renderCheckbox","ref","checked","id","checkboxId","value","disabled","onChange","changed","bind","onKeyUp","handlerOnKeyUp","onFocus","onBlur","tabindex","onClick","handleInputClick","wrapper","indeterminate","hasFocus","iconName","box","label","checkbox","role","icon","labelSize","alignTop","required","validationStatus","validationMessage","informationMessage","tooltip","compontentDidLoad","removeAttribute","checkedHandler","change","emit","event","code","ariaChecked","e","stopPropagation","color","size","large","state","formClasses","commonClassesNames","labelPosition","noMargin","delegatesFocus"],"sources":["src/components/_helpers/container/container.scss?tag=gx-ide-container&encapsulation=shadow","src/components/_helpers/container/container.tsx","node_modules/@genexus/gemini/dist/collection/components/form-checkbox/form-checkbox.css?tag=gxg-form-checkbox&encapsulation=shadow","node_modules/@genexus/gemini/dist/collection/components/form-checkbox/form-checkbox.js"],"sourcesContent":["@import \"../../../../node_modules/@genexus/gemini/dist/gemini/globals/mixins.scss\";\n\n/*******************************\nHOST / GENERAL\n********************************/\n:host {\n --gx-ide-container-elements-spacing: var(--mer-spacing--xs);\n display: block;\n height: 100%;\n box-sizing: border-box;\n}\n.container {\n display: grid;\n height: 100%;\n grid-template-rows: auto 1fr auto;\n box-sizing: border-box;\n}\n.heading,\n.content,\n.footer,\n.footer-above {\n padding: var(--gx-ide-container__padding);\n}\n/*PADDING*/\n.container--padding-s {\n --gx-ide-container__padding: var(--mer-spacing--xs);\n}\n.container--padding-m {\n --gx-ide-container__padding: var(--mer-spacing--sm);\n}\n.container--padding-l {\n --gx-ide-container__padding: var(--mer-spacing--md);\n}\n/*BORDERS*/\n.container--display-border {\n border: 1px solid var(--gx-ide-container-border-color);\n}\n.container--display-border-top {\n border-top: 1px solid var(--gx-ide-container-border-color);\n}\n.container--display-border-end {\n border-inline-end: 1px solid var(--gx-ide-container-border-color);\n}\n.container--display-border-bottom {\n border-bottom: 1px solid var(--gx-ide-container-border-color);\n}\n.container--display-border-start {\n border-inline-start: 1px solid var(--gx-ide-container-border-color);\n}\n.container--overflow-hidden-y {\n overflow-y: hidden;\n}\n/*******************************\nHEADING\n********************************/\n.heading {\n // @include gxg-flex-justify();\n display: flex;\n flex-direction: column;\n gap: var(--gx-ide-container__padding);\n width: 100%;\n box-sizing: border-box;\n border-bottom: 1px solid var(--gx-ide-container-border-color);\n &--no-border {\n border-bottom: 0;\n }\n &--no-padding {\n padding: 0;\n }\n &--no-padding-block-end {\n padding-block-end: 0;\n }\n &--no-gap {\n gap: 0;\n }\n &--inactive {\n color: var(--gxg-color--disabled);\n }\n &--padding-top {\n padding: var(--gx-ide-container__padding) 0 0 0;\n }\n &--slimmer {\n padding-top: var(--mer-spacing--xs);\n padding-bottom: var(--mer-spacing--xs);\n }\n &--form-text-height {\n .heading__title {\n min-height: var(--gxg-form-text-height);\n justify-content: center;\n }\n }\n &--flex-row {\n flex-direction: row;\n align-items: center;\n justify-content: center;\n }\n}\n/*******************************\nCONTENT\n********************************/\n.content {\n overflow-x: auto;\n display: flex;\n flex-direction: column;\n gap: var(--gx-ide-form-items-gap);\n box-sizing: border-box;\n @include gxg-scrollbar();\n\n &--no-padding {\n padding: 0;\n }\n &--no-border-top {\n border-top: none;\n }\n &--flex {\n display: flex;\n }\n &--no-gap {\n gap: 0;\n }\n &--align-items-start {\n align-items: start;\n }\n &--align-items-center {\n align-items: center;\n }\n &--align-items-end {\n align-items: end;\n }\n &--justify-content-start {\n justify-content: start;\n }\n &--justify-content-center {\n justify-content: center;\n }\n &--justify-content-end {\n justify-content: end;\n }\n &--border-end {\n border-inline-end: 1px solid var(--gx-ide-container-border-color);\n }\n}\n/*only content*/\n.container--only-content {\n grid-template-rows: 1fr;\n}\n/*no header, but has footer*/\n.container--no-header:not(.container--only-content) {\n grid-template-rows: 1fr auto;\n}\n/*no footer, but has header*/\n.container--no-footer:not(.container--only-content) {\n grid-template-rows: auto 1fr;\n}\n/*******************************\nFOOTER\n********************************/\n/*ABOVE*/\n.footer-above {\n border-top: 1px solid var(--gx-ide-container-border-color);\n &--no-border-top {\n border-top: 0;\n }\n &--slimmer {\n padding-top: var(--mer-spacing--xs);\n padding-bottom: var(--mer-spacing--xs);\n }\n &--no-padding {\n padding: 0;\n }\n}\n/*START and END*/\n.footer {\n display: flex;\n gap: var(--gx-ide-container-elements-spacing);\n flex-wrap: wrap;\n justify-content: space-between;\n align-items: center;\n border-top: 1px solid var(--gx-ide-container-border-color);\n &__start,\n &__end {\n display: flex;\n gap: var(--gx-ide-container-elements-spacing);\n }\n &--no-border {\n border-top: 0;\n }\n &--no-padding {\n padding: 0;\n }\n &--slimmer {\n padding-top: var(--mer-spacing--xs);\n padding-bottom: var(--mer-spacing--xs);\n }\n}\n","import { Component, Host, h, Prop, Element, State } from \"@stencil/core\";\nimport { TitleAlignment } from \"@genexus/gemini/dist/types/common/types\";\nimport { TitleType } from \"../title/title\";\n@Component({\n tag: \"gx-ide-container\",\n styleUrl: \"container.scss\",\n shadow: true\n})\nexport class GxIdeContainer {\n // 1.OWN PROPERTIES //\n\n /* GENERAL */\n\n /**\n * By setting the title to inactive, the color will be gray instead of black.\n */\n @Prop() readonly inactiveTitle: boolean = false;\n\n /**\n * The title of the container\n */\n @Prop() readonly containerTitle: string;\n\n /**\n * The title of the container\n */\n @Prop() readonly titleType: TitleType = \"primary\";\n\n /**\n * Displays a border all around the container\n */\n @Prop() readonly displayBorder: boolean = false;\n\n /**\n * Displays a border on the top\n */\n @Prop() readonly displayBorderTop: boolean = false;\n\n /**\n * Displays a border at the end\n */\n @Prop() readonly displayBorderEnd: boolean = false;\n\n /**\n * Displays a border at on the bottom\n */\n @Prop() readonly displayBorderBottom: boolean = false;\n\n /**\n * Displays a border at the start\n */\n @Prop() readonly displayBorderStart: boolean = false;\n\n /**\n * The container general padding (applies to .heading, .content, and .footer)\n */\n @Prop() readonly sectionsPadding: SectionsPadding = \"m\";\n\n /* HEADING*/\n\n /**\n * Title alignment\n */\n @Prop() readonly titleAlignment: TitleAlignment = \"center\";\n\n /**\n * Removes the border bottom from the heading\n */\n @Prop() readonly noHeadingBorder: boolean = false;\n\n /**\n * Removes the heading gap\n */\n @Prop() readonly noHeadingGap: boolean = false;\n\n /**\n * Removes the padding from the heading\n */\n @Prop() readonly noHeadingPadding: boolean = false;\n\n /**\n * Removes the padding block end from the heading\n */\n @Prop() readonly noHeadingPaddingBlockEnd: boolean = false;\n\n /**\n * Adds padding to the top of the heading\n */\n @Prop() readonly headingPaddingTop: boolean = false;\n\n /**\n * The heading justification\n */\n @Prop() readonly headingJustify: HeadingJustify = \"center\";\n\n /**\n * It forces the .heading__title min-height to be as tall as the gxg-form-text height. This is useful when you are displaying two gx-ide-container's on the same row, both of them display a title, and one of them displays a gxg-form-text in the header (usually used to filter content). Without this property set to true, the .heading without a gxg-from-text would be shorter. At the time of writing, this is used on ww-images.\n */\n @Prop() readonly titleHeightAsInput: boolean = false;\n\n /**\n * Makes the header (.heading) display flex:row, instad of the default flex:column.\n */\n @Prop() readonly flexRow: boolean = false;\n\n /* CONTENT */\n\n /**\n * Makes the content a flex container\n */\n @Prop() readonly flexContent: boolean = false;\n\n /**\n * Removes the border-top from the content\n */\n @Prop() readonly noContentBorderTop: boolean = false;\n\n /**\n * Removes the padding from the content\n */\n @Prop() readonly noContentPadding: boolean = false;\n\n /**\n * Removes the gap from the content\n */\n @Prop() readonly noContentGap: boolean = false;\n\n /**\n * Align items\n */\n @Prop() readonly alignItems: AlignItems = undefined;\n\n /**\n * Justify content\n */\n @Prop() readonly justifyContent: JustifyContent = undefined;\n\n /**\n * Display border end on the content\n */\n @Prop() readonly contentBorderEnd: boolean = false;\n\n /* FOOTER ABOVE */\n\n /**\n * Makes the above footer vertical padding slimmer\n */\n @Prop() readonly slimmerAboveFooter: boolean = false;\n\n /**\n * Removes the above padding from the footer\n */\n @Prop() readonly noAboveFooterPadding: boolean = false;\n\n /**\n * Removes the above border top\n */\n @Prop() readonly noBorderAboveFooter: boolean = false;\n\n /* FOOTER > START and FOOTER > END*/\n\n /**\n * Makes the footer vertical padding slimmer\n */\n @Prop() readonly slimmerFooter: boolean = false;\n\n /**\n * Removes the padding from the footer\n */\n @Prop() readonly noFooterPadding: boolean = false;\n\n /**\n * The footer justification\n */\n @Prop() readonly footerJustify: FooterJustify = \"end\";\n\n /**\n * Removes the border top from the footer\n */\n @Prop() readonly noBorderFooter: boolean = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeContainerElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * A boolean variable indicating if the component has or not any content for the 'header' slot\n */\n @State() hasHeaderSlot = false;\n\n /**\n * A boolean variable indicating if the component has or not any content slotted content (regular slotted content, without 'slot' attribute)\n */\n @State() hasSlottedContent = false;\n\n /**\n * A boolean variable indicating if the component has or not any content for the 'footer' slot\n */\n @State() hasFooterSlot = false;\n\n /**\n * A boolean variable indicating if the component has or not any content for the 'footer' slot\n */\n @State() hasAboveFooterSlot = false;\n\n /**\n * A boolean variable indicating that the container only has the heading section\n */\n @State() hasOnlyHeading = false;\n\n /**\n * A boolean variable indicating that the container only has the content section\n */\n @State() hasOnlyContent = false;\n\n /**\n * A boolean variable indicating that the container only has the footer section\n */\n @State() hasOnlyFooter = false;\n\n // 4.PUBLIC PROPERTY API //\n\n // 5.EVENTS (EMIT) //\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n componentWillLoad() {\n this.evaluateSlots();\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private evaluateSlots() {\n // header\n const headerSlot = this.el.querySelectorAll(':scope > [slot=\"header\"]');\n if (headerSlot.length) {\n this.hasHeaderSlot = true;\n }\n // content\n const slottedContent = this.el.querySelectorAll(\":scope > :not([slot])\");\n if (slottedContent.length) {\n this.hasSlottedContent = true;\n }\n // footer\n const footerAboveSlot = this.el.querySelectorAll(\n ':scope > [slot=\"footer-above\"]'\n );\n const footerStartSlot = this.el.querySelectorAll(\n ':scope > [slot=\"footer-start\"]'\n );\n const footerEndSlot = this.el.querySelectorAll(\n ':scope > [slot=\"footer-end\"]'\n );\n if (footerStartSlot.length || footerEndSlot.length) {\n this.hasFooterSlot = true;\n }\n if (footerAboveSlot.length) {\n this.hasAboveFooterSlot = true;\n }\n }\n\n private evaluateSections() {\n // has only heading\n if (\n !this.hasSlottedContent &&\n !this.hasFooterSlot &&\n !this.hasAboveFooterSlot\n ) {\n this.hasOnlyHeading = true;\n }\n // has only content\n if (\n this.hasSlottedContent &&\n !this.containerTitle &&\n !this.hasHeaderSlot &&\n !this.hasAboveFooterSlot &&\n !this.hasFooterSlot\n ) {\n this.hasOnlyContent = true;\n }\n // has only footer\n if (\n !this.hasSlottedContent &&\n !this.containerTitle &&\n !this.hasAboveFooterSlot\n ) {\n this.hasOnlyFooter = true;\n }\n }\n\n private headingClasses = (): string | { [className: string]: boolean } => {\n return {\n \"heading\": true,\n \"heading--inactive\": this.inactiveTitle,\n \"heading--slimmer\": this.titleType === \"secondary\",\n \"heading--no-border\": this.noHeadingBorder || this.hasOnlyHeading,\n [`heading--justify-${this.headingJustify}`]: true,\n \"heading--no-padding\": this.noHeadingPadding,\n \"heading--no-padding-block-end\": this.noHeadingPaddingBlockEnd,\n \"heading--no-gap\": this.noHeadingGap,\n \"heading--padding-top\":\n this.headingPaddingTop && this.containerTitle?.length > 0,\n \"heading--form-text-height\": this.titleHeightAsInput,\n \"heading--flex-row\": this.flexRow\n };\n };\n\n private contentClasses = (): string | { [className: string]: boolean } => {\n return {\n \"content\": true,\n \"content--flex\": this.flexContent,\n \"content--no-padding\": this.noContentPadding,\n \"content--no-gap\": this.noContentGap,\n \"content--no-border-top\": this.noContentBorderTop,\n \"content--border-end\": this.contentBorderEnd,\n [`content--align-items-${this.alignItems}`]:\n this.alignItems !== undefined,\n [`content--justify-content-${this.justifyContent}`]:\n this.justifyContent !== undefined\n };\n };\n\n private aboveFooter = (): JSX.Element | null => {\n return this.hasAboveFooterSlot ? (\n <footer\n class={{\n \"footer-above\": true,\n \"footer-above--no-border-top\": this.noBorderAboveFooter,\n \"footer-above--no-padding\": this.noAboveFooterPadding,\n \"footer-above--slimmer\": this.slimmerFooter\n }}\n >\n <slot name=\"footer-above\"></slot>\n </footer>\n ) : null;\n };\n\n private footer = (): JSX.Element | null => {\n return this.hasFooterSlot ? (\n <footer\n class={{\n \"footer\": true,\n \"footer--no-border\":\n this.hasOnlyFooter ||\n !this.hasSlottedContent ||\n this.noBorderFooter,\n [`footer--justify-${this.footerJustify}`]: true,\n [`footer--justify-${this.footerJustify}`]: true,\n \"footer--no-padding\": this.noFooterPadding,\n \"footer--slimmer\": this.slimmerFooter\n }}\n >\n <div class=\"footer__start\">\n <slot name=\"footer-start\"></slot>\n </div>\n <div class=\"footer__end\">\n <slot name=\"footer-end\"></slot>\n </div>\n </footer>\n ) : null;\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n this.evaluateSections();\n const result = [\n this.containerTitle || this.hasHeaderSlot ? (\n <header class={this.headingClasses()}>\n {this.containerTitle ? (\n <gx-ide-title\n class=\"heading__title\"\n type={this.titleType}\n alignment={this.titleAlignment as any}\n >\n {this.containerTitle}\n </gx-ide-title>\n ) : null}\n {this.hasHeaderSlot ? (\n <div class=\"heading__inner-wrapper\">\n <slot name=\"header\"></slot>\n </div>\n ) : null}\n </header>\n ) : null,\n this.hasSlottedContent ? (\n <div class={this.contentClasses()} part=\"content\">\n <slot></slot>\n </div>\n ) : null,\n this.aboveFooter(),\n this.footer()\n ];\n\n return (\n <Host>\n <div\n class={{\n \"container\": true,\n [`container--padding-${this.sectionsPadding}`]: true,\n \"container--display-border\": this.displayBorder,\n \"container--display-border-top\": this.displayBorderTop,\n \"container--display-border-end\": this.displayBorderEnd,\n \"container--display-border-bottom\": this.displayBorderBottom,\n \"container--display-border-start\": this.displayBorderStart,\n \"container--only-content\": this.hasOnlyContent,\n \"container--no-header\": !this.hasHeaderSlot && !this.containerTitle,\n \"container--no-footer\":\n !this.hasFooterSlot && !this.hasAboveFooterSlot\n }}\n >\n {result}\n </div>\n </Host>\n );\n }\n}\n\nexport type HeadingJustify = \"start\" | \"center\" | \"end\";\nexport type FooterJustify = \"start\" | \"center\" | \"end\";\nexport type SectionsPadding = \"s\" | \"m\" | \"l\";\nexport type AlignItems = \"start\" | \"center\" | \"end\";\nexport type JustifyContent = \"start\" | \"center\" | \"end\";\n","/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */\n/* Document\n ========================================================================== */\n/**\n * 1. Correct the line height in all browsers.\n * 2. Prevent adjustments of font size after orientation changes in iOS.\n */\nhtml {\n line-height: 1.15;\n /* 1 */\n -webkit-text-size-adjust: 100%;\n /* 2 */\n}\n\n/* Sections\n ========================================================================== */\n/**\n * Remove the margin in all browsers.\n */\nbody {\n margin: 0;\n}\n\n/**\n * Render the `main` element consistently in IE.\n */\nmain {\n display: block;\n}\n\n/**\n * Correct the font size and margin on `h1` elements within `section` and\n * `article` contexts in Chrome, Firefox, and Safari.\n */\nh1 {\n font-size: 2em;\n margin: 0.67em 0;\n}\n\n/* Grouping content\n ========================================================================== */\n/**\n * 1. Add the correct box sizing in Firefox.\n * 2. Show the overflow in Edge and IE.\n */\nhr {\n box-sizing: content-box;\n /* 1 */\n height: 0;\n /* 1 */\n overflow: visible;\n /* 2 */\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\npre {\n font-family: monospace, monospace;\n /* 1 */\n font-size: 1em;\n /* 2 */\n}\n\n/* Text-level semantics\n ========================================================================== */\n/**\n * Remove the gray background on active links in IE 10.\n */\na {\n background-color: transparent;\n}\n\n/**\n * 1. Remove the bottom border in Chrome 57-\n * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.\n */\nabbr[title] {\n border-bottom: none;\n /* 1 */\n text-decoration: underline;\n /* 2 */\n text-decoration: underline dotted;\n /* 2 */\n}\n\n/**\n * Add the correct font weight in Chrome, Edge, and Safari.\n */\nb,\nstrong {\n font-weight: bolder;\n}\n\n/**\n * 1. Correct the inheritance and scaling of font size in all browsers.\n * 2. Correct the odd `em` font sizing in all browsers.\n */\ncode,\nkbd,\nsamp {\n font-family: monospace, monospace;\n /* 1 */\n font-size: 1em;\n /* 2 */\n}\n\n/**\n * Add the correct font size in all browsers.\n */\nsmall {\n font-size: 80%;\n}\n\n/**\n * Prevent `sub` and `sup` elements from affecting the line height in\n * all browsers.\n */\nsub,\nsup {\n font-size: 75%;\n line-height: 0;\n position: relative;\n vertical-align: baseline;\n}\n\nsub {\n bottom: -0.25em;\n}\n\nsup {\n top: -0.5em;\n}\n\n/* Embedded content\n ========================================================================== */\n/**\n * Remove the border on images inside links in IE 10.\n */\nimg {\n border-style: none;\n}\n\n/* Forms\n ========================================================================== */\n/**\n * 1. Change the font styles in all browsers.\n * 2. Remove the margin in Firefox and Safari.\n */\nbutton,\ninput,\noptgroup,\nselect,\ntextarea {\n font-family: inherit;\n /* 1 */\n font-size: 100%;\n /* 1 */\n line-height: 1.15;\n /* 1 */\n margin: 0;\n /* 2 */\n}\n\n/**\n * Show the overflow in IE.\n * 1. Show the overflow in Edge.\n */\nbutton,\ninput {\n /* 1 */\n overflow: visible;\n}\n\n/**\n * Remove the inheritance of text transform in Edge, Firefox, and IE.\n * 1. Remove the inheritance of text transform in Firefox.\n */\nbutton,\nselect {\n /* 1 */\n text-transform: none;\n}\n\n/**\n * Correct the inability to style clickable types in iOS and Safari.\n */\nbutton,\n[type=button],\n[type=reset],\n[type=submit] {\n -webkit-appearance: button;\n}\n\n/**\n * Remove the inner border and padding in Firefox.\n */\nbutton::-moz-focus-inner,\n[type=button]::-moz-focus-inner,\n[type=reset]::-moz-focus-inner,\n[type=submit]::-moz-focus-inner {\n border-style: none;\n padding: 0;\n}\n\n/**\n * Restore the focus styles unset by the previous rule.\n */\nbutton:-moz-focusring,\n[type=button]:-moz-focusring,\n[type=reset]:-moz-focusring,\n[type=submit]:-moz-focusring {\n outline: 1px dotted ButtonText;\n}\n\n/**\n * Correct the padding in Firefox.\n */\nfieldset {\n padding: 0.35em 0.75em 0.625em;\n}\n\n/**\n * 1. Correct the text wrapping in Edge and IE.\n * 2. Correct the color inheritance from `fieldset` elements in IE.\n * 3. Remove the padding so developers are not caught out when they zero out\n * `fieldset` elements in all browsers.\n */\nlegend {\n box-sizing: border-box;\n /* 1 */\n color: inherit;\n /* 2 */\n display: table;\n /* 1 */\n max-width: 100%;\n /* 1 */\n padding: 0;\n /* 3 */\n white-space: normal;\n /* 1 */\n}\n\n/**\n * Add the correct vertical alignment in Chrome, Firefox, and Opera.\n */\nprogress {\n vertical-align: baseline;\n}\n\n/**\n * Remove the default vertical scrollbar in IE 10+.\n */\ntextarea {\n overflow: auto;\n}\n\n/**\n * 1. Add the correct box sizing in IE 10.\n * 2. Remove the padding in IE 10.\n */\n[type=checkbox],\n[type=radio] {\n box-sizing: border-box;\n /* 1 */\n padding: 0;\n /* 2 */\n}\n\n/**\n * Correct the cursor style of increment and decrement buttons in Chrome.\n */\n[type=number]::-webkit-inner-spin-button,\n[type=number]::-webkit-outer-spin-button {\n height: auto;\n}\n\n/**\n * 1. Correct the odd appearance in Chrome and Safari.\n * 2. Correct the outline style in Safari.\n */\n[type=search] {\n -webkit-appearance: textfield;\n /* 1 */\n outline-offset: -2px;\n /* 2 */\n}\n\n/**\n * Remove the inner padding in Chrome and Safari on macOS.\n */\n[type=search]::-webkit-search-decoration {\n -webkit-appearance: none;\n}\n\n/**\n * 1. Correct the inability to style clickable types in iOS and Safari.\n * 2. Change font properties to `inherit` in Safari.\n */\n::-webkit-file-upload-button {\n -webkit-appearance: button;\n /* 1 */\n font: inherit;\n /* 2 */\n}\n\n/* Interactive\n ========================================================================== */\n/*\n * Add the correct display in Edge, IE 10+, and Firefox.\n */\ndetails {\n display: block;\n}\n\n/*\n * Add the correct display in all browsers.\n */\nsummary {\n display: list-item;\n}\n\n/* Misc\n ========================================================================== */\n/**\n * Add the correct display in IE 10+.\n */\ntemplate {\n display: none;\n}\n\n/**\n * Add the correct display in IE 10.\n */\n[hidden] {\n display: none;\n}\n\n:root {\n --ui-animaton-speed: 0.2s;\n}\n\n/*ALIGNMENT*/\n/*Ellipsis*/\n/*****************************************************\nTYPOGRAPHY\n*****************************************************/\n/*Title 01 (Positive)*/\n.gxg-title-01 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n/*Title 01 (Negative)*/\n.gxg-title-01--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-01-font-weight);\n font-size: var(--ds-title-01-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 02 (Positive)*/\n.gxg-title-02 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-02--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-02-font-weight);\n font-size: var(--ds-title-02-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--color-on-primary);\n}\n\n/*Title 03*/\n.gxg-title-03 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-03--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-03-font-weight);\n font-size: var(--ds-title-03-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n text-transform: uppercase;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 04*/\n.gxg-title-04 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-04--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-04-font-weight);\n font-size: var(--ds-title-04-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--comfortable);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Title 05*/\n.gxg-title-05 {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-title-05--negative {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--ds-title-05-font-weight);\n font-size: var(--ds-title-05-font-size);\n letter-spacing: var(--ds-base-font-letter-spacing--regular);\n color: var(--ds-base-font-color);\n text-align: start;\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n/*Text*/\n.gxg-text {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n}\n\n.gxg-text--negative {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--negative);\n}\n\n.gxg-text--gray {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--dimmed);\n}\n\n/*Quote*/\n.gxg-quote {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n font-style: italic;\n}\n\n.gxg-quote--negative {\n color: var(--ds-base-font-color--negative);\n}\n\n/*Link*/\n.gxg-link {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n}\n.gxg-link:hover {\n color: var(--ds-base-font-color--link-hover);\n}\n.gxg-link:active {\n color: var(--ds-base-font-color--link-active);\n}\n\n.gxg-link-gray {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n}\n.gxg-link-gray:hover {\n line-height: unset;\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--link);\n text-decoration: underline;\n cursor: pointer;\n display: inline-block;\n color: var(--ds-base-font-color--dimmed);\n filter: brightness(1.4);\n}\n\n/*Alerts*/\n.gxg-alert-error {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--error);\n display: inline-block;\n}\n\n.gxg-alert-warning {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--warning);\n display: inline-block;\n}\n\n.gxg-alert-success {\n font-family: var(--ds-base-font-family-primary);\n font-size: var(--ds-base-font-size);\n color: var(--ds-base-font-size-color);\n font-weight: var(--ds-base-font-size-weight);\n line-height: var(--ds-base-font-line-height--comfortable);\n color: var(--ds-base-font-color--success);\n display: inline-block;\n}\n\n/*Tab*/\n.gxg-tab--disabled {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n.gxg-tab--disabled[disabled] {\n color: var(--color-primary-disabled);\n pointer-events: none;\n}\n\n/*Label*/\n.gxg-label {\n font-family: var(--ds-base-font-family-primary);\n font-weight: var(--gxg-label-font-weight);\n font-size: var(--gxg-label-font-size);\n color: var(--gxg-label-color);\n text-align: center;\n line-height: 1.455em;\n display: flex;\n align-items: center;\n}\n.gxg-label:hover {\n color: var(--color-primary-hover);\n}\n.gxg-label:focus {\n color: var(--color-primary-active);\n}\n.gxg-label:active {\n color: var(--color-primary-active);\n}\n.gxg-label[disabled] {\n color: var(--color-primary-disabled);\n}\n\n.gxg-label--negative {\n color: var(--color-on-primary);\n}\n.gxg-label--negative[disabled] {\n color: var(--color-on-disabled);\n}\n\n/*****************************************************\nGXG-BUTTON and GXG-BUTTON-GROUP COMMON STYLES\n*****************************************************/\n/*****************************************************\nFORM ELEMENTS\n*****************************************************/\n.gxg-scrollbar {\n /* Track */\n /* Handle */\n /* Handle on hover */\n}\n.gxg-scrollbar::-webkit-scrollbar {\n width: var(--gxg-scrollbar-width);\n height: var(--gxg-scrollbar-width);\n}\n.gxg-scrollbar::-webkit-scrollbar-track {\n background-color: var(--gxg-scrollbar-track-background);\n border-radius: var(--gxg-scrollbar-track-border-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb {\n background-color: var(--gxg-scrollbar-track-thumb-background);\n border-radius: var(--gxg-scrollbar-track-thumb-radius);\n}\n.gxg-scrollbar::-webkit-scrollbar-thumb:hover {\n background-color: var(--gxg-scrollbar-track-thumb-hover-background);\n}\n.gxg-scrollbar::-webkit-scrollbar-corner {\n background: rgba(0, 0, 0, 0);\n}\n\n/*Warning*/\n:host(.gxg-validation--warning) .form-element {\n border-color: var(--ds-border-color--warning);\n}\n:host(.gxg-validation--warning) .form-element:focus {\n outline-color: var(--ds-border-color--warning);\n border-color: var(--ds-border-color--warning);\n}\n:host(.gxg-validation--warning) .form-element:focus + .checkmark {\n --checkmark-border-color: var(--ds-border-color--warning);\n}\n\n/*Error*/\n:host(.gxg-validation--error) .form-element {\n border-color: var(--ds-border-color--error);\n}\n:host(.gxg-validation--error) .form-element:focus {\n outline-color: var(--ds-border-color--error);\n border-color: var(--ds-border-color--error);\n}\n:host(.gxg-validation--error) .form-element:focus + .checkmark {\n --checkmark-border-color: var(--ds-border-color--error);\n}\n\n/*Success*/\n:host(.gxg-validation--success) .form-element {\n border-color: var(--ds-border-color--success);\n}\n:host(.gxg-validation--success) .form-element:focus {\n outline-color: var(--ds-border-color--success);\n border-color: var(--ds-border-color--success);\n}\n:host(.gxg-validation--success) .form-element:focus + .checkmark {\n --checkmark-border-color: var(--ds-border-color--success);\n}\n\n/*Tooltip*/\n.tooltip-outer-wrapper {\n display: grid;\n grid-template-columns: 0fr;\n transition: grid-template-columns var(--timing-02);\n}\n\n:host(.tooltip--visible) .tooltip-outer-wrapper {\n grid-template-columns: 1fr;\n}\n\n.tooltip-inner-wrapper {\n --margin-inline-start: 6px;\n overflow: hidden;\n transition: 150ms width;\n width: 0;\n}\n.tooltip-inner-wrapper gxg-icon {\n display: flex;\n position: relative !important;\n top: 0 !important;\n transform: none !important;\n margin-inline-start: var(--margin-inline-start);\n box-sizing: border-box;\n}\n.tooltip-inner-wrapper--visible {\n width: calc(var(--ds-icon-size-box--small) + var(--margin-inline-start));\n}\n.tooltip-inner-wrapper--hidden {\n display: none;\n}\n\n:host(.gxg--disabled) .form-element,\n:host(.gxg--disabled.form-element) {\n pointer-events: none;\n background-color: var(--ds-background-color-disabled) !important;\n color: var(--ds-color--disabled) !important;\n border-color: var(--ds-border-color-disabled) !important;\n cursor: default !important;\n}\n\n:host {\n display: block;\n line-height: 0;\n}\n\n.gxg-form-checkbox__wrapper {\n display: inline-flex;\n align-items: center;\n cursor: pointer;\n}\n.gxg-form-checkbox__wrapper:hover .wrapper {\n border-color: var(--gxg-checkbox-border-color--hover);\n}\n\n.wrapper {\n flex-shrink: 0;\n border-color: var(--gxg-checkbox-border-color);\n background-color: var(--gxg-checkbox-background-color);\n /*additional styles*/\n width: var(--gxg-checkbox-size);\n height: var(--gxg-checkbox-size);\n position: relative;\n border-width: var(--gxg-checkbox-border-width);\n border-style: solid;\n border-color: var(--gxg-checkbox-border-color);\n border-radius: var(--gxg-checkbox-border-radius);\n}\n.wrapper:after {\n content: \"\";\n position: absolute;\n display: block;\n border: solid;\n border-color: transparent;\n z-index: 0;\n}\n.wrapper--checked:after {\n left: 5.5px;\n top: 3px;\n width: 4px;\n height: 7px;\n border-width: 0 2px 2px 0;\n -webkit-transform: rotate(45deg);\n -ms-transform: rotate(45deg);\n transform: rotate(45deg);\n border-color: var(--gxg-checkbox-indicator-color);\n}\n.wrapper--indeterminate:after {\n left: 50%;\n top: 50%;\n width: 8px;\n height: 1.5px;\n border: 0;\n background-color: var(--gxg-checkbox-indicator-color);\n -webkit-transform: rotate(0) translateY(-50%) translateX(-50%);\n -ms-transform: rotate(0) translateY(-50%) translateX(-50%);\n transform: rotate(0) translateY(-50%) translateX(-50%);\n}\n.wrapper--has-icon {\n margin-inline-end: var(--gxg-checkbox-spacing);\n}\n\n.input {\n position: relative;\n z-index: 1;\n display: flex;\n width: 100%;\n height: 100%;\n opacity: 0;\n margin: 0;\n padding: 0;\n cursor: pointer;\n height: 0;\n width: 0;\n}\n\n.input:focus + .wrapper {\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}\n\n.label--has-icon {\n padding-inline-start: var(--gxg-checkbox-spacing);\n}\n\n/*Disabled*/\n:host([disabled]) .gxg-form-checkbox__wrapper,\n:host([disabled]) .input {\n cursor: initial;\n}\n:host([disabled]) .wrapper {\n border-color: var(--ds-border-color-disabled);\n background-color: var(--gxg-checkbox-disabled-background-color);\n}\n\n/*********************************************\nVALIDATION\n**********************************************/\n.messages-wrapper {\n margin-top: var(--spacing-comp-02);\n display: flex;\n gap: var(--spacing-comp-01);\n flex-direction: column;\n}","import { Host, h } from \"@stencil/core\";\nimport { formMessageLogic } from \"../../common/form\";\nimport { formClasses } from \"../../common/classesNames\";\nimport { commonClassesNames } from \"../../common/classesNames\";\nimport state from \"../store\";\nimport { exportParts } from \"../../common/export-parts\";\nexport class GxgFormCheckbox {\n constructor() {\n this.checkboxId = undefined;\n this.checked = false;\n this.indeterminate = false;\n this.disabled = false;\n this.label = undefined;\n this.labelSize = \"regular\";\n this.value = undefined;\n this.name = undefined;\n this.iconName = undefined;\n this.alignTop = false;\n this.hasFocus = false;\n this.required = false;\n this.validationStatus = \"indeterminate\";\n this.validationMessage = undefined;\n this.informationMessage = undefined;\n this.tooltip = undefined;\n }\n parts = {\n input: \"input\"\n };\n exportparts;\n el;\n //A reference to the input\n checkboxInput;\n change;\n /**\n * The logic for displaying or hidding the validation messages\n *\n */\n formMessageLogic = formMessageLogic;\n /*********************************\n METHODS\n *********************************/\n componentWillLoad() {\n this.attachExportParts();\n }\n attachExportParts = () => {\n const part = this.el.getAttribute(\"part\");\n const exportPartsResult = exportParts(part, this.parts);\n exportPartsResult.length && (this.exportparts = exportPartsResult);\n };\n compontentDidLoad() {\n if (this.checked && this.disabled) {\n this.checked = false;\n this.checkboxInput.removeAttribute(\"checked\");\n }\n }\n changed() {\n this.checked = this.checkboxInput.checked;\n }\n checkedHandler() {\n this.change.emit({\n id: this.checkboxId,\n value: this.checked,\n disabled: this.disabled\n });\n }\n handlerOnKeyUp(event) {\n if (event.code == \"Space\") {\n this.checked = !this.checked;\n }\n }\n handleGxgLabelClick = () => {\n this.checkboxInput.click();\n };\n ariaChecked() {\n if (this.checked) {\n return \"true\";\n }\n else {\n return \"false\";\n }\n }\n handleInputClick(e) {\n e.stopPropagation();\n }\n icon() {\n if (this.iconName) {\n return (h(\"gxg-icon\", { type: this.iconName, color: \"auto\", size: \"small\" }));\n }\n }\n focusHandler = () => {\n //this.hasFocus = true;\n };\n blurHandler = () => {\n //this.hasFocus = false;\n };\n renderCheckbox = () => {\n return [\n h(\"input\", { ref: el => (this.checkboxInput = el), type: \"checkbox\", checked: this.checked, class: \"input\", id: this.checkboxId, name: this.name, value: this.value, disabled: this.disabled, onChange: this.changed.bind(this), onKeyUp: this.handlerOnKeyUp.bind(this), onFocus: this.focusHandler, onBlur: this.blurHandler, tabindex: \"0\", onClick: this.handleInputClick, part: this.parts.input }),\n h(\"div\", { class: {\n wrapper: true,\n \"wrapper--checked\": this.checked,\n \"wrapper--indeterminate\": this.indeterminate,\n \"wrapper--focus\": this.hasFocus,\n \"wrapper--has-icon\": !!this.iconName\n } }),\n h(\"span\", { part: \"box\", class: {\n box: true,\n \"no-label\": !this.label,\n \"has-icon\": !!this.iconName,\n \"form-element\": true,\n indeterminate: this.indeterminate,\n checkbox: true\n }, role: \"checkbox\" }),\n this.icon()\n ];\n };\n render() {\n return (h(Host, { role: \"checkbox\", value: this.value, \"aria-checked\": this.ariaChecked, \"aria-label\": this.label, class: {\n large: state.large,\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 }, exportParts: this.exportparts ? this.exportparts : null }, h(\"div\", { class: {\n \"gxg-form-checkbox__wrapper\": true,\n \"gxg-form-checkbox__wrapper--align-top\": this.alignTop\n }, onClick: this.handleGxgLabelClick }, this.label\n ? [\n this.renderCheckbox(),\n h(\"gxg-label\", { class: {\n label: true,\n \"label--has-icon\": !!this.iconName\n }, disabled: this.disabled, labelPosition: \"end\", tooltip: this.tooltip, noMargin: !!this.iconName, size: this.labelSize }, this.label)\n ]\n : this.renderCheckbox()), this.formMessageLogic(this)));\n }\n static get is() { return \"gxg-form-checkbox\"; }\n static get encapsulation() { return \"shadow\"; }\n static get delegatesFocus() { return true; }\n static get originalStyleUrls() {\n return {\n \"$\": [\"form-checkbox.scss\"]\n };\n }\n static get styleUrls() {\n return {\n \"$\": [\"form-checkbox.css\"]\n };\n }\n static get properties() {\n return {\n \"checkboxId\": {\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 checkbox id\"\n },\n \"attribute\": \"checkbox-id\",\n \"reflect\": false\n },\n \"checked\": {\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 checkbox checked by default\"\n },\n \"attribute\": \"checked\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"indeterminate\": {\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 checkbox indeterminate\"\n },\n \"attribute\": \"indeterminate\",\n \"reflect\": true,\n \"defaultValue\": \"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 disables the checkbox\"\n },\n \"attribute\": \"disabled\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"label\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string | undefined\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The checkbox label\"\n },\n \"attribute\": \"label\",\n \"reflect\": false,\n \"defaultValue\": \"undefined\"\n },\n \"labelSize\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"size\",\n \"resolved\": \"\\\"large\\\" | \\\"regular\\\"\",\n \"references\": {\n \"size\": {\n \"location\": \"import\",\n \"path\": \"../label/gxg-label\",\n \"id\": \"src/components/label/gxg-label.tsx::size\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The checkbox label size\"\n },\n \"attribute\": \"label-size\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"regular\\\"\"\n },\n \"value\": {\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 checkbox value\"\n },\n \"attribute\": \"value\",\n \"reflect\": false\n },\n \"name\": {\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 checkbox name\"\n },\n \"attribute\": \"name\",\n \"reflect\": false\n },\n \"iconName\": {\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 checkbox icon\"\n },\n \"attribute\": \"icon-name\",\n \"reflect\": false,\n \"defaultValue\": \"undefined\"\n },\n \"alignTop\": {\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\": \"Aligns the checkbox to the top of the label (useful when the label is too long)\"\n },\n \"attribute\": \"align-top\",\n \"reflect\": false,\n \"defaultValue\": \"false\"\n },\n \"required\": {\n \"type\": \"boolean\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"boolean\",\n \"resolved\": \"boolean\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The presence of this attribute makes the commbo required\"\n },\n \"attribute\": \"required\",\n \"reflect\": true,\n \"defaultValue\": \"false\"\n },\n \"validationStatus\": {\n \"type\": \"string\",\n \"mutable\": true,\n \"complexType\": {\n \"original\": \"ValidationStatus\",\n \"resolved\": \"\\\"error\\\" | \\\"indeterminate\\\" | \\\"success\\\" | \\\"warning\\\"\",\n \"references\": {\n \"ValidationStatus\": {\n \"location\": \"import\",\n \"path\": \"../../common/types\",\n \"id\": \"src/common/types.ts::ValidationStatus\"\n }\n }\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The validation status\"\n },\n \"attribute\": \"validation-status\",\n \"reflect\": false,\n \"defaultValue\": \"\\\"indeterminate\\\"\"\n },\n \"validationMessage\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"The message to display when validation fails (error)\"\n },\n \"attribute\": \"validation-message\",\n \"reflect\": false\n },\n \"informationMessage\": {\n \"type\": \"string\",\n \"mutable\": false,\n \"complexType\": {\n \"original\": \"string\",\n \"resolved\": \"string\",\n \"references\": {}\n },\n \"required\": false,\n \"optional\": false,\n \"docs\": {\n \"tags\": [],\n \"text\": \"An informative message to help the user filling the information\"\n },\n \"attribute\": \"information-message\",\n \"reflect\": false\n },\n \"tooltip\": {\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\": \"\"\n },\n \"attribute\": \"tooltip\",\n \"reflect\": false\n }\n };\n }\n static get states() {\n return {\n \"hasFocus\": {}\n };\n }\n static get events() {\n return [{\n \"method\": \"change\",\n \"name\": \"change\",\n \"bubbles\": true,\n \"cancelable\": true,\n \"composed\": true,\n \"docs\": {\n \"tags\": [],\n \"text\": \"\"\n },\n \"complexType\": {\n \"original\": \"CheckboxInfo\",\n \"resolved\": \"{ id: string; value: boolean; disabled?: boolean; }\",\n \"references\": {\n \"CheckboxInfo\": {\n \"location\": \"local\",\n \"path\": \"/home/circleci/repo/src/components/form-checkbox/form-checkbox.tsx\",\n \"id\": \"src/components/form-checkbox/form-checkbox.tsx::CheckboxInfo\"\n }\n }\n }\n }];\n }\n static get elementRef() { return \"el\"; }\n static get watchers() {\n return [{\n \"propName\": \"checked\",\n \"methodName\": \"checkedHandler\"\n }];\n }\n}\n//# sourceMappingURL=form-checkbox.js.map\n"],"mappings":";;;;;;;;;;AAAA,MAAMA,IAAe;;MCQRC,IAAc;;;IAgSjBC,KAAAC,iBAAiB;;MACvB,OAAO;QACLC,SAAW;QACX,qBAAqBF,KAAKG;QAC1B,oBAAoBH,KAAKI,cAAc;QACvC,sBAAsBJ,KAAKK,mBAAmBL,KAAKM;QACnD,CAAC,oBAAoBN,KAAKO,mBAAmB;QAC7C,uBAAuBP,KAAKQ;QAC5B,iCAAiCR,KAAKS;QACtC,mBAAmBT,KAAKU;QACxB,wBACEV,KAAKW,uBAAqBC,IAAAZ,KAAKa,oBAAc,QAAAD,WAAA,aAAAA,EAAEE,UAAS;QAC1D,6BAA6Bd,KAAKe;QAClC,qBAAqBf,KAAKgB;;AAC3B;IAGKhB,KAAAiB,iBAAiB,OAChB;MACLC,SAAW;MACX,iBAAiBlB,KAAKmB;MACtB,uBAAuBnB,KAAKoB;MAC5B,mBAAmBpB,KAAKqB;MACxB,0BAA0BrB,KAAKsB;MAC/B,uBAAuBtB,KAAKuB;MAC5B,CAAC,wBAAwBvB,KAAKwB,eAC5BxB,KAAKwB,eAAeC;MACtB,CAAC,4BAA4BzB,KAAK0B,mBAChC1B,KAAK0B,mBAAmBD;;IAItBzB,KAAA2B,cAAc,MACb3B,KAAK4B,qBACVC,EAAA;MACEC,OAAO;QACL,gBAAgB;QAChB,+BAA+B9B,KAAK+B;QACpC,4BAA4B/B,KAAKgC;QACjC,yBAAyBhC,KAAKiC;;OAGhCJ,EAAA;MAAMK,MAAK;UAEX;IAGElC,KAAAmC,SAAS,MACRnC,KAAKoC,gBACVP,EAAA;MACEC,OAAO;QACLK,QAAU;QACV,qBACEnC,KAAKqC,kBACJrC,KAAKsC,qBACNtC,KAAKuC;QACP,CAAC,mBAAmBvC,KAAKwC,kBAAkB;QAC3C,CAAC,mBAAmBxC,KAAKwC,kBAAkB;QAC3C,sBAAsBxC,KAAKyC;QAC3B,mBAAmBzC,KAAKiC;;OAG1BJ,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAMK,MAAK;SAEbL,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAMK,MAAK;WAGb;yBA7VoC;;qBAUF;yBAKE;4BAKG;4BAKA;+BAKG;8BAKD;2BAKK;0BAOF;2BAKN;wBAKH;4BAKI;oCAKQ;6BAKP;0BAKI;8BAKH;mBAKX;uBAOI;8BAKO;4BAKF;wBAKJ;sBAKCT;0BAKQA;4BAKL;8BAOE;gCAKE;+BAKD;yBAON;2BAKE;yBAKI;0BAKL;yBAWlB;6BAKI;yBAKJ;8BAKK;0BAKJ;0BAKA;yBAKD;;;;;EAQzB,iBAAAiB;IACE1C,KAAK2C;;;;;EASC,aAAAA;;IAEN,MAAMC,IAAa5C,KAAK6C,GAAGC,iBAAiB;IAC5C,IAAIF,EAAW9B,QAAQ;MACrBd,KAAK+C,gBAAgB;;;QAGvB,MAAMC,IAAiBhD,KAAK6C,GAAGC,iBAAiB;IAChD,IAAIE,EAAelC,QAAQ;MACzBd,KAAKsC,oBAAoB;;;QAG3B,MAAMW,IAAkBjD,KAAK6C,GAAGC,iBAC9B;IAEF,MAAMI,IAAkBlD,KAAK6C,GAAGC,iBAC9B;IAEF,MAAMK,IAAgBnD,KAAK6C,GAAGC,iBAC5B;IAEF,IAAII,EAAgBpC,UAAUqC,EAAcrC,QAAQ;MAClDd,KAAKoC,gBAAgB;;IAEvB,IAAIa,EAAgBnC,QAAQ;MAC1Bd,KAAK4B,qBAAqB;;;EAItB,gBAAAwB;;IAEN,KACGpD,KAAKsC,sBACLtC,KAAKoC,kBACLpC,KAAK4B,oBACN;MACA5B,KAAKM,iBAAiB;;;QAGxB,IACEN,KAAKsC,sBACJtC,KAAKa,mBACLb,KAAK+C,kBACL/C,KAAK4B,uBACL5B,KAAKoC,eACN;MACApC,KAAKqD,iBAAiB;;;QAGxB,KACGrD,KAAKsC,sBACLtC,KAAKa,mBACLb,KAAK4B,oBACN;MACA5B,KAAKqC,gBAAgB;;;;EA8EzB,MAAAiB;IACEtD,KAAKoD;IACL,MAAMG,IAAS,EACbvD,KAAKa,kBAAkBb,KAAK+C,gBAC1BlB,EAAA;MAAQC,OAAO9B,KAAKC;OACjBD,KAAKa,iBACJgB,EAAA;MACEC,OAAM;MACN0B,MAAMxD,KAAKI;MACXqD,WAAWzD,KAAK0D;OAEf1D,KAAKa,kBAEN,MACHb,KAAK+C,gBACJlB,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAMK,MAAK;UAEX,QAEJ,MACJlC,KAAKsC,oBACHT,EAAA;MAAKC,OAAO9B,KAAKiB;MAAkB0C,MAAK;OACtC9B,EAAA,iBAEA,MACJ7B,KAAK2B,eACL3B,KAAKmC;IAGP,OACEN,EAAC+B,GAAI,MACH/B,EAAA;MACEC,OAAO;QACL+B,WAAa;QACb,CAAC,sBAAsB7D,KAAK8D,oBAAoB;QAChD,6BAA6B9D,KAAK+D;QAClC,iCAAiC/D,KAAKgE;QACtC,iCAAiChE,KAAKiE;QACtC,oCAAoCjE,KAAKkE;QACzC,mCAAmClE,KAAKmE;QACxC,2BAA2BnE,KAAKqD;QAChC,yBAAyBrD,KAAK+C,kBAAkB/C,KAAKa;QACrD,yBACGb,KAAKoC,kBAAkBpC,KAAK4B;;OAGhC2B;;;;;;;;;ACjaX,MAAMa,IAAkB;;MCMXC,IAAe;EACxB,WAAAC,CAAAC;IAkBAvE,KAAAwE,QAAQ;MACJC,OAAO;;;;;eAWXzE,KAAA0E,mBAAmBA;IAOnB1E,KAAA2E,oBAAoB;MAChB,MAAMhB,IAAO3D,KAAK6C,GAAG+B,aAAa;MAClC,MAAMC,IAAoBC,EAAYnB,GAAM3D,KAAKwE;MACjDK,EAAkB/D,WAAWd,KAAK+E,cAAcF;AAAkB;IAuBtE7E,KAAAgF,sBAAsB;MAClBhF,KAAKiF,cAAcC;AAAO;IAkB9BlF,KAAAmF,eAAe;IAGfnF,KAAAoF,cAAc;IAGdpF,KAAAqF,iBAAiB,MACN,EACHxD,EAAE,SAAS;MAAEyD,KAAKzC,KAAO7C,KAAKiF,gBAAgBpC;MAAKW,MAAM;MAAY+B,SAASvF,KAAKuF;MAASzD,OAAO;MAAS0D,IAAIxF,KAAKyF;MAAYvD,MAAMlC,KAAKkC;MAAMwD,OAAO1F,KAAK0F;MAAOC,UAAU3F,KAAK2F;MAAUC,UAAU5F,KAAK6F,QAAQC,KAAK9F;MAAO+F,SAAS/F,KAAKgG,eAAeF,KAAK9F;MAAOiG,SAASjG,KAAKmF;MAAce,QAAQlG,KAAKoF;MAAae,UAAU;MAAKC,SAASpG,KAAKqG;MAAkB1C,MAAM3D,KAAKwE,MAAMC;QAChY5C,EAAE,OAAO;MAAEC,OAAO;QACVwE,SAAS;QACT,oBAAoBtG,KAAKuF;QACzB,0BAA0BvF,KAAKuG;QAC/B,kBAAkBvG,KAAKwG;QACvB,uBAAuBxG,KAAKyG;;QAEpC5E,EAAE,QAAQ;MAAE8B,MAAM;MAAO7B,OAAO;QACxB4E,KAAK;QACL,aAAa1G,KAAK2G;QAClB,cAAc3G,KAAKyG;QACnB,gBAAgB;QAChBF,eAAevG,KAAKuG;QACpBK,UAAU;;MACXC,MAAM;QACb7G,KAAK8G;;;IAzGT9G,KAAKyF,aAAahE;IAClBzB,KAAKuF,UAAU;IACfvF,KAAKuG,gBAAgB;IACrBvG,KAAK2F,WAAW;IAChB3F,KAAK2G,QAAQlF;IACbzB,KAAK+G,YAAY;IACjB/G,KAAK0F,QAAQjE;IACbzB,KAAKkC,OAAOT;IACZzB,KAAKyG,WAAWhF;IAChBzB,KAAKgH,WAAW;IAChBhH,KAAKwG,WAAW;IAChBxG,KAAKiH,WAAW;IAChBjH,KAAKkH,mBAAmB;IACxBlH,KAAKmH,oBAAoB1F;IACzBzB,KAAKoH,qBAAqB3F;IAC1BzB,KAAKqH,UAAU5F;;;;;;;wCAkBnB,iBAAAiB;IACI1C,KAAK2E;;EAOT,iBAAA2C;IACI,IAAItH,KAAKuF,WAAWvF,KAAK2F,UAAU;MAC/B3F,KAAKuF,UAAU;MACfvF,KAAKiF,cAAcsC,gBAAgB;;;EAG3C,OAAA1B;IACI7F,KAAKuF,UAAUvF,KAAKiF,cAAcM;;EAEtC,cAAAiC;IACIxH,KAAKyH,OAAOC,KAAK;MACblC,IAAIxF,KAAKyF;MACTC,OAAO1F,KAAKuF;MACZI,UAAU3F,KAAK2F;;;EAGvB,cAAAK,CAAe2B;IACX,IAAIA,EAAMC,QAAQ,SAAS;MACvB5H,KAAKuF,WAAWvF,KAAKuF;;;EAM7B,WAAAsC;IACI,IAAI7H,KAAKuF,SAAS;MACd,OAAO;WAEN;MACD,OAAO;;;EAGf,gBAAAc,CAAiByB;IACbA,EAAEC;;EAEN,IAAAjB;IACI,IAAI9G,KAAKyG,UAAU;MACf,OAAQ5E,EAAE,YAAY;QAAE2B,MAAMxD,KAAKyG;QAAUuB,OAAO;QAAQC,MAAM;;;;EA8B1E,MAAA3E;IACI,OAAQzB,EAAE+B,GAAM;MAAEiD,MAAM;MAAYnB,OAAO1F,KAAK0F;MAAO,gBAAgB1F,KAAK6H;MAAa,cAAc7H,KAAK2G;MAAO7E,OAAO;QAClHoG,OAAOC,EAAMD;QACb,CAACE,EAAY,oCAAoCpI,KAAKkH,qBAAqB;QAC3E,CAACkB,EAAY,8BAA8BpI,KAAKkH,qBAAqB;QACrE,CAACkB,EAAY,4BAA4BpI,KAAKkH,qBAAqB;QACnE,CAACkB,EAAY,8BAA8BpI,KAAKkH,qBAAqB;QACrE,CAACmB,EAAmB,oBAAoBrI,KAAK2F;;MAC9Cb,aAAa9E,KAAK+E,cAAc/E,KAAK+E,cAAc;OAAQlD,EAAE,OAAO;MAAEC,OAAO;QAC5E,8BAA8B;QAC9B,yCAAyC9B,KAAKgH;;MAC/CZ,SAASpG,KAAKgF;OAAuBhF,KAAK2G,QAC3C,EACE3G,KAAKqF,kBACLxD,EAAE,aAAa;MAAEC,OAAO;QAChB6E,OAAO;QACP,qBAAqB3G,KAAKyG;;MAC3Bd,UAAU3F,KAAK2F;MAAU2C,eAAe;MAAOjB,SAASrH,KAAKqH;MAASkB,YAAYvI,KAAKyG;MAAUwB,MAAMjI,KAAK+G;OAAa/G,KAAK2G,WAEvI3G,KAAKqF,mBAAmBrF,KAAK0E,iBAAiB1E;;EAIxD,yBAAWwI;IAAmB,OAAO;AAAK"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["renderListItems","itemsData","listItemsArray","forEach","item","id","itemId","value","itemValue","icon","itemIcon","push","h","commentsToListItemsData","comments","comment","selectRecentCommentCss","GxIdeTeamDevSelectRecentComment","this","selectedComment","renderedFirstTime","commentSelectionChangedHandler","selectedItem","detail","length","confirmCallbackHandle","async","confirmCallback","cancelCallbackHandle","cancelCallback","componentWillLoad","_componentLocale","Locale","getComponentStrings","el","componentDidLoadEvent","emit","componentDidRender","componentDidRenderFirstTime","componentName","render","Host","class","containerTitle","displayTitle","displayBorder","noContentPadding","slimmerFooter","config","gxIdeContainer","type","listName","noListBorder","ordered","onSelectionChanged","onClick","slot","cancelButton","confirmButton"],"sources":["src/common/render-list-item.tsx","src/components/team-dev/select-recent-comment/helpers.ts","src/components/team-dev/select-recent-comment/select-recent-comment.scss?tag=gx-ide-team-dev-select-recent-comment&encapsulation=shadow","src/components/team-dev/select-recent-comment/select-recent-comment.tsx"],"sourcesContent":["/* STENCIL IMPORTS */\nimport { h } from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\n/* CUSTOM IMPORTS */\nimport { ItemData } from \"../components/_helpers/list-selector/list-selector-item/list-selector-item\";\n\nexport const renderListItems = (\n itemsData: ItemData[]\n): HTMLGxIdeListSelectorItemElement[] => {\n const listItemsArray: HTMLGxIdeListSelectorItemElement[] = [];\n itemsData.forEach(item => {\n const id = item.itemId;\n const value = item.itemValue;\n const icon = item.itemIcon;\n listItemsArray.push(\n <gx-ide-list-selector-item\n itemId={id}\n itemValue={value}\n icon={icon}\n ></gx-ide-list-selector-item>\n );\n });\n return listItemsArray;\n};\n","import { ItemData } from \"../../_helpers/list-selector/list-selector-item/list-selector-item\";\n\nexport const commentsToListItemsData = (comments: string[]): ItemData[] => {\n const itemsData: ItemData[] = [];\n comments.forEach(comment => {\n itemsData.push({ itemId: comment, itemValue: comment });\n });\n return itemsData;\n};\n","@import \"../../../global/gx-ide-common.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n}\n.recent-comments-list {\n height: 100%;\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { CheckedItemsInfo } from \"../../_helpers/list-selector/list-selector\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../../common/locale\";\nimport { config } from \"../../../common/config\";\nimport { renderListItems } from \"../../../common/render-list-item\";\nimport { commentsToListItemsData } from \"./helpers\";\n@Component({\n tag: \"gx-ide-team-dev-select-recent-comment\",\n styleUrl: \"select-recent-comment.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-select-recent-comment\"]\n})\nexport class GxIdeTeamDevSelectRecentComment {\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 selectedComment: string = null;\n private renderedFirstTime = false;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeTeamDevSelectRecentCommentElement;\n\n // 3.STATE() VARIABLES //\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Recent comments list\n */\n @Prop() readonly comments: string[];\n\n /**\n * Callback invoked when user confirms selection\n */\n @Prop() readonly confirmCallback: confirmCallback;\n\n /**\n * Callback invoked when user cancel selection\n */\n @Prop() readonly cancelCallback: cancelCallback;\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() componentDidLoadEvent: EventEmitter<boolean>;\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private commentSelectionChangedHandler = (\n selectedItem: CustomEvent<CheckedItemsInfo>\n ) => {\n if (selectedItem.detail.length > 0) {\n this.selectedComment = selectedItem.detail[0].itemValue;\n }\n };\n\n private confirmCallbackHandle = async () => {\n await this.confirmCallback(this.selectedComment);\n };\n\n private cancelCallbackHandle = async () => {\n await this.cancelCallback();\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host class=\"gx-ide-component\">\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n displayBorder\n noContentPadding\n slimmerFooter={config.gxIdeContainer.slimmerFooter}\n >\n <gx-ide-list-selector\n type=\"single-selection\"\n listName=\"recent-comments\"\n noListBorder\n ordered\n onSelectionChanged={this.commentSelectionChangedHandler}\n class=\"recent-comments-list\"\n >\n {renderListItems(commentsToListItemsData(this.comments))}\n </gx-ide-list-selector>\n\n <gxg-button\n type=\"outlined\"\n onClick={this.cancelCallbackHandle}\n slot=\"footer-end\"\n >\n {this._componentLocale.cancelButton}\n </gxg-button>\n <gxg-button\n type=\"primary-text-only\"\n onClick={this.confirmCallbackHandle}\n slot=\"footer-end\"\n >\n {this._componentLocale.confirmButton}\n </gxg-button>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\nexport type confirmCallback = (comment: string) => Promise<void>;\nexport type cancelCallback = () => Promise<void>;\n"],"mappings":";;;;;;qBAMO,OAAMA,kBACXC;EAEA,MAAMC,IAAqD;EAC3DD,EAAUE,SAAQC;IAChB,MAAMC,IAAKD,EAAKE;IAChB,MAAMC,IAAQH,EAAKI;IACnB,MAAMC,IAAOL,EAAKM;IAClBR,EAAeS,KACbC,EAAA;MACEN,QAAQD;MACRG,WAAWD;MACXE,MAAMA;;AAET;EAEH,OAAOP;AAAc;;ACpBhB,MAAMW,0BAA2BC;EACtC,MAAMb,IAAwB;EAC9Ba,EAASX,SAAQY;IACfd,EAAUU,KAAK;MAAEL,QAAQS;MAASP,WAAWO;;AAAU;EAEzD,OAAOd;AAAS;;ACPlB,MAAMe,IAAyB;;MCuBlBC,IAA+B;;;;;IAqBlCC,KAAAC,kBAA0B;IAC1BD,KAAAE,oBAAoB;;;;QAgEpBF,KAAAG,iCACNC;MAEA,IAAIA,EAAaC,OAAOC,SAAS,GAAG;QAClCN,KAAKC,kBAAkBG,EAAaC,OAAO,GAAGf;;;IAI1CU,KAAAO,wBAAwBC;YACxBR,KAAKS,gBAAgBT,KAAKC;AAAgB;IAG1CD,KAAAU,uBAAuBF;YACvBR,KAAKW;AAAgB;wBAhEG;;;;;;EA+BhC,uBAAMC;IACJZ,KAAKa,yBAAyBC,EAAOC,oBAAoBf,KAAKgB;IAC9DhB,KAAKiB,sBAAsBC,KAAK;;EAGlC,kBAAAC;IACE,KAAKnB,KAAKE,mBAAmB;MAC3BF,KAAKoB,4BAA4BF,KAC/BlB,KAAKa,iBAAiBQ;MAExBrB,KAAKE,oBAAoB;;;;EA4B7B,MAAAoB;IACE,OACE5B,EAAC6B,GAAI;MAACC,OAAM;OACV9B,EAAA;MAAK8B,OAAM;OACT9B,EAAA;MACE+B,gBACEzB,KAAK0B,eAAe1B,KAAKa,iBAAiBQ,gBAAgB;MAE5DM,eAAa;MACbC,kBAAgB;MAChBC,eAAeC,EAAOC,eAAeF;OAErCnC,EAAA;MACEsC,MAAK;MACLC,UAAS;MACTC,cAAY;MACZC,SAAO;MACPC,oBAAoBpC,KAAKG;MACzBqB,OAAM;OAEL1C,gBAAgBa,wBAAwBK,KAAKJ,aAGhDF,EAAA;MACEsC,MAAK;MACLK,SAASrC,KAAKU;MACd4B,MAAK;OAEJtC,KAAKa,iBAAiB0B,eAEzB7C,EAAA;MACEsC,MAAK;MACLK,SAASrC,KAAKO;MACd+B,MAAK;OAEJtC,KAAKa,iBAAiB2B"}
@@ -1,241 +0,0 @@
1
- import { r as t, c as e, a as r, h as a, H as o, g as i } from "./p-48217969.js";
2
-
3
- import { L as s } from "./p-74d59062.js";
4
-
5
- import { r as l } from "./p-350f49ac.js";
6
-
7
- import { f as n } from "./p-00095d68.js";
8
-
9
- const g = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-container{display:flex;height:100%;width:100%;box-sizing:border-box}p{margin:0}:host{display:block;border:1px solid var(--gxg-border-color--regular);background-color:var(--mer-color__surface)}.grid-data{grid-template-columns:repeat(2, 1fr)}.grid-data-account{grid-template-columns:auto 1fr}.grid-data-account>:nth-child(1){grid-area:1/1/2/3}.grid-data-account>:nth-child(6){grid-area:4/2/5/3}.grid-data-kbs{display:flex;flex-direction:column;gap:var(--gx-ide-grid-row-gap)}.grid-data-kbs .search-kbs{width:100%;display:flex}.grid-data-kbs .box-kbs{height:150px}.grid-data-kbs-footer{display:flex}.flex{display:flex}.flex>:nth-child(2){flex:1}";
10
-
11
- const d = class {
12
- constructor(a) {
13
- t(this, a);
14
- this.componentDidRenderFirstTime = e(this, "componentDidRenderFirstTime", 7);
15
- this.renderedFirstTime = false;
16
- this.shortcutsSrc = r(`./gx-ide-assets/create-kb-from-server/shortcuts.json`);
17
- this.kbIdSelected = null;
18
- this.authenticationTypes = [];
19
- // 7.LISTENERS //
20
- // 8.PUBLIC METHODS API //
21
- // 9.LOCAL METHODS //
22
- this.setAuthenticationTypes = () => {
23
- this.authenticationTypes = [ {
24
- id: "genexus",
25
- value: "genexus",
26
- label: this._componentLocale.authenticationTypes.genexusAccount
27
- }, {
28
- id: "local",
29
- value: "local",
30
- label: this._componentLocale.authenticationTypes.local
31
- } ];
32
- };
33
- this.addEventListeners = () => {
34
- this.serverUrlsEl.addEventListener("valueChanged", (() => {
35
- this.reset();
36
- }));
37
- this.searchKBEl.addEventListener("valueChanged", (t => {
38
- this.kbNameEl.value = "";
39
- this.kbIdSelected = null;
40
- this.kbSearchText = t.detail;
41
- }));
42
- this.listBoxEl.addEventListener("selectionChanged", (t => {
43
- const e = t.detail.items;
44
- let r;
45
- if (e.length > 0) {
46
- r = t.detail.items[0];
47
- }
48
- if (r) {
49
- this.kbIdSelected = r.value;
50
- const t = this.kbs.find((t => t.id === this.kbIdSelected));
51
- if (t) {
52
- this.kbNameEl.value = t.name;
53
- }
54
- }
55
- }));
56
- };
57
- this.createKbHandler = () => {
58
- if (this.createKBCallback) {
59
- const t = this.createKBCallback({
60
- id: this.kbIdSelected,
61
- name: this.kbNameEl.value
62
- });
63
- t.then((t => {
64
- n(t, this);
65
- }));
66
- }
67
- };
68
- this.connectCallbackHandler = () => {
69
- var t, e;
70
- if (this.connectCallback) {
71
- const r = this.connectCallback({
72
- serverUrl: this.serverUrlsEl.value,
73
- authenticationType: this.authenticationTypeEl.value,
74
- user: (t = this.userNameEl) === null || t === void 0 ? void 0 : t.value,
75
- password: (e = this.passwordEl) === null || e === void 0 ? void 0 : e.value
76
- });
77
- r.then((t => {
78
- n(t.formResult, this);
79
- if (t.formResult.success && t.kbs) {
80
- this.kbs = t.kbs;
81
- this.selectionKbDisabled = false;
82
- }
83
- }));
84
- }
85
- };
86
- this.selectionKbDisabled = true;
87
- this.kbs = [];
88
- this.kbSearchText = "";
89
- this.displayTitle = false;
90
- this.connectCallback = undefined;
91
- this.createKBCallback = undefined;
92
- this.enableCustomServer = true;
93
- this.kbName = undefined;
94
- this.password = undefined;
95
- this.serverUrls = undefined;
96
- this.userName = undefined;
97
- }
98
- watchPropHandler(t) {
99
- /* When the list of servers are updated, the first server is selected by default */
100
- this.kbIdSelected = t[0].id;
101
- this.kbName = t[0].name;
102
- }
103
- // 6.METHODS //
104
- async componentWillLoad() {
105
- this._componentLocale = await s.getComponentStrings(this.el);
106
- this.setAuthenticationTypes();
107
- }
108
- componentDidLoad() {
109
- this.serverUrlsEl.focus();
110
- this.addEventListeners();
111
- }
112
- componentDidRender() {
113
- if (!this.renderedFirstTime) {
114
- this.componentDidRenderFirstTime.emit(this._componentLocale.componentName);
115
- this.renderedFirstTime = true;
116
- }
117
- }
118
- reset() {
119
- this.kbs = [];
120
- this.kbIdSelected = null;
121
- this.selectionKbDisabled = true;
122
- this.searchKBEl.value = "";
123
- this.kbSearchText = "";
124
- }
125
- // 10.RENDER() FUNCTION //
126
- // 11.RENDER() FUNCTION //
127
- render() {
128
- return a(o, {
129
- class: "gx-ide-component"
130
- }, a("div", {
131
- class: "gx-ide-main-wrapper"
132
- }, a("gx-ide-container", {
133
- containerTitle: this.displayTitle ? this._componentLocale.componentName : null
134
- }, a("div", {
135
- class: "flex"
136
- }, a("gxg-label", {
137
- labelPosition: "start",
138
- class: "kb-label"
139
- }, this._componentLocale.label.serverUrl), a("gxg-combo-box", {
140
- disableFilter: !this.enableCustomServer,
141
- ref: t => this.serverUrlsEl = t,
142
- class: "server-urls-combo-box",
143
- part: "server-urls"
144
- }, this.serverUrls ? l("gxg-combo-box-item", this.serverUrls.map((t => ({
145
- id: t,
146
- label: t,
147
- value: t
148
- }))), "server-urls") : null)), a("div", {
149
- class: "grid grid-data"
150
- }, a("div", null, a("div", {
151
- class: "grid grid-data-account"
152
- }, a("gxg-combo-box", {
153
- "tool-tip": true,
154
- disableFilter: true,
155
- value: this.authenticationTypes[0].id,
156
- ref: t => this.authenticationTypeEl = t,
157
- class: "authentication-type",
158
- part: "authentication-type",
159
- onValueChanged: this.evaluateAuthenticationType
160
- }, l("gxg-combo-box-item", this.authenticationTypes, "authentication-type")), a("gxg-label", {
161
- labelPosition: "start",
162
- class: "kb-label"
163
- }, `${this._componentLocale.label.userName}:`), a("gxg-form-text", {
164
- ref: t => this.userNameEl = t,
165
- "tool-tip": true,
166
- value: this.userName,
167
- class: "user-name",
168
- part: "user-name"
169
- }), a("gxg-label", {
170
- labelPosition: "start",
171
- class: "kb-label"
172
- }, `${this._componentLocale.label.password}:`), a("gxg-form-text", {
173
- "tool-tip": true,
174
- password: true,
175
- ref: t => this.passwordEl = t,
176
- value: this.password,
177
- class: "password",
178
- part: "password"
179
- }), a("div", null, a("gxg-button", {
180
- id: "button-connect",
181
- type: "primary-text-only",
182
- onClick: this.connectCallbackHandler,
183
- part: "button-connect"
184
- }, this._componentLocale.buttons.connect)))), a("div", {
185
- class: "grid"
186
- }, a("div", {
187
- class: "grid-data-kbs"
188
- }, a("div", {
189
- class: "search-kbs"
190
- }, a("gxg-form-text", {
191
- ref: t => this.searchKBEl = t,
192
- class: "search-kb-input",
193
- part: "search-kb",
194
- disabled: this.selectionKbDisabled,
195
- placeholder: this._componentLocale.label.searchKbs
196
- })), a("div", {
197
- class: "box-kbs"
198
- }, a("gxg-list-box", {
199
- singleSelection: true,
200
- disabled: this.selectionKbDisabled,
201
- ref: t => this.listBoxEl = t,
202
- part: "kbs"
203
- }, this.kbs.filter((t => t.name.toLowerCase().includes(this.kbSearchText.toLowerCase()))).map((t => a("gxg-list-box-item", {
204
- value: t.id,
205
- key: t.id
206
- }, t.name)))))), a("div", {
207
- class: "grid grid-data-kbs-footer"
208
- }, a("gxg-form-text", {
209
- ref: t => this.kbNameEl = t,
210
- label: this._componentLocale.localKb,
211
- value: this.kbName,
212
- class: "kb-name",
213
- part: "kb-name",
214
- disabled: this.selectionKbDisabled
215
- }), a("div", null, a("gxg-button", {
216
- id: "button-create",
217
- type: "primary-text-only",
218
- onClick: this.createKbHandler,
219
- part: "button-create",
220
- disabled: this.selectionKbDisabled
221
- }, this._componentLocale.buttons.create))))))), a("gxg-shortcuts", {
222
- src: this.shortcutsSrc
223
- }));
224
- }
225
- static get assetsDirs() {
226
- return [ "gx-ide-assets/create-kb-from-server" ];
227
- }
228
- get el() {
229
- return i(this);
230
- }
231
- static get watchers() {
232
- return {
233
- kbs: [ "watchPropHandler" ]
234
- };
235
- }
236
- };
237
-
238
- d.style = g;
239
-
240
- export { d as gx_ide_create_kb_from_server };
241
- //# sourceMappingURL=p-9a8f3b43.entry.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["createKbFromServerCss","GxIdeCreateKbFromServer","this","renderedFirstTime","shortcutsSrc","getAssetPath","kbIdSelected","authenticationTypes","setAuthenticationTypes","id","value","label","_componentLocale","genexusAccount","local","addEventListeners","serverUrlsEl","addEventListener","reset","searchKBEl","e","kbNameEl","kbSearchText","detail","listBoxEl","ev","selectedItems","items","selectedItem","length","kbSelected","kbs","find","kb","name","createKbHandler","createKBCallback","createKBCallbackPromise","then","formSubmitResult","formSubmitValidation","connectCallbackHandler","connectCallback","connectCallbackPromise","serverUrl","authenticationType","authenticationTypeEl","user","_a","userNameEl","password","_b","passwordEl","connectionResultData","formResult","success","selectionKbDisabled","watchPropHandler","newKbs","kbName","componentWillLoad","Locale","getComponentStrings","el","componentDidLoad","focus","componentDidRender","componentDidRenderFirstTime","emit","componentName","render","h","Host","class","containerTitle","displayTitle","labelPosition","disableFilter","enableCustomServer","ref","part","serverUrls","renderFormItems","map","sUrl","onValueChanged","evaluateAuthenticationType","userName","type","onClick","buttons","connect","disabled","placeholder","searchKbs","singleSelection","filter","toLowerCase","includes","key","localKb","create","src"],"sources":["src/components/create-kb-from-server/create-kb-from-server.scss?tag=gx-ide-create-kb-from-server&encapsulation=shadow","src/components/create-kb-from-server/create-kb-from-server.tsx"],"sourcesContent":["@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n border: 1px solid var(--gxg-border-color--regular);\n background-color: var(--mer-color__surface);\n}\n:host(.gxi-create-kb-from-server--shadow) {\n}\n\n.grid-data {\n grid-template-columns: repeat(2, 1fr);\n}\n.grid-data-account {\n grid-template-columns: auto 1fr;\n > :nth-child(1) {\n grid-area: 1 / 1 / 2 / 3;\n }\n > :nth-child(6) {\n grid-area: 4 / 2 / 5 / 3;\n }\n}\n.grid-data-kbs {\n display: flex;\n flex-direction: column;\n gap: var(--gx-ide-grid-row-gap);\n .search-kbs {\n width: 100%;\n display: flex;\n }\n .box-kbs {\n height: 150px;\n }\n}\n.grid-data-kbs-footer {\n display: flex;\n}\n.flex {\n display: flex;\n > :nth-child(2) {\n flex: 1;\n }\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Element,\n State,\n getAssetPath,\n Watch\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { SelectionChangedEvent } from \"@genexus/gemini/dist/types/components/list-box/list-box\";\n/* CUSTOM IMPORTS */\nimport { GxOption } from \"../../common/types\";\nimport { Locale } from \"../../common/locale\";\nimport { renderFormItems } from \"../../common/common\";\nimport {\n FormSubmitResult,\n GxServerAuthenticationType\n} from \"../../common/types\";\nimport { formSubmitValidation } from \"../../common/form-validation\";\n\n@Component({\n tag: \"gx-ide-create-kb-from-server\",\n styleUrl: \"create-kb-from-server.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/create-kb-from-server\"]\n})\nexport class GxIdeCreateKbFromServer {\n [key: string]: any;\n\n /*\nINDEX:\n1.OWN PROPERTIES\n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.METHODS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n private shortcutsSrc = getAssetPath(\n `./gx-ide-assets/create-kb-from-server/shortcuts.json`\n );\n\n /* References needed to collect data with \"Connect\" and \"Create\" buttons submit*/\n private authenticationTypeEl!: HTMLGxgComboBoxElement;\n private serverUrlsEl!: HTMLGxgComboBoxElement;\n private kbNameEl!: HTMLGxgFormTextElement;\n private passwordEl!: HTMLGxgFormTextElement;\n private userNameEl!: HTMLGxgFormTextElement;\n private searchKBEl!: HTMLGxgFormTextElement;\n private listBoxEl!: HTMLElement;\n private kbIdSelected: string = null;\n private authenticationTypes: GxOption[] = [];\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeCreateKbFromServerElement;\n\n // 3.STATE() VARIABLES //\n\n /**\n * Disabled or not the part for select and create the KB\n */\n @State() selectionKbDisabled = true;\n\n /**\n * KBs that return from connect to the server\n */\n\n @State() kbs: KBData[] = [];\n @Watch(\"kbs\")\n watchPropHandler(newKbs: KBData[]) {\n /* When the list of servers are updated, the first server is selected by default */\n this.kbIdSelected = newKbs[0].id;\n this.kbName = newKbs[0].name;\n }\n\n /**\n * KBs search text\n */\n @State() kbSearchText = \"\";\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * Callback that will be invoked when the user connect to the kb server (‘Connect’ button)\n */\n @Prop() readonly connectCallback: (\n data: GXServerConnectionData\n ) => Promise<ConnectionResultData>;\n\n /**\n * Callback that will be invoked when the user confirms KB creation (‘Create’ button)\n */\n @Prop() readonly createKBCallback: (\n data: CreateKBData\n ) => Promise<FormSubmitResult>;\n\n /**\n * If is true then the user can specify a server url that don't be in the combo box of server urls.\n */\n @Prop() readonly enableCustomServer: boolean = true;\n\n /**\n * The knowledge base default suggested name\n */\n // eslint-disable-next-line @stencil-community/strict-mutable\n @Prop({ mutable: true }) kbName: string;\n\n /**\n * Password for the database connection.\n */\n @Prop() readonly password: string;\n\n /**\n * Array of URLs of cataloged servers to be displayed in the combo\n */\n @Prop() readonly serverUrls!: string[];\n\n /**\n * Username for the database connection.\n */\n @Prop() readonly userName: string;\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 // 6.METHODS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.setAuthenticationTypes();\n }\n\n componentDidLoad() {\n (this.serverUrlsEl as HTMLElement).focus();\n this.addEventListeners();\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n private setAuthenticationTypes = () => {\n this.authenticationTypes = [\n {\n id: \"genexus\",\n value: \"genexus\",\n label: this._componentLocale.authenticationTypes.genexusAccount\n },\n {\n id: \"local\",\n value: \"local\",\n label: this._componentLocale.authenticationTypes.local\n }\n ];\n };\n\n private addEventListeners = () => {\n this.serverUrlsEl.addEventListener(\"valueChanged\", () => {\n this.reset();\n });\n\n this.searchKBEl.addEventListener(\n \"valueChanged\",\n (e: CustomEvent<string>) => {\n this.kbNameEl.value = \"\";\n this.kbIdSelected = null;\n this.kbSearchText = e.detail;\n }\n );\n\n this.listBoxEl.addEventListener(\n \"selectionChanged\",\n (ev: CustomEvent<SelectionChangedEvent>): void => {\n const selectedItems = ev.detail.items;\n let selectedItem;\n if (selectedItems.length > 0) {\n selectedItem = ev.detail.items[0];\n }\n if (selectedItem) {\n this.kbIdSelected = selectedItem.value;\n const kbSelected = this.kbs.find(kb => kb.id === this.kbIdSelected);\n if (kbSelected) {\n this.kbNameEl.value = kbSelected.name;\n }\n }\n }\n );\n };\n\n private reset() {\n this.kbs = [];\n this.kbIdSelected = null;\n this.selectionKbDisabled = true;\n this.searchKBEl.value = \"\";\n this.kbSearchText = \"\";\n }\n\n private createKbHandler = (): void => {\n if (this.createKBCallback) {\n const createKBCallbackPromise = this.createKBCallback({\n id: this.kbIdSelected,\n name: this.kbNameEl.value\n });\n createKBCallbackPromise.then((formSubmitResult: FormSubmitResult) => {\n formSubmitValidation(formSubmitResult, this);\n });\n }\n };\n\n private connectCallbackHandler = (): void => {\n if (this.connectCallback) {\n const connectCallbackPromise = this.connectCallback({\n serverUrl: this.serverUrlsEl.value,\n authenticationType: this.authenticationTypeEl.value,\n user: this.userNameEl?.value,\n password: this.passwordEl?.value\n });\n connectCallbackPromise.then(\n (connectionResultData: ConnectionResultData) => {\n formSubmitValidation(connectionResultData.formResult, this);\n if (\n connectionResultData.formResult.success &&\n connectionResultData.kbs\n ) {\n this.kbs = connectionResultData.kbs;\n this.selectionKbDisabled = false;\n }\n }\n );\n }\n };\n\n // 10.RENDER() FUNCTION //\n\n // 11.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 containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n <div class=\"flex\">\n {/* #kb name */}\n <gxg-label labelPosition=\"start\" class=\"kb-label\">\n {this._componentLocale.label.serverUrl}\n </gxg-label>\n <gxg-combo-box\n disableFilter={!this.enableCustomServer}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.serverUrlsEl = el as HTMLGxgComboBoxElement)\n }\n class=\"server-urls-combo-box\"\n part=\"server-urls\"\n >\n {this.serverUrls\n ? renderFormItems(\n \"gxg-combo-box-item\",\n this.serverUrls.map(sUrl => ({\n id: sUrl,\n label: sUrl,\n value: sUrl\n })),\n \"server-urls\"\n )\n : null}\n </gxg-combo-box>\n </div>\n <div class=\"grid grid-data\">\n <div>\n <div class=\"grid grid-data-account\">\n {/* #authentication type */}\n <gxg-combo-box\n tool-tip\n disableFilter\n value={this.authenticationTypes[0].id}\n ref={(el: HTMLGxgComboBoxElement) =>\n (this.authenticationTypeEl = el as HTMLGxgComboBoxElement)\n }\n class=\"authentication-type\"\n part=\"authentication-type\"\n onValueChanged={this.evaluateAuthenticationType}\n >\n {renderFormItems(\n \"gxg-combo-box-item\",\n this.authenticationTypes,\n \"authentication-type\"\n )}\n </gxg-combo-box>\n\n {/* #user name */}\n <gxg-label labelPosition=\"start\" class=\"kb-label\">\n {`${this._componentLocale.label.userName}:`}\n </gxg-label>\n <gxg-form-text\n ref={(el: HTMLGxgFormTextElement) =>\n (this.userNameEl = el as HTMLGxgFormTextElement)\n }\n tool-tip\n value={this.userName}\n class=\"user-name\"\n part=\"user-name\"\n ></gxg-form-text>\n\n {/* #password */}\n <gxg-label labelPosition=\"start\" class=\"kb-label\">\n {`${this._componentLocale.label.password}:`}\n </gxg-label>\n <gxg-form-text\n tool-tip\n password\n ref={(el: HTMLGxgFormTextElement) =>\n (this.passwordEl = el as HTMLGxgFormTextElement)\n }\n value={this.password}\n class=\"password\"\n part=\"password\"\n ></gxg-form-text>\n\n {/* #connect */}\n <div>\n <gxg-button\n id=\"button-connect\"\n type=\"primary-text-only\"\n onClick={this.connectCallbackHandler}\n part=\"button-connect\"\n >\n {this._componentLocale.buttons.connect}\n </gxg-button>\n </div>\n </div>\n </div>\n\n <div class=\"grid\">\n <div class=\"grid-data-kbs\">\n <div class=\"search-kbs\">\n <gxg-form-text\n ref={(el: HTMLGxgFormTextElement) =>\n (this.searchKBEl = el as HTMLGxgFormTextElement)\n }\n class=\"search-kb-input\"\n part=\"search-kb\"\n disabled={this.selectionKbDisabled}\n placeholder={this._componentLocale.label.searchKbs}\n ></gxg-form-text>\n </div>\n <div class=\"box-kbs\">\n <gxg-list-box\n singleSelection\n disabled={this.selectionKbDisabled}\n ref={(el: HTMLElement) => (this.listBoxEl = el)}\n part=\"kbs\"\n >\n {this.kbs\n .filter(kb =>\n kb.name\n .toLowerCase()\n .includes(this.kbSearchText.toLowerCase())\n )\n .map(kb => (\n <gxg-list-box-item value={kb.id} key={kb.id}>\n {kb.name}\n </gxg-list-box-item>\n ))}\n </gxg-list-box>\n </div>\n </div>\n <div class=\"grid grid-data-kbs-footer\">\n {/* #kbName */}\n <gxg-form-text\n ref={(el: HTMLGxgFormTextElement) =>\n (this.kbNameEl = el as HTMLGxgFormTextElement)\n }\n label={this._componentLocale.localKb}\n value={this.kbName}\n class=\"kb-name\"\n part=\"kb-name\"\n disabled={this.selectionKbDisabled}\n ></gxg-form-text>\n\n {/* #create button */}\n <div>\n <gxg-button\n id=\"button-create\"\n type=\"primary-text-only\"\n onClick={this.createKbHandler}\n part=\"button-create\"\n disabled={this.selectionKbDisabled}\n >\n {this._componentLocale.buttons.create}\n </gxg-button>\n </div>\n </div>\n </div>\n </div>\n </gx-ide-container>\n </div>\n <gxg-shortcuts src={this.shortcutsSrc}></gxg-shortcuts>\n </Host>\n );\n }\n}\n\nexport interface GXServerConnectionData {\n serverUrl: string;\n authenticationType: GxServerAuthenticationType;\n user: string;\n password: string;\n}\nexport type ConnectionResultData = {\n formResult: FormSubmitResult;\n kbs: KBData[];\n};\nexport interface KBData {\n id: string;\n name: string;\n}\nexport interface CreateKBData {\n id: string;\n name: string;\n}\n"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"names":["listSelectorCss","GxIdeListSelector","this","evaluateChecked","allListItems","Array","from","el","querySelectorAll","checkedItems","filter","item","itemChecked","required","length","type","forEach","i","evaluateInitialValue","getChecked","value","itemValue","values","checked","push","allItems","componentWillLoad","itemSelectionChangedHandler","event","stopPropagation","checkedItemsInfo","newValue","itemId","undefined","selectionChanged","emit","render","h","Host","exportparts","listTitle","ordered","class","part","listSelectorItemCss","GxIdeListSelectorItem","hasUniversalSlot","index","evaluateParentIsListSelector","parentList","parentElement","parentIsListSelector","nodeName","evaluateType","evaluateSelectable","readonly","evaluateEllipsis","ellipsis","evaluateBorder","noBorder","noItemsBorder","evaluateUniversalSlot","querySelector","assignName","listName","name","evaluateOrderedList","children","indexOf","evaluateIconColor","iconsColor","iconColor","evaluateIconSize","iconsSize","iconSize","onChangeHandler","e","target","itemSelectionChanged","role","id","onChange","disabled","htmlFor","icon","size","color"],"sources":["src/components/_helpers/list-selector/list-selector.scss?tag=gx-ide-list-selector&encapsulation=shadow","src/components/_helpers/list-selector/list-selector.tsx","src/components/_helpers/list-selector/list-selector-item/list-selector-item.scss?tag=gx-ide-list-selector-item","src/components/_helpers/list-selector/list-selector-item/list-selector-item.tsx"],"sourcesContent":["@import \"../../../global/reset.scss\";\n@import \"../../../global/gx-ide-mixins.scss\";\n@import \"../../../global/gx-ide-common.scss\";\n@include box-sizing;\n\n:host {\n display: flex;\n flex-direction: column;\n max-height: 100%;\n font-family: var(--mer-font-family--primary);\n}\ngxg-title {\n display: block;\n margin-block-end: var(--gxg-label-margin-vertical);\n}\n.list {\n @include reset-defaults;\n @include reset-list;\n @include base-component-styles;\n @include gxg-scrollbar;\n display: block;\n background-color: var(--mer-color__surface);\n max-height: 100%;\n overflow-y: auto;\n border: 1px solid var(--gx-ide-container-border-color);\n border-radius: var(--ds-form-control-border-radius);\n}\n/*no border*/\n:host([no-list-border]) {\n .list {\n border: none;\n }\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Listen,\n // Watch,\n Element,\n Event,\n EventEmitter\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { Color, Size } from \"@genexus/gemini/dist/types/components/icon/icon\";\n/* CUSTOM IMPORTS */\nimport { ItemData } from \"./list-selector-item/list-selector-item\";\n\n@Component({\n tag: \"gx-ide-list-selector\",\n styleUrl: \"list-selector.scss\",\n shadow: true\n})\nexport class GxIdeListSelector {\n /*\nINDEX:\n1.OWN PROPERTIES \n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE METHODS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES | WATCH'S //\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeListSelectorElement;\n\n // 3.STATE() VARIABLES //\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * The list title (optional)\n */\n @Prop() readonly listTitle: string;\n\n /**\n * It determines if the list is ordered, or unordered\n */\n @Prop() readonly ordered: boolean = false;\n\n /**\n * Makes the list readonly\n */\n @Prop() readonly readonly: boolean = false;\n\n /**\n * It determines the type of list: single-selection or multi-selection\n */\n @Prop() readonly type: \"single-selection\" | \"multi-selection\" =\n \"single-selection\";\n\n /**\n * Makes the list required\n */\n @Prop() readonly required: boolean = false;\n\n /**\n * The presence of this property will force all the items to not-wrap, and have ellipsis\n */\n @Prop() readonly ellipsis: boolean = false;\n\n /**\n * The value of the initial (or initials) checked list-item/s\n */\n @Prop({ mutable: true }) value: string | string[];\n\n /**\n * Icons color\n */\n @Prop() readonly iconsColor: Color = \"auto\";\n\n /**\n * Icons size\n */\n @Prop() readonly iconsSize: Size = \"small\";\n\n // @Watch(\"value\")\n // valueHandler(newValue: string) {\n // const foundItem = this.getItemByValue(newValue);\n // if (foundItem) {\n // const input = foundItem.querySelector(\"input\");\n // input.checked = true;\n // }\n // }\n\n /**\n * The name of this list. This is a required attribute for the list to work.\n */\n @Prop() readonly listName!: string;\n\n /**\n * Disables the items border\n */\n @Prop() readonly noItemsBorder: boolean = false;\n\n /**\n * Disables the list border\n */\n @Prop({ reflect: true }) readonly noListBorder: boolean = false;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * Emits the actual selection\n */\n @Event() selectionChanged: EventEmitter<CheckedItemsInfo>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n componentWillLoad() {\n this.evaluateChecked();\n this.evaluateInitialValue();\n }\n\n // 7.LISTENERS //\n\n @Listen(\"itemSelectionChanged\", { capture: true })\n itemSelectionChangedHandler(event: CustomEvent<ItemData>) {\n event.stopPropagation();\n const checkedItemsInfo: CheckedItemsInfo = [];\n const checkedItems: HTMLGxIdeListSelectorItemElement[] = this.getChecked();\n const newValue: string | string[] = [];\n checkedItems.forEach(item => {\n const value = item.itemValue;\n newValue.push(value);\n checkedItemsInfo.push({\n itemId: item.itemId,\n itemValue: value\n });\n });\n /* update this.value*/\n if (this.type === \"single-selection\" && newValue.length > 0) {\n this.value = newValue[0] || undefined;\n } else {\n /* multi-selection*/\n this.value = newValue;\n }\n /* emit selectionChanged*/\n this.selectionChanged.emit(checkedItemsInfo);\n }\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n /**\n * It evaluates the checked items, and checks or unchecks if needed\n */\n private evaluateChecked = () => {\n const allListItems = Array.from(\n this.el.querySelectorAll(\"gx-ide-list-selector-item\")\n );\n const checkedItems = allListItems.filter(item => item.itemChecked);\n /**\n * INDEX\n * 1.required and no one checked\n * 2.single-selection, and more than one checked\n */\n\n /* 1.required and no one checked*/\n if (this.required && checkedItems.length === 0) {\n allListItems[0].itemChecked = true;\n } else if (this.type === \"single-selection\" && checkedItems.length > 1) {\n /* 2.single-selection, and more than one checked*/\n checkedItems.forEach((item, i) => {\n if (i !== 0) {\n item.itemChecked = false;\n }\n });\n }\n };\n\n /**\n * It evaluates the initial value/s\n */\n private evaluateInitialValue = () => {\n const checkedItems = this.getChecked();\n if (this.type === \"single-selection\" && checkedItems.length > 0) {\n this.value = checkedItems[0].itemValue;\n } else if (this.type === \"multi-selection\" && checkedItems.length > 0) {\n const values: string[] = [];\n checkedItems.forEach(checked => {\n values.push(checked.itemValue);\n });\n this.value = values;\n }\n };\n\n private getChecked = (): HTMLGxIdeListSelectorItemElement[] => {\n const checkedItems: HTMLGxIdeListSelectorItemElement[] = [];\n const allItems = this.el.querySelectorAll(\"gx-ide-list-selector-item\");\n allItems.forEach(item => {\n if (item.itemChecked) {\n checkedItems.push(item);\n }\n });\n return checkedItems;\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host exportparts=\"input:input\">\n {this.listTitle ? (\n <gxg-title type=\"title-04\">{this.listTitle}</gxg-title>\n ) : null}\n {this.ordered ? (\n <ol class=\"list\" part=\"list\">\n <slot></slot>\n </ol>\n ) : (\n <ul class=\"list\" part=\"list\">\n <slot></slot>\n </ul>\n )}\n </Host>\n );\n }\n}\n\nexport type CheckedItemsInfo = ItemData[];\n","@import \"../../../../global/gx-ide-mixins.scss\";\n@import \"../../../../../node_modules/@genexus/gemini/dist/collection/globals/mixins.scss\";\n@include box-sizing;\n\ngx-ide-list-selector-item {\n display: block;\n max-width: 100%;\n display: flex;\n font-size: inherit;\n\n &:hover {\n .label {\n background-color: var(--ds-item-background-color--hover);\n cursor: pointer;\n }\n input:checked + .label {\n background-color: var(--ds-item-background-color--selected-hover);\n }\n }\n}\ngx-ide-list-selector-item:not(:first-child) {\n border-block-start: var(--gx-ide-list-items-border);\n}\n/*change border color if checked*/\ngx-ide-list-selector-item:not(:first-child):has(input:checked) {\n border-block-color: var(--ds-item-border-color--selected);\n}\n/*readonly*/\ngx-ide-list-selector-item[readonly]:not([readonly=\"false\"]) {\n .label {\n pointer-events: none;\n background-color: transparent;\n }\n}\n/*ellipsis*/\ngx-ide-list-selector-item[ellipsis]:not([ellipsis=\"false\"]) {\n .label {\n &__description {\n @include elipsis;\n }\n }\n}\ninput {\n width: 0;\n height: 0;\n opacity: 0;\n margin: 0;\n\n &:focus + .label {\n @include form-element-common-styles-focus-type-1();\n outline-offset: var(--gxg-tree-view-item__outline-offset--active);\n }\n &:checked + .label {\n background-color: var(--ds-item-background-color--selected);\n color: var(--gxg-grid-row-cell__color--selected);\n }\n}\n\n/*label-wrapper*/\n.label {\n width: 100%;\n}\n/*label*/\n.label {\n &__index {\n }\n &__wrapper {\n display: flex;\n min-height: 28px; /*this prevents height difference between items that have icons and items that do not*/\n align-items: center;\n gap: var(--mer-spacing--xs);\n padding: var(--mer-spacing--xxs) var(--mer-spacing--xs);\n width: 100%;\n }\n &__description {\n flex: 1;\n display: flex;\n align-items: center;\n gap: var(--mer-spacing--xs);\n }\n}\n\n/*no border*/\ngx-ide-list-selector-item[no-border] {\n border-block-start: none;\n}\n\n/*universal slot*/\n.label__universal-slot {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n/*universal slot end*/\n:host([unversal-slot-end]) {\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Element\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { Color, Size } from \"@genexus/gemini/dist/types/components/icon/icon\";\n/* CUSTOM IMPORTS */\n@Component({\n tag: \"gx-ide-list-selector-item\",\n styleUrl: \"list-selector-item.scss\",\n shadow: false\n})\nexport class GxIdeListSelectorItem {\n /*\nINDEX:\n1.OWN PROPERTIES \n2.REFERENCE TO ELEMENTS\n3.STATE() VARIABLES\n4.PUBLIC PROPERTY API | WATCH'S\n5.EVENTS (EMIT)\n6.COMPONENT LIFECYCLE METHODS\n7.LISTENERS\n8.PUBLIC METHODS API\n9.LOCAL METHODS\n10.RENDER() FUNCTION\n*/\n\n // 1.OWN PROPERTIES | WATCH'S //\n\n private parentIsListSelector: boolean;\n private parentList: HTMLGxIdeListSelectorElement;\n private checked: boolean;\n private name: string;\n private type: string;\n private hasUniversalSlot = false;\n private index: string = undefined;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeListSelectorItemElement;\n\n // 3.STATE() VARIABLES //\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * The item id\n */\n @Prop({ reflect: true }) readonly itemId!: string;\n\n /**\n * The item value, that acts as a label as well\n */\n @Prop() readonly itemValue!: string;\n\n /**\n * This will set the input as checked\n */\n @Prop({ mutable: true }) itemChecked = false;\n\n /**\n * It allows to select the item by clicking on it. It will emit the item-id\n */\n @Prop({ mutable: true, reflect: true }) readonly: boolean;\n\n /**\n * The presence of this property will force the item text to not-wrap, and have ellipsis\n */\n @Prop({ mutable: true, reflect: true }) ellipsis: boolean;\n\n /**\n * The gemini icon name\n */\n @Prop() readonly icon: string;\n\n /**\n * The gemini icon color. If no one provided, it will inherit the value from the list-selector\n */\n @Prop({ mutable: true }) iconColor: Color;\n\n /**\n * The gemini icon size. Inherited from the parent.\n */\n @Prop({ mutable: true }) iconSize: Size;\n\n /**\n * Disables the item border\n */\n @Prop({ mutable: true, reflect: true }) noBorder = false;\n\n /**\n * Displays the universal slot at the end, instead of at the benign\n */\n @Prop({ reflect: true }) readonly universalSlotEnd = false;\n\n // 5.EVENTS (EMIT) //\n\n componentWillLoad() {\n this.evaluateParentIsListSelector();\n this.evaluateType();\n this.evaluateSelectable();\n this.evaluateEllipsis();\n this.evaluateChecked();\n this.evaluateIconColor();\n this.evaluateIconSize();\n this.evaluateBorder();\n this.evaluateUniversalSlot();\n this.assignName();\n this.evaluateOrderedList();\n }\n\n /**\n * Emits the item data\n */\n @Event() itemSelectionChanged: EventEmitter<ItemData>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n /**\n * Checks if this item parentElement is a gx-ide-list-selector, and assigns a reference\n */\n private evaluateParentIsListSelector = () => {\n const parentList = this.el.parentElement as HTMLGxIdeListSelectorElement;\n this.parentIsListSelector = parentList?.nodeName === \"GX-IDE-LIST-SELECTOR\";\n this.parentIsListSelector && (this.parentList = parentList);\n };\n\n /**\n * Determines the type of item, based on the parent list-selector 'type' property value\n */\n private evaluateType = () => {\n const parentList: HTMLGxIdeListSelectorElement = this.el\n .parentElement as HTMLGxIdeListSelectorElement;\n this.type = parentList.type === \"single-selection\" ? \"radio\" : \"checkbox\";\n };\n\n /**\n * Evaluates if is selectable, considering the parent list-selector 'selectable' property value, only if it is undefined on this item\n */\n private evaluateSelectable = () => {\n if (this.readonly === undefined && this.parentIsListSelector) {\n this.readonly = this.parentList.readonly;\n }\n };\n\n /**\n * Evaluates if text should truncate with ellipsis, considering the parent list-selector 'ellipsis' property value, only if it is undefined on this item\n */\n private evaluateEllipsis = () => {\n if (this.ellipsis === undefined && this.parentIsListSelector) {\n this.ellipsis = this.parentList.ellipsis;\n }\n };\n\n /**\n * Evaluates if this item should be initially checked, only if the parent list-selector listValue equals this item value.\n */\n private evaluateChecked = () => {\n if (\n this.checked === undefined &&\n this.parentIsListSelector &&\n this.parentList.value !== undefined &&\n this.parentList.value === this.itemValue\n ) {\n this.checked = true;\n }\n };\n\n private evaluateBorder = () => {\n if (this.parentIsListSelector) {\n this.noBorder = this.parentList.noItemsBorder;\n }\n };\n\n private evaluateUniversalSlot = () => {\n this.hasUniversalSlot = !!this.el.querySelector(\"[slot=universal]\");\n };\n\n /**\n * Gets the listName required value, that is needed for the list selection to properly work\n */\n private assignName = () => {\n this.parentIsListSelector &&\n this.parentList.listName &&\n (this.name = this.parentList.listName);\n };\n\n private evaluateOrderedList = () => {\n if (this.parentIsListSelector && this.parentList.ordered) {\n let index: number | string =\n Array.from(this.parentList.children).indexOf(this.el) + 1;\n if (index < 10) {\n // This will make descriptions to be nicely aligned, between one digit, and two digit indexes items.\n index = `0${index}`;\n } else {\n index = `${index}`;\n }\n this.index = index;\n }\n };\n\n private evaluateIconColor = () => {\n this.parentIsListSelector &&\n this.parentList.iconsColor &&\n this.iconColor === undefined &&\n (this.iconColor = this.parentList.iconsColor);\n };\n\n private evaluateIconSize = () => {\n this.parentIsListSelector &&\n this.parentList.iconsSize &&\n (this.iconSize = this.parentList.iconsSize);\n };\n\n private onChangeHandler = (e: Event) => {\n this.itemChecked = (e.target as HTMLInputElement).checked;\n this.itemSelectionChanged.emit({\n itemId: this.itemId,\n itemValue: this.itemValue\n });\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host role=\"listitem\">\n <input\n type={this.type}\n id={this.itemId}\n name={this.name}\n value={this.itemValue}\n checked={this.itemChecked}\n onChange={this.onChangeHandler}\n disabled={this.readonly}\n part=\"input\"\n />\n <label class=\"label\" htmlFor={this.itemId} part=\"label\">\n <div class=\"label__wrapper\">\n {this.index ? (\n <span class=\"label__index\">{this.index}. </span>\n ) : null}\n {this.icon ? (\n <gxg-icon\n class=\"label__icon\"\n type={this.icon}\n size=\"small\"\n color={this.iconColor}\n part=\"icon\"\n ></gxg-icon>\n ) : null}\n {this.hasUniversalSlot ? (\n <span class=\"label__universal-slot\" part=\"universal-slot\">\n <slot name=\"universal\"></slot>\n </span>\n ) : null}\n <span class=\"label__description\" part=\"description\">\n {this.itemValue ? this.itemValue : <slot></slot>}\n </span>\n </div>\n </label>\n </Host>\n );\n }\n}\n\nexport type ItemData = {\n itemId: string;\n itemValue: string;\n itemIcon?: string;\n};\n"],"mappings":"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"}