@genexus/genexus-ide-ui 1.0.17 → 1.0.19

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 (483) hide show
  1. package/dist/cjs/{assets-manager-64c42a1e.js → assets-manager-a318866f.js} +143 -69
  2. package/dist/cjs/assets-manager-a318866f.js.map +1 -0
  3. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  4. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-ai-assistant.cjs.entry.js.map +1 -1
  6. package/dist/cjs/gx-ide-ai-message.cjs.entry.js +2 -2
  7. package/dist/cjs/gx-ide-ai-message.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +1 -1
  9. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js.map +1 -1
  10. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js.map +1 -1
  12. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +1 -1
  13. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js.map +1 -1
  14. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +1 -1
  15. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js.map +1 -1
  16. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +1 -1
  17. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js.map +1 -1
  18. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +1 -1
  19. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +1 -1
  21. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
  22. package/dist/cjs/gx-ide-card.cjs.entry.js +1 -1
  23. package/dist/cjs/gx-ide-card.cjs.entry.js.map +1 -1
  24. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +1 -1
  25. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
  26. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +1 -1
  27. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  28. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +3 -3
  29. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
  30. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +4 -3
  31. package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
  32. package/dist/cjs/gx-ide-design-import.cjs.entry.js +1 -1
  33. package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
  34. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +1 -1
  35. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
  36. package/dist/cjs/gx-ide-empty-state_2.cjs.entry.js +1 -1
  37. package/dist/cjs/gx-ide-empty-state_2.cjs.entry.js.map +1 -1
  38. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +3 -3
  39. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js.map +1 -1
  40. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +1 -1
  41. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
  42. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +7 -4
  43. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
  44. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +2 -2
  45. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  46. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +4 -27
  47. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
  48. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js +2 -2
  49. package/dist/cjs/gx-ide-manage-module-references-v2.cjs.entry.js.map +1 -1
  50. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js +2 -2
  51. package/dist/cjs/gx-ide-manage-module-references.cjs.entry.js.map +1 -1
  52. package/dist/cjs/gx-ide-navigation-report.cjs.entry.js +228 -0
  53. package/dist/cjs/gx-ide-navigation-report.cjs.entry.js.map +1 -0
  54. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +3 -2
  55. package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
  56. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +8 -7
  57. package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
  58. package/dist/cjs/gx-ide-new-object.cjs.entry.js +285 -169
  59. package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
  60. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +8 -7
  61. package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
  62. package/dist/cjs/gx-ide-recent-news.cjs.entry.js +3 -3
  63. package/dist/cjs/gx-ide-recent-news.cjs.entry.js.map +1 -1
  64. package/dist/cjs/gx-ide-references.cjs.entry.js +1 -1
  65. package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
  66. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
  67. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  68. package/dist/cjs/gx-ide-start-page.cjs.entry.js +4 -4
  69. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  70. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js +35 -17
  71. package/dist/cjs/gx-ide-status-buttons.cjs.entry.js.map +1 -1
  72. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +2 -2
  73. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  74. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
  75. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js.map +1 -1
  76. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
  77. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
  78. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
  79. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js.map +1 -1
  80. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +2 -2
  81. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  82. package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
  83. package/dist/cjs/gx-ide-template.cjs.entry.js.map +1 -1
  84. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +1 -1
  85. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js.map +1 -1
  86. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +396 -279
  87. package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
  88. package/dist/cjs/{helpers-b5b4a659.js → helpers-19194a5a.js} +1 -7
  89. package/dist/{genexus-ide-ui/p-c339f703.js.map → cjs/helpers-19194a5a.js.map} +1 -1
  90. package/dist/cjs/loader.cjs.js +1 -1
  91. package/dist/collection/collection-manifest.json +1 -0
  92. package/dist/collection/common/chameleon-helpers.js +7 -0
  93. package/dist/collection/common/chameleon-helpers.js.map +1 -0
  94. package/dist/collection/components/_helpers/card/card.css +8 -0
  95. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +8 -0
  96. package/dist/collection/components/_helpers/entity-selector/entity-selector.css +2 -2
  97. package/dist/collection/components/_helpers/entity-selector/entity-selector.js +1 -1
  98. package/dist/collection/components/_helpers/entity-selector/entity-selector.js.map +1 -1
  99. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.css +19 -332
  100. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +2 -64
  101. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js.map +1 -1
  102. package/dist/collection/components/_helpers/list-selector/list-selector.css +19 -9
  103. package/dist/collection/components/_helpers/list-selector/list-selector.js +2 -75
  104. package/dist/collection/components/_helpers/list-selector/list-selector.js.map +1 -1
  105. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.css +20 -61
  106. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.js +34 -17
  107. package/dist/collection/components/_helpers/status-buttons/gx-ide-status-buttons.js.map +1 -1
  108. package/dist/collection/components/_starting-template/template.css +8 -0
  109. package/dist/collection/components/ai-assistant/ai-assistant.css +8 -0
  110. package/dist/collection/components/ai-assistant/ai-message.css +1 -1
  111. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.css +16 -0
  112. package/dist/collection/components/bpm/assign-roles/bpm-assign-roles.css +8 -0
  113. package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.css +8 -0
  114. package/dist/collection/components/bpm/import-files/bpm-import-files.css +8 -0
  115. package/dist/collection/components/bpm/import-gxpm/bpm-import-gxpm.css +8 -0
  116. package/dist/collection/components/bpm/objects-selector/bpm-objects-selector.css +8 -0
  117. package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.css +8 -0
  118. package/dist/collection/components/connect-gx-server/connect-gx-server.css +8 -0
  119. package/dist/collection/components/create-kb-from-server/create-kb-from-server.css +8 -0
  120. package/dist/collection/components/dashboard-home/dashboard-home.css +8 -0
  121. package/dist/collection/components/data-selector/data-selector.css +8 -0
  122. package/dist/collection/components/data-selector/data-selector.js +2 -1
  123. package/dist/collection/components/data-selector/data-selector.js.map +1 -1
  124. package/dist/collection/components/design-import/design-import.css +8 -0
  125. package/dist/collection/components/gam-installation-settings/gam-installation-settings.css +8 -0
  126. package/dist/collection/components/kb-manager-export/kb-manager-export.js +6 -3
  127. package/dist/collection/components/kb-manager-export/kb-manager-export.js.map +1 -1
  128. package/dist/collection/components/kb-manager-import/kb-manager-import.css +16 -0
  129. package/dist/collection/components/modules/edit-module-server/edit-module-server.css +8 -0
  130. package/dist/collection/components/modules/manage-module-references/manage-module-references.css +8 -0
  131. package/dist/collection/components/modules/manage-module-references-v2/manage-module-references.css +8 -0
  132. package/dist/collection/components/navigation-report/gx-ide-assets/navigation-report/langs/navigation-report.lang.en.json +6 -0
  133. package/dist/collection/components/navigation-report/gx-ide-assets/navigation-report/langs/navigation-report.lang.ja.json +3 -0
  134. package/dist/collection/components/navigation-report/gx-ide-assets/navigation-report/langs/navigation-report.lang.zh.json +3 -0
  135. package/dist/collection/components/navigation-report/helpers.js +17 -0
  136. package/dist/collection/components/navigation-report/helpers.js.map +1 -0
  137. package/dist/collection/components/navigation-report/navigation-report.css +75 -0
  138. package/dist/collection/components/navigation-report/navigation-report.js +407 -0
  139. package/dist/collection/components/navigation-report/navigation-report.js.map +1 -0
  140. package/dist/collection/components/new-environment/new-environment.js +2 -1
  141. package/dist/collection/components/new-environment/new-environment.js.map +1 -1
  142. package/dist/collection/components/new-kb/new-kb.js +7 -6
  143. package/dist/collection/components/new-kb/new-kb.js.map +1 -1
  144. package/dist/collection/components/new-object/gx-ide-assets/new-object/langs/new-object.lang.en.json +2 -0
  145. package/dist/collection/components/new-object/gx-ide-assets/new-object/shortcuts.json +3 -3
  146. package/dist/collection/components/new-object/helpers.js +33 -0
  147. package/dist/collection/components/new-object/helpers.js.map +1 -0
  148. package/dist/collection/components/new-object/new-object.css +22 -622
  149. package/dist/collection/components/new-object/new-object.js +349 -296
  150. package/dist/collection/components/new-object/new-object.js.map +1 -1
  151. package/dist/collection/components/object-selector/object-selector.css +8 -0
  152. package/dist/collection/components/object-selector/object-selector.js +5 -4
  153. package/dist/collection/components/object-selector/object-selector.js.map +1 -1
  154. package/dist/collection/components/references/references.css +8 -0
  155. package/dist/collection/components/share-kb/share-kb.css +8 -0
  156. package/dist/collection/components/start-page/recent-news.css +9 -1
  157. package/dist/collection/components/start-page/start-page.css +9 -1
  158. package/dist/collection/components/start-page/start-page.js +1 -1
  159. package/dist/collection/components/start-page/start-page.js.map +1 -1
  160. package/dist/collection/components/team-dev/commit/commit.css +16 -0
  161. package/dist/collection/components/team-dev/select-recent-comment/select-recent-comment.css +8 -0
  162. package/dist/collection/components/team-dev/update/update.css +16 -0
  163. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +8 -0
  164. package/dist/collection/components/team-dev/update-to-revision/update-to-revision.css +8 -0
  165. package/dist/collection/components/wf-settings/wf-settings.css +8 -0
  166. package/dist/collection/components/ww-images/gx-ide-assets/ww-images/langs/ww-images.lang.en.json +7 -3
  167. package/dist/collection/components/ww-images/gx-ide-assets/ww-images/langs/ww-images.lang.ja.json +8 -4
  168. package/dist/collection/components/ww-images/helpers.js +11 -0
  169. package/dist/collection/components/ww-images/helpers.js.map +1 -0
  170. package/dist/collection/components/ww-images/ww-images.css +90 -712
  171. package/dist/collection/components/ww-images/ww-images.js +465 -413
  172. package/dist/collection/components/ww-images/ww-images.js.map +1 -1
  173. package/dist/components/ai-message.js +1 -1
  174. package/dist/components/ai-message.js.map +1 -1
  175. package/dist/components/assets-manager.js +142 -68
  176. package/dist/components/assets-manager.js.map +1 -1
  177. package/dist/components/bpm-objects-selector.js +1 -1
  178. package/dist/components/bpm-objects-selector.js.map +1 -1
  179. package/dist/components/entity-selector.js +2 -2
  180. package/dist/components/entity-selector.js.map +1 -1
  181. package/dist/components/gx-ide-ai-assistant.js +1 -1
  182. package/dist/components/gx-ide-ai-assistant.js.map +1 -1
  183. package/dist/components/gx-ide-bpm-app-declaration.js +1 -1
  184. package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
  185. package/dist/components/gx-ide-bpm-assign-roles.js +1 -1
  186. package/dist/components/gx-ide-bpm-assign-roles.js.map +1 -1
  187. package/dist/components/gx-ide-bpm-export-xpdl.js +1 -1
  188. package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
  189. package/dist/components/gx-ide-bpm-import-files.js +1 -1
  190. package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
  191. package/dist/components/gx-ide-bpm-import-gxpm.js +1 -1
  192. package/dist/components/gx-ide-bpm-import-gxpm.js.map +1 -1
  193. package/dist/components/gx-ide-bpm-timer-duration.js +1 -1
  194. package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
  195. package/dist/components/gx-ide-card.js +1 -1
  196. package/dist/components/gx-ide-card.js.map +1 -1
  197. package/dist/components/gx-ide-connect-gx-server.js +1 -1
  198. package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
  199. package/dist/components/gx-ide-create-kb-from-server.js +1 -1
  200. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  201. package/dist/components/gx-ide-dashboard-home.js +1 -1
  202. package/dist/components/gx-ide-dashboard-home.js.map +1 -1
  203. package/dist/components/gx-ide-data-selector.js +3 -2
  204. package/dist/components/gx-ide-data-selector.js.map +1 -1
  205. package/dist/components/gx-ide-design-import.js +1 -1
  206. package/dist/components/gx-ide-design-import.js.map +1 -1
  207. package/dist/components/gx-ide-edit-module-server.js +1 -1
  208. package/dist/components/gx-ide-edit-module-server.js.map +1 -1
  209. package/dist/components/gx-ide-empty-state2.js +1 -1
  210. package/dist/components/gx-ide-empty-state2.js.map +1 -1
  211. package/dist/components/gx-ide-gam-installation-settings.js +1 -1
  212. package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
  213. package/dist/components/gx-ide-kb-manager-export.js +6 -3
  214. package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
  215. package/dist/components/gx-ide-kb-manager-import.js +1 -1
  216. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  217. package/dist/components/gx-ide-manage-module-references-v2.js +1 -1
  218. package/dist/components/gx-ide-manage-module-references-v2.js.map +1 -1
  219. package/dist/components/gx-ide-manage-module-references.js +1 -1
  220. package/dist/components/gx-ide-manage-module-references.js.map +1 -1
  221. package/dist/components/gx-ide-navigation-report.d.ts +11 -0
  222. package/dist/components/gx-ide-navigation-report.js +279 -0
  223. package/dist/components/gx-ide-navigation-report.js.map +1 -0
  224. package/dist/components/gx-ide-new-environment.js +2 -1
  225. package/dist/components/gx-ide-new-environment.js.map +1 -1
  226. package/dist/components/gx-ide-new-kb.js +7 -6
  227. package/dist/components/gx-ide-new-kb.js.map +1 -1
  228. package/dist/components/gx-ide-new-object.js +299 -192
  229. package/dist/components/gx-ide-new-object.js.map +1 -1
  230. package/dist/components/gx-ide-object-selector.js +6 -5
  231. package/dist/components/gx-ide-object-selector.js.map +1 -1
  232. package/dist/components/gx-ide-references.js +1 -1
  233. package/dist/components/gx-ide-references.js.map +1 -1
  234. package/dist/components/gx-ide-share-kb.js +1 -1
  235. package/dist/components/gx-ide-share-kb.js.map +1 -1
  236. package/dist/components/gx-ide-start-page.js +2 -2
  237. package/dist/components/gx-ide-start-page.js.map +1 -1
  238. package/dist/components/gx-ide-status-buttons2.js +35 -17
  239. package/dist/components/gx-ide-status-buttons2.js.map +1 -1
  240. package/dist/components/gx-ide-team-dev-commit.js +1 -1
  241. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  242. package/dist/components/gx-ide-team-dev-select-recent-comment.js +1 -1
  243. package/dist/components/gx-ide-team-dev-select-recent-comment.js.map +1 -1
  244. package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
  245. package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
  246. package/dist/components/gx-ide-team-dev-update-to-revision.js +1 -1
  247. package/dist/components/gx-ide-team-dev-update-to-revision.js.map +1 -1
  248. package/dist/components/gx-ide-team-dev-update.js +1 -1
  249. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  250. package/dist/components/gx-ide-template.js +1 -1
  251. package/dist/components/gx-ide-template.js.map +1 -1
  252. package/dist/components/gx-ide-wf-settings.js +1 -1
  253. package/dist/components/gx-ide-wf-settings.js.map +1 -1
  254. package/dist/components/gx-ide-ww-images.js +419 -306
  255. package/dist/components/gx-ide-ww-images.js.map +1 -1
  256. package/dist/components/helpers.js +1 -6
  257. package/dist/components/helpers.js.map +1 -1
  258. package/dist/components/list-selector-item.js +2 -19
  259. package/dist/components/list-selector-item.js.map +1 -1
  260. package/dist/components/list-selector.js +2 -13
  261. package/dist/components/list-selector.js.map +1 -1
  262. package/dist/components/recent-news.js +1 -1
  263. package/dist/components/recent-news.js.map +1 -1
  264. package/dist/esm/{assets-manager-120996e9.js → assets-manager-5ac25bb6.js} +143 -69
  265. package/dist/esm/assets-manager-5ac25bb6.js.map +1 -0
  266. package/dist/esm/genexus-ide-ui.js +1 -1
  267. package/dist/esm/gx-ide-ai-assistant.entry.js +1 -1
  268. package/dist/esm/gx-ide-ai-assistant.entry.js.map +1 -1
  269. package/dist/esm/gx-ide-ai-message.entry.js +2 -2
  270. package/dist/esm/gx-ide-ai-message.entry.js.map +1 -1
  271. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
  272. package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
  273. package/dist/esm/gx-ide-bpm-assign-roles.entry.js +1 -1
  274. package/dist/esm/gx-ide-bpm-assign-roles.entry.js.map +1 -1
  275. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +1 -1
  276. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
  277. package/dist/esm/gx-ide-bpm-import-files.entry.js +1 -1
  278. package/dist/esm/gx-ide-bpm-import-files.entry.js.map +1 -1
  279. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +1 -1
  280. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js.map +1 -1
  281. package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
  282. package/dist/esm/gx-ide-bpm-objects-selector.entry.js.map +1 -1
  283. package/dist/esm/gx-ide-bpm-timer-duration.entry.js +1 -1
  284. package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
  285. package/dist/esm/gx-ide-card.entry.js +1 -1
  286. package/dist/esm/gx-ide-card.entry.js.map +1 -1
  287. package/dist/esm/gx-ide-connect-gx-server.entry.js +1 -1
  288. package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
  289. package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
  290. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  291. package/dist/esm/gx-ide-dashboard-home.entry.js +3 -3
  292. package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
  293. package/dist/esm/gx-ide-data-selector.entry.js +4 -3
  294. package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
  295. package/dist/esm/gx-ide-design-import.entry.js +1 -1
  296. package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
  297. package/dist/esm/gx-ide-edit-module-server.entry.js +1 -1
  298. package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
  299. package/dist/esm/gx-ide-empty-state_2.entry.js +1 -1
  300. package/dist/esm/gx-ide-empty-state_2.entry.js.map +1 -1
  301. package/dist/esm/gx-ide-entity-selector.entry.js +3 -3
  302. package/dist/esm/gx-ide-entity-selector.entry.js.map +1 -1
  303. package/dist/esm/gx-ide-gam-installation-settings.entry.js +1 -1
  304. package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
  305. package/dist/esm/gx-ide-kb-manager-export.entry.js +7 -4
  306. package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
  307. package/dist/esm/gx-ide-kb-manager-import.entry.js +2 -2
  308. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  309. package/dist/esm/gx-ide-list-selector_2.entry.js +4 -27
  310. package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
  311. package/dist/esm/gx-ide-manage-module-references-v2.entry.js +2 -2
  312. package/dist/esm/gx-ide-manage-module-references-v2.entry.js.map +1 -1
  313. package/dist/esm/gx-ide-manage-module-references.entry.js +2 -2
  314. package/dist/esm/gx-ide-manage-module-references.entry.js.map +1 -1
  315. package/dist/esm/gx-ide-navigation-report.entry.js +224 -0
  316. package/dist/esm/gx-ide-navigation-report.entry.js.map +1 -0
  317. package/dist/esm/gx-ide-new-environment.entry.js +3 -2
  318. package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
  319. package/dist/esm/gx-ide-new-kb.entry.js +8 -7
  320. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  321. package/dist/esm/gx-ide-new-object.entry.js +285 -169
  322. package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
  323. package/dist/esm/gx-ide-object-selector.entry.js +8 -7
  324. package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
  325. package/dist/esm/gx-ide-recent-news.entry.js +3 -3
  326. package/dist/esm/gx-ide-recent-news.entry.js.map +1 -1
  327. package/dist/esm/gx-ide-references.entry.js +1 -1
  328. package/dist/esm/gx-ide-references.entry.js.map +1 -1
  329. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  330. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  331. package/dist/esm/gx-ide-start-page.entry.js +4 -4
  332. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  333. package/dist/esm/gx-ide-status-buttons.entry.js +35 -17
  334. package/dist/esm/gx-ide-status-buttons.entry.js.map +1 -1
  335. package/dist/esm/gx-ide-team-dev-commit.entry.js +2 -2
  336. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  337. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
  338. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js.map +1 -1
  339. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
  340. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
  341. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
  342. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js.map +1 -1
  343. package/dist/esm/gx-ide-team-dev-update.entry.js +2 -2
  344. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  345. package/dist/esm/gx-ide-template.entry.js +1 -1
  346. package/dist/esm/gx-ide-template.entry.js.map +1 -1
  347. package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
  348. package/dist/esm/gx-ide-wf-settings.entry.js.map +1 -1
  349. package/dist/esm/gx-ide-ww-images.entry.js +396 -279
  350. package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
  351. package/dist/esm/{helpers-64e1dd0b.js → helpers-9ee6ddce.js} +2 -7
  352. package/dist/esm/helpers-9ee6ddce.js.map +1 -0
  353. package/dist/esm/loader.js +1 -1
  354. package/dist/genexus-ide-ui/genexus-ide-ui.css +1 -1
  355. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  356. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  357. package/dist/genexus-ide-ui/gx-ide-assets/navigation-report/langs/navigation-report.lang.en.json +6 -0
  358. package/dist/genexus-ide-ui/gx-ide-assets/navigation-report/langs/navigation-report.lang.ja.json +3 -0
  359. package/dist/genexus-ide-ui/gx-ide-assets/navigation-report/langs/navigation-report.lang.zh.json +3 -0
  360. package/dist/genexus-ide-ui/gx-ide-assets/new-object/langs/new-object.lang.en.json +2 -0
  361. package/dist/genexus-ide-ui/gx-ide-assets/new-object/shortcuts.json +3 -3
  362. package/dist/genexus-ide-ui/gx-ide-assets/ww-images/langs/ww-images.lang.en.json +7 -3
  363. package/dist/genexus-ide-ui/gx-ide-assets/ww-images/langs/ww-images.lang.ja.json +8 -4
  364. package/dist/genexus-ide-ui/{p-faa6fc25.entry.js → p-01581437.entry.js} +2 -2
  365. package/dist/genexus-ide-ui/{p-eb52d685.entry.js → p-037ea55d.entry.js} +2 -2
  366. package/dist/genexus-ide-ui/{p-35c9edc0.entry.js → p-0576a392.entry.js} +6 -6
  367. package/dist/genexus-ide-ui/{p-35c9edc0.entry.js.map → p-0576a392.entry.js.map} +1 -1
  368. package/dist/genexus-ide-ui/{p-c339f703.js → p-066028bc.js} +8 -14
  369. package/dist/genexus-ide-ui/p-066028bc.js.map +1 -0
  370. package/dist/genexus-ide-ui/{p-6df9fab1.js → p-0b0ce806.js} +143 -69
  371. package/dist/genexus-ide-ui/p-0b0ce806.js.map +1 -0
  372. package/dist/genexus-ide-ui/{p-1ad7189f.entry.js → p-0d5fc7ca.entry.js} +2 -2
  373. package/dist/genexus-ide-ui/{p-8b9cf93c.entry.js → p-1ced155b.entry.js} +4 -4
  374. package/dist/genexus-ide-ui/p-1ced155b.entry.js.map +1 -0
  375. package/dist/genexus-ide-ui/{p-e4cbd23c.entry.js → p-1f37f5b5.entry.js} +3 -3
  376. package/dist/genexus-ide-ui/{p-85f7f92d.entry.js → p-20389960.entry.js} +4 -4
  377. package/dist/genexus-ide-ui/p-2465307a.entry.js +418 -0
  378. package/dist/genexus-ide-ui/p-2465307a.entry.js.map +1 -0
  379. package/dist/genexus-ide-ui/{p-ad92d701.entry.js → p-26b2037d.entry.js} +2 -2
  380. package/dist/genexus-ide-ui/{p-4546fa05.entry.js → p-278afab1.entry.js} +4 -4
  381. package/dist/genexus-ide-ui/p-2dd09b01.entry.js +265 -0
  382. package/dist/genexus-ide-ui/p-2dd09b01.entry.js.map +1 -0
  383. package/dist/genexus-ide-ui/{p-36cfb4c0.entry.js → p-352d4aad.entry.js} +36 -36
  384. package/dist/genexus-ide-ui/p-352d4aad.entry.js.map +1 -0
  385. package/dist/genexus-ide-ui/{p-58e33dda.entry.js → p-3f5ea8bf.entry.js} +34 -34
  386. package/dist/genexus-ide-ui/p-3f5ea8bf.entry.js.map +1 -0
  387. package/dist/genexus-ide-ui/{p-edffe8d7.entry.js → p-3f9f8691.entry.js} +2 -2
  388. package/dist/genexus-ide-ui/{p-a5d5fb4d.entry.js → p-44d779c9.entry.js} +8 -8
  389. package/dist/genexus-ide-ui/p-44d779c9.entry.js.map +1 -0
  390. package/dist/genexus-ide-ui/{p-5bff0103.entry.js → p-4ce0a85e.entry.js} +3 -3
  391. package/dist/genexus-ide-ui/p-4ce0a85e.entry.js.map +1 -0
  392. package/dist/genexus-ide-ui/{p-d703bff2.entry.js → p-60cd6b09.entry.js} +3 -3
  393. package/dist/genexus-ide-ui/p-62efd8f2.entry.js +712 -0
  394. package/dist/genexus-ide-ui/p-62efd8f2.entry.js.map +1 -0
  395. package/dist/genexus-ide-ui/{p-c484250c.entry.js → p-68605d06.entry.js} +20 -20
  396. package/dist/genexus-ide-ui/{p-dbfddffd.entry.js → p-69b88e9f.entry.js} +35 -23
  397. package/dist/genexus-ide-ui/p-69b88e9f.entry.js.map +1 -0
  398. package/dist/genexus-ide-ui/{p-e0da6770.entry.js → p-7bbefdcc.entry.js} +2 -2
  399. package/dist/genexus-ide-ui/{p-1d56cc71.entry.js → p-82032e9c.entry.js} +2 -2
  400. package/dist/genexus-ide-ui/{p-b967c6e3.entry.js → p-9346bb01.entry.js} +2 -2
  401. package/dist/genexus-ide-ui/{p-a7be549c.entry.js → p-95c31c66.entry.js} +2 -2
  402. package/dist/genexus-ide-ui/{p-241f3d69.entry.js → p-98b5b178.entry.js} +2 -2
  403. package/dist/genexus-ide-ui/{p-e54bdad1.entry.js → p-9efea53c.entry.js} +12 -12
  404. package/dist/genexus-ide-ui/p-9efea53c.entry.js.map +1 -0
  405. package/dist/genexus-ide-ui/{p-424ed874.entry.js → p-acf0cbac.entry.js} +3 -3
  406. package/dist/genexus-ide-ui/{p-bb1d0ab8.entry.js → p-b113c5b4.entry.js} +5 -5
  407. package/dist/genexus-ide-ui/{p-7f08a5f8.entry.js → p-b1f6fdd6.entry.js} +2 -2
  408. package/dist/genexus-ide-ui/{p-a29d27ed.entry.js → p-b3a336b8.entry.js} +2 -2
  409. package/dist/genexus-ide-ui/p-b785673d.entry.js +683 -0
  410. package/dist/genexus-ide-ui/{p-9a9fdfc0.entry.js → p-bfbce8fb.entry.js} +2 -2
  411. package/dist/genexus-ide-ui/{p-70588f0b.entry.js → p-c2c6f3f0.entry.js} +2 -2
  412. package/dist/genexus-ide-ui/{p-23c9b4e6.entry.js → p-c36effd2.entry.js} +13 -13
  413. package/dist/genexus-ide-ui/p-c36effd2.entry.js.map +1 -0
  414. package/dist/genexus-ide-ui/{p-99d52e11.entry.js → p-c4d1d0ce.entry.js} +3 -3
  415. package/dist/genexus-ide-ui/{p-4bf55012.entry.js → p-d5d0ed5e.entry.js} +2 -2
  416. package/dist/genexus-ide-ui/p-de59d495.entry.js +273 -0
  417. package/dist/genexus-ide-ui/p-de59d495.entry.js.map +1 -0
  418. package/dist/genexus-ide-ui/{p-c10d7879.entry.js → p-dffecb40.entry.js} +2 -2
  419. package/dist/genexus-ide-ui/{p-dbf8b06e.entry.js → p-e7bb68ec.entry.js} +2 -2
  420. package/dist/genexus-ide-ui/{p-d1a76638.entry.js → p-ec6ea5d2.entry.js} +2 -2
  421. package/dist/genexus-ide-ui/{p-15711eed.entry.js → p-f471d180.entry.js} +2 -2
  422. package/dist/genexus-ide-ui/{p-89a7d88f.entry.js → p-fc64d088.entry.js} +2 -2
  423. package/dist/types/common/chameleon-helpers.d.ts +5 -0
  424. package/dist/types/components/_helpers/list-selector/list-selector-item/list-selector-item.d.ts +0 -11
  425. package/dist/types/components/_helpers/list-selector/list-selector.d.ts +0 -13
  426. package/dist/types/components/_helpers/status-buttons/gx-ide-status-buttons.d.ts +1 -4
  427. package/dist/types/components/navigation-report/helpers.d.ts +5 -0
  428. package/dist/types/components/navigation-report/navigation-report.d.ts +88 -0
  429. package/dist/types/components/new-object/helpers.d.ts +6 -0
  430. package/dist/types/components/new-object/new-object.d.ts +42 -75
  431. package/dist/types/components/ww-images/helpers.d.ts +3 -0
  432. package/dist/types/components/ww-images/ww-images.d.ts +98 -118
  433. package/dist/types/components.d.ts +152 -150
  434. package/package.json +5 -5
  435. package/dist/cjs/assets-manager-64c42a1e.js.map +0 -1
  436. package/dist/cjs/helpers-b5b4a659.js.map +0 -1
  437. package/dist/esm/assets-manager-120996e9.js.map +0 -1
  438. package/dist/esm/helpers-64e1dd0b.js.map +0 -1
  439. package/dist/genexus-ide-ui/p-23c9b4e6.entry.js.map +0 -1
  440. package/dist/genexus-ide-ui/p-36cfb4c0.entry.js.map +0 -1
  441. package/dist/genexus-ide-ui/p-58e33dda.entry.js.map +0 -1
  442. package/dist/genexus-ide-ui/p-5bff0103.entry.js.map +0 -1
  443. package/dist/genexus-ide-ui/p-6df9fab1.js.map +0 -1
  444. package/dist/genexus-ide-ui/p-88fff4f3.entry.js +0 -344
  445. package/dist/genexus-ide-ui/p-88fff4f3.entry.js.map +0 -1
  446. package/dist/genexus-ide-ui/p-8b9cf93c.entry.js.map +0 -1
  447. package/dist/genexus-ide-ui/p-8da18e59.entry.js +0 -287
  448. package/dist/genexus-ide-ui/p-8da18e59.entry.js.map +0 -1
  449. package/dist/genexus-ide-ui/p-a5d5fb4d.entry.js.map +0 -1
  450. package/dist/genexus-ide-ui/p-be640a8a.entry.js +0 -611
  451. package/dist/genexus-ide-ui/p-be640a8a.entry.js.map +0 -1
  452. package/dist/genexus-ide-ui/p-c2fdb419.entry.js +0 -683
  453. package/dist/genexus-ide-ui/p-dbfddffd.entry.js.map +0 -1
  454. package/dist/genexus-ide-ui/p-e54bdad1.entry.js.map +0 -1
  455. /package/dist/genexus-ide-ui/{p-faa6fc25.entry.js.map → p-01581437.entry.js.map} +0 -0
  456. /package/dist/genexus-ide-ui/{p-eb52d685.entry.js.map → p-037ea55d.entry.js.map} +0 -0
  457. /package/dist/genexus-ide-ui/{p-1ad7189f.entry.js.map → p-0d5fc7ca.entry.js.map} +0 -0
  458. /package/dist/genexus-ide-ui/{p-e4cbd23c.entry.js.map → p-1f37f5b5.entry.js.map} +0 -0
  459. /package/dist/genexus-ide-ui/{p-85f7f92d.entry.js.map → p-20389960.entry.js.map} +0 -0
  460. /package/dist/genexus-ide-ui/{p-ad92d701.entry.js.map → p-26b2037d.entry.js.map} +0 -0
  461. /package/dist/genexus-ide-ui/{p-4546fa05.entry.js.map → p-278afab1.entry.js.map} +0 -0
  462. /package/dist/genexus-ide-ui/{p-edffe8d7.entry.js.map → p-3f9f8691.entry.js.map} +0 -0
  463. /package/dist/genexus-ide-ui/{p-d703bff2.entry.js.map → p-60cd6b09.entry.js.map} +0 -0
  464. /package/dist/genexus-ide-ui/{p-c484250c.entry.js.map → p-68605d06.entry.js.map} +0 -0
  465. /package/dist/genexus-ide-ui/{p-e0da6770.entry.js.map → p-7bbefdcc.entry.js.map} +0 -0
  466. /package/dist/genexus-ide-ui/{p-1d56cc71.entry.js.map → p-82032e9c.entry.js.map} +0 -0
  467. /package/dist/genexus-ide-ui/{p-b967c6e3.entry.js.map → p-9346bb01.entry.js.map} +0 -0
  468. /package/dist/genexus-ide-ui/{p-a7be549c.entry.js.map → p-95c31c66.entry.js.map} +0 -0
  469. /package/dist/genexus-ide-ui/{p-241f3d69.entry.js.map → p-98b5b178.entry.js.map} +0 -0
  470. /package/dist/genexus-ide-ui/{p-424ed874.entry.js.map → p-acf0cbac.entry.js.map} +0 -0
  471. /package/dist/genexus-ide-ui/{p-bb1d0ab8.entry.js.map → p-b113c5b4.entry.js.map} +0 -0
  472. /package/dist/genexus-ide-ui/{p-7f08a5f8.entry.js.map → p-b1f6fdd6.entry.js.map} +0 -0
  473. /package/dist/genexus-ide-ui/{p-a29d27ed.entry.js.map → p-b3a336b8.entry.js.map} +0 -0
  474. /package/dist/genexus-ide-ui/{p-c2fdb419.entry.js.map → p-b785673d.entry.js.map} +0 -0
  475. /package/dist/genexus-ide-ui/{p-9a9fdfc0.entry.js.map → p-bfbce8fb.entry.js.map} +0 -0
  476. /package/dist/genexus-ide-ui/{p-70588f0b.entry.js.map → p-c2c6f3f0.entry.js.map} +0 -0
  477. /package/dist/genexus-ide-ui/{p-99d52e11.entry.js.map → p-c4d1d0ce.entry.js.map} +0 -0
  478. /package/dist/genexus-ide-ui/{p-4bf55012.entry.js.map → p-d5d0ed5e.entry.js.map} +0 -0
  479. /package/dist/genexus-ide-ui/{p-c10d7879.entry.js.map → p-dffecb40.entry.js.map} +0 -0
  480. /package/dist/genexus-ide-ui/{p-dbf8b06e.entry.js.map → p-e7bb68ec.entry.js.map} +0 -0
  481. /package/dist/genexus-ide-ui/{p-d1a76638.entry.js.map → p-ec6ea5d2.entry.js.map} +0 -0
  482. /package/dist/genexus-ide-ui/{p-15711eed.entry.js.map → p-f471d180.entry.js.map} +0 -0
  483. /package/dist/genexus-ide-ui/{p-89a7d88f.entry.js.map → p-fc64d088.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"gx-ide-kb-manager-import.entry.cjs.js","mappings":";;;;;;;;;AAMA;AACO,MAAM,SAAS,GAAG,QAAQ,CAAC;AAC3B,MAAM,WAAW,GAAG,UAAU,CAAC;AAEtC,MAAM,2BAA2B,GAAG,CAClC,aAAqB,EACrB,WAA6B;IAE7B,MAAM,eAAe,GAAwB,EAAE,CAAC;IAChD,WAAW,CAAC,OAAO,CAAC,UAAU;QAC5B,eAAe,CAAC,IAAI,CAAC;YACnB,EAAE,EAAE,UAAU,CAAC,EAAE;YACjB,OAAO,EAAE,UAAU,CAAC,IAAI;YACxB,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,IAAI;YACV,WAAW,EAAE,aAAa;YAC1B,QAAQ,EAAE,SAAS;SACpB,CAAC,CAAC;KACJ,CAAC,CAAC;IACH,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF;;;AAGO,MAAM,+BAA+B,GAAG,CAC7C,kBAAwC;IAExC,MAAM,QAAQ,GAAwB,EAAE,CAAC;IACzC,IAAI,CAAC,kBAAkB,EAAE;QACvB,OAAO,QAAQ,CAAC;KACjB;IACD,kBAAkB,CAAC,OAAO,CAAC,SAAS;QAClC,MAAM,sBAAsB,GAAsB;YAChD,EAAE,EAAE,SAAS,CAAC,EAAE;YAChB,OAAO,EAAE,GAAG,SAAS,CAAC,IAAI,KAAK,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG;YACxD,QAAQ,EAAE,IAAI;YACd,IAAI,EAAE,KAAK;YACX,WAAW,EAAE,SAAS,CAAC,IAAI;YAC3B,QAAQ,EAAE,WAAW;YACrB,KAAK,EAAE,2BAA2B,CAAC,SAAS,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC;SACpE,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;KACvC,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,8BAA8B,GAAG,CACrC,YAAoB,EACpB,aAAuB;IAEvB,MAAM,QAAQ,GAAwB,EAAE,CAAC;IACzC,aAAa,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;QAC/B,QAAQ,CAAC,IAAI,CAAC;YACZ,EAAE,EAAE,GAAG,YAAY,YAAY,CAAC,IAAI;YACpC,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,mCAAmC;YAChD,IAAI,EAAE,IAAI;SACX,CAAC,CAAC;KACJ,CAAC,CAAC;IACH,OAAO,QAAQ,CAAC;AAClB,CAAC,CAAC;AAEF,MAAM,sBAAsB,GAAG,CAC7B,wBAAkD,EAClD,qBAA0C;;IAE1C,MAAM,mBAAmB,GAAG,qBAAqB,CAAC,SAAS,CACzD,kBAAkB;QAChB,OAAO,kBAAkB,CAAC,EAAE,KAAK,wBAAwB,CAAC,UAAU,CAAC;KACtE,CACF,CAAC;IACF,IAAI,mBAAmB,KAAK,CAAC,CAAC,EAAE;;QAE9B,MAAM,cAAc,GAAsB;YACxC,EAAE,EAAE,wBAAwB,CAAC,UAAU;;YAEvC,OAAO,EAAE,GAAG,wBAAwB,CAAC,YAAY,MAAM;YACvD,WAAW,EAAE,wBAAwB,CAAC,YAAY;YAClD,QAAQ,EAAE,IAAI;YACd,KAAK,EAAE;gBACL;oBACE,EAAE,EAAE,wBAAwB,CAAC,EAAE;oBAC/B,OAAO,EAAE,wBAAwB,CAAC,IAAI;oBACtC,KAAK,EAAE,8BAA8B,CACnC,wBAAwB,CAAC,EAAE,EAC3B,wBAAwB,CAAC,QAAQ,CAClC;oBACD,KAAK,EAAE,yDAAyD,wBAAwB,CAAC,MAAM,EAAE;oBACjG,QAAQ,EAAE,IAAI;oBACd,IAAI,EAAE,wBAAwB,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;oBACpD,QAAQ,EAAE,wBAAwB,CAAC,MAAM,CAAC,QAAQ,EAAE;iBACrD;aACF;SACF,CAAC;QACF,qBAAqB,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;KAC5C;SAAM;;;QAIL,MAAM,eAAe,GAAG,MAAA,qBAAqB,CAC3C,mBAAmB,CACpB,CAAC,KAAK,0CAAE,SAAS,CAAC,UAAU;YAC3B,OAAO,UAAU,CAAC,EAAE,KAAK,wBAAwB,CAAC,EAAE,CAAC;SACtD,CAAC,CAAC;QAEH,IAAI,eAAe,KAAK,CAAC,CAAC,EAAE;;YAE1B,MAAM,cAAc,GAAsB;gBACxC,EAAE,EAAE,wBAAwB,CAAC,EAAE;gBAC/B,OAAO,EAAE,wBAAwB,CAAC,IAAI;gBACtC,QAAQ,EAAE,IAAI;gBACd,KAAK,EAAE,8BAA8B,CACnC,wBAAwB,CAAC,EAAE,EAC3B,wBAAwB,CAAC,QAAQ,CAClC;gBACD,KAAK,EAAE,yDAAyD,wBAAwB,CAAC,MAAM,EAAE;gBACjG,QAAQ,EAAE,wBAAwB,CAAC,MAAM,CAAC,QAAQ,EAAE;aACrD,CAAC;;YAEF,qBAAqB,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;;YAEtE,qBAAqB,CACnB,mBAAmB,CACpB,CAAC,OAAO,GAAG,GAAG,wBAAwB,CAAC,YAAY,KAAK,qBAAqB,CAAC,mBAAmB,CAAC,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;SACrH;KACF;IACD,OAAO,qBAAqB,CAAC;AAC/B,CAAC,CAAC;AAEF;;;AAGA,MAAM,0BAA0B,GAAG,CACjC,oBAA0C,EAC1C,kBAAwC;IAExC,MAAM,sBAAsB,mBAC1B,UAAU,EAAE,SAAS,EACrB,YAAY,EAAE,SAAS,EACvB,YAAY,EAAE,SAAS,IACpB,oBAAoB,CACxB,CAAC;IACF,qBAAqB,EAAE,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,kBAAkB,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACzE,MAAM,YAAY,GAAG,kBAAkB,CAAC,CAAC,CAAC,CAAC;QAC3C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,YAAY,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YAClD,IAAI,YAAY,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,EAAE,KAAK,oBAAoB,CAAC,EAAE,EAAE;gBACxD,sBAAsB,CAAC,UAAU,GAAG,YAAY,CAAC,EAAE,CAAC;gBACpD,sBAAsB,CAAC,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC;gBACxD,sBAAsB,CAAC,YAAY,GAAG,YAAY,CAAC,IAAI,CAAC;gBACxD,MAAM,qBAAqB,CAAC;aAC7B;SACF;KACF;IACD,OAAO,sBAAsB,CAAC;AAChC,CAAC,CAAC;AAEF;;;AAGO,MAAM,2BAA2B,GAAG,CACzC,oBAA0C,EAC1C,kBAAwC,EACxC,qBAA0C;IAE1C,IAAI,uBAAuB,GAAwB,CAAC,GAAG,qBAAqB,CAAC,CAAC;;IAE9E,MAAM,wBAAwB,GAC5B,0BAA0B,CAAC,oBAAoB,EAAE,kBAAkB,CAAC,CAAC;IACvE,uBAAuB,GAAG,sBAAsB,CAC9C,wBAAwB,EACxB,uBAAuB,CACxB,CAAC;IACF,OAAO,uBAAuB,CAAC;AACjC,CAAC;;ACpLD,MAAM,kBAAkB,GAAG,o8/EAAo8/E;;ACyC/9/E,MAAM,WAAW,GAAmB;IAClC,mBAAmB;IACnB,YAAY;IACZ,cAAc;IACd,kBAAkB;IAClB,mBAAmB;IACnB,qBAAqB;IACrB,iBAAiB;IACjB,sBAAsB;CACvB,CAAC;MAQW,oBAAoB;;;;;QAOvB,sBAAiB,GAAG,KAAK,CAAC;;QAE1B,uBAAkB,GAAyB,EAAE,CAAC;QAC9C,4BAAuB,GAAG,CAAC,CAAC;QAC5B,6BAAwB,GAAa,EAAE,CAAC;;QAmLxC,2BAAsB,GAAG;YAC/B,IAAI,CAAC,aAAa,GAAG,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI;gBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACzB,KAAK,CAAC,OAAO,CAAC,KAAK;oBACjB,IAAI,KAAK,CAAC,QAAQ,KAAK,OAAO,EAAE;wBAC9B,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;qBACnC;oBACD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE;wBAChC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;qBACrC;oBACD,IAAI,KAAK,CAAC,QAAQ,KAAK,SAAS,EAAE;wBAChC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;qBACrC;iBACF,CAAC,CAAC;aACJ,CAAC,CAAC;SACJ,CAAC;QAEM,gCAA2B,GAAG;YACpC,IAAI,CAAC,iBAAiB;gBACpB,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO;oBAC7B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO;oBAC/B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,CAAC;SACnC,CAAC;QAEM,oBAAe,GAAG;;YACxB,IAAI,CAAC,SAAS,GAAG,CAAC,EAChB,CAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,MAAM,MAAK,CAAC,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAC9D,CAAC;SACH,CAAC;QAEM,mBAAc,GAAG;;YACvB,IAAI,CAAC,QAAQ,GAAG,CAAC,EACf,CAAA,MAAA,IAAI,CAAC,eAAe,0CAAE,MAAM,MAAK,CAAC,IAAI,CAAC,IAAI,CAAC,eAAe,CAC5D,CAAC;SACH,CAAC;QAEM,6BAAwB,GAAG;YACjC,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,CAAC;SAC7B,CAAC;QAEM,oBAAe,GAAG;YACxB,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,YAAY,EAAE;gBAC1C,IAAI,CAAC,kBAAkB,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;gBACrE,MAAM,sBAAsB,GAAG,+BAA+B,CAC5D,IAAI,CAAC,kBAAkB,CACxB,CAAC;gBACF,IAAI,CAAC,gBAAgB,GAAG,sBAAsB,CAAC;gBAC/C,IAAI,IAAI,CAAC,kBAAkB,CAAC,MAAM,GAAG,CAAC,EAAE;;oBAEtC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;iBAC1B;aACF;SACF,CAAC;QAEM,wBAAmB,GAAG,CAAC,SAAgC;YAC7D,IAAI,CAAC,YAAY,GAAG,SAAS,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;SACzC,CAAC;QAEM,yBAAoB,GAAG;YAC7B,IAAI,IAAI,CAAC,cAAc,EAAE;;gBAEvB,IAAI,CAAC,kBAAkB,EAAE,CAAC;;gBAE1B,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACjC,IAAI,CAAC,mBAAmB,CAAC,gBAAgB,GAAG,mBAAmB,CAAC;gBAChE,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC,IAAI,CAAC;oBAC/C,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;iBACnC,CAAC,CAAC;aACJ;SACF,CAAC;QAEM,0CAAqC,GAAG,CAC9C,KAA0D;;YAG1D,IAAI,KAAK,CAAC,MAAM,IAAI,IAAI,EAAE;gBACxB,IAAI,CAAC,uBAAuB,CAAC,OAAO,GAAG,KAAK,CAAC;gBAC7C,IAAI,CAAC,uBAAuB,CAAC,aAAa,GAAG,KAAK,CAAC;gBACnD,OAAO;aACR;YAED,MAAM,oBAAoB,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAExD,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE;gBACrC,IAAI,CAAC,uBAAuB,CAAC,OAAO,GAAG,KAAK,CAAC;gBAC7C,IAAI,CAAC,uBAAuB,CAAC,aAAa,GAAG,KAAK,CAAC;gBACnD,OAAO;aACR;YAED,MAAM,qBAAqB,GAAG,oBAAoB,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;YAEnE,MAAM,+BAA+B,GAAG,oBAAoB,CAAC,KAAK,CAChE,QAAQ,IAAI,QAAQ,CAAC,IAAI,CAAC,OAAO,KAAK,qBAAqB,CAC5D,CAAC;YAEF,IAAI,CAAC,uBAAuB,CAAC,OAAO,GAAG,qBAAqB,CAAC;YAC7D,IAAI,CAAC,uBAAuB,CAAC,aAAa;gBACxC,CAAC,+BAA+B,CAAC;;;YAInC,MAAM,YAAY,GAAG,oBAAoB,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;;YAE5E,MAAM,cAAc,GAAG,YAAY,CAAC,MAAM,CACxC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CACzC,CAAC;YAEF,MAAM,iBAAiB,GAAa,EAAE,CAAC;YACvC,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;gBAC7B,cAAc,CAAC,OAAO,CAAC,aAAa;oBAClC,iBAAiB,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBAC/C,CAAC,CAAC;aACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;YAkCD,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;SAC5C,CAAC;QAEM,2CAAsC,GAAG,CAC/C,KAA+C;YAE/C,IAAI,CAAC,wBAAwB,GAAG,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;SACxE,CAAC;QAEM,kCAA6B,GAAG,CACtC,KAA2C;YAE3C,IAAI,IAAI,CAAC,yBAAyB,IAAI,KAAK,CAAC,MAAM,CAAC,QAAQ,KAAK,SAAS,EAAE;gBACzE,IAAI,CAAC,yBAAyB,CAAC,UAAU,EAAE;oBACzC,SAAS,EAAE,IAAI,CAAC,wBAAwB;oBACxC,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO;oBAC9C,OAAO,EAAE,KAAK,CAAC,MAAM,CAAC,gBAAgB,CAAC,OAAO;iBAC/C,CAAC,CAAC;aACJ;SACF,CAAC;QAEM,wBAAmB,GAAG;YAC5B,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,IAAI,CAAC,cAAc,EAAE,CAAC,IAAI,CAAC,MAAM;oBAC/B,IAAI,MAAM,EAAE;wBACV,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC;qBACnC;iBACF,CAAC,CAAC;;aAEJ;SACF,CAAC;QAEM,mBAAc,GAAG;YACvB,IAAI,IAAI,CAAC,eAAe,EAAE;gBACxB,IAAI,CAAC,eAAe,EAAE,CAAC;;aAExB;SACF,CAAC;QAEM,uBAAkB,GAAG;YAC3B,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC;YAC1B,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC;YACjC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;YACnC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC;SACpC,CAAC;QAEM,gCAA2B,GAAG,CAAC,CAAa;YAClD,IAAI,IAAI,CAAC,aAAa,EAAE;gBACtB,MAAM,OAAO,GAAI,CAAC,CAAC,MAAqC,CAAC,OAAO,CAAC;gBACjE,IAAI,CAAC,uBAAuB,CAAC,aAAa,GAAG,KAAK,CAAC;gBACnD,IAAI,CAAC,aAAa,CAAC,wBAAwB,CAAC,EAAE,OAAO,EAAE,OAAO,EAAE,CAAC,CAAC;aACnE;SACF,CAAC;QAEM,yCAAoC,GAAG,CAC7C,CAAgC;YAEhC,MAAM,YAAY,GAAG,CAAC,CAAC,MAAM,CAAC;YAC9B,MAAM,UAAU,GAAG,YAAY,CAAC,SAAS,CACvC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,QAAQ,CACnC,CAAC;YACF,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CACzC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,UAAU,CACrC,CAAC;YACF,MAAM,YAAY,GAAG,YAAY,CAAC,SAAS,CACzC,KAAK,IAAI,KAAK,CAAC,MAAM,KAAK,WAAW,CACtC,CAAC;YACF,IAAI,CAAC,UAAU,GAAG;gBAChB,KAAK,EAAE;oBACL,OAAO,EAAE,UAAU,KAAK,CAAC,CAAC;oBAC1B,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM;iBACrC;gBACD,OAAO,EAAE;oBACP,OAAO,EAAE,YAAY,KAAK,CAAC,CAAC;oBAC5B,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM;iBACvC;gBACD,OAAO,EAAE;oBACP,OAAO,EAAE,YAAY,KAAK,CAAC,CAAC;oBAC5B,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM;iBACvC;aACF,CAAC;YACF,IAAI,CAAC,2BAA2B,EAAE,CAAC;SACpC,CAAC;QAEM,0BAAqB,GAAG;YAC9B,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,MAAM,aAAa,GACjB,IAAI,CAAC,uBAAuB,KAAK,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC;YACjE,MAAM,kBAAkB,GACtB,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC;YACvD,IAAI,kBAAkB,EAAE;gBACtB,OAAO,GAAG,KAAK,CAAC;aACjB;YACD,OAAO,OAAO,CAAC;SAChB,CAAC;QAEM,uBAAkB,GAAG;YAC3B,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;SAC1B,CAAC;;;;QAKM,0BAAqB,GAAG;YAC9B,MAAM,aAAa,GAAa,EAAE,CAAC;YACnC,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,IAAI;gBAC/B,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC;gBACzB,KAAK,CAAC,OAAO,CAAC,KAAK;oBACjB,IACE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO;wBAC7B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO;wBAC/B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAC/B;;wBAEA,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;wBAC7B,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU;4BAC5B,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;yBACnC,CAAC,CAAC;qBACJ;yBAAM,IACL,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO;wBAC7B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO;wBAC/B,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAChC;;wBAEA,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAC5C,aAAa,IAAI,aAAa,KAAK,KAAK,CAAC,EAAE,CAC5C,CAAC;wBACF,IAAI,CAAC,YAAY,EAAE;4BACjB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;4BAC7B,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU;gCAC5B,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;6BACnC,CAAC,CAAC;yBACJ;qBACF;yBAAM,IACL,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO;wBAC7B,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO;wBAChC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAC/B;;wBAEA,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAC5C,aAAa,IAAI,aAAa,KAAK,KAAK,CAAC,EAAE,CAC5C,CAAC;wBACF,IAAI,CAAC,YAAY,EAAE;4BACjB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;4BAC7B,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU;gCAC5B,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;6BACnC,CAAC,CAAC;yBACJ;qBACF;yBAAM,IACL,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO;wBAC7B,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO;wBAChC,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAChC;;wBAEA,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CACxC,WAAW,IAAI,WAAW,KAAK,KAAK,CAAC,EAAE,CACxC,CAAC;wBACF,IAAI,UAAU,EAAE;4BACd,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;4BAC7B,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU;gCAC5B,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;6BACnC,CAAC,CAAC;yBACJ;qBACF;yBAAM,IACL,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO;wBAC9B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO;wBAC/B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAC/B;;wBAEA,MAAM,UAAU,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CACxC,WAAW,IAAI,WAAW,KAAK,KAAK,CAAC,EAAE,CACxC,CAAC;wBACF,IAAI,CAAC,UAAU,EAAE;4BACf,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;4BAC7B,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU;gCAC5B,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;6BACnC,CAAC,CAAC;yBACJ;qBACF;yBAAM,IACL,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO;wBAC9B,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO;wBAC/B,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAChC;;wBAEA,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAC5C,aAAa,IAAI,aAAa,KAAK,KAAK,CAAC,EAAE,CAC5C,CAAC;wBACF,IAAI,YAAY,EAAE;4BAChB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;4BAC7B,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU;gCAC5B,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;6BACnC,CAAC,CAAC;yBACJ;qBACF;yBAAM,IACL,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO;wBAC9B,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO;wBAChC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO,EAC/B;;wBAEA,MAAM,YAAY,GAAG,IAAI,CAAC,eAAe,CAAC,IAAI,CAC5C,aAAa,IAAI,aAAa,KAAK,KAAK,CAAC,EAAE,CAC5C,CAAC;wBACF,IAAI,YAAY,EAAE;4BAChB,aAAa,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;4BAC7B,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,UAAU;gCAC5B,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,CAAC;6BACnC,CAAC,CAAC;yBACJ;qBACF;;iBAEF,CAAC,CAAC;aACJ,CAAC,CAAC;YACH,OAAO,aAAa,CAAC;SACtB,CAAC;iCA5gBqC,EAAE;;wCAEL,KAAK;0BACP;YAChC,KAAK,EAAE;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,CAAC;aACV;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,CAAC;aACV;YACD,OAAO,EAAE;gBACP,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,CAAC;aACV;SACF;gCACgD,EAAE;;;;+BAWH,EAAE;oCAalB,KAAK;4BAeL,KAAK;2BAKN,IAAI;;;;;;6BAqCF,KAAK;;;IA/EtC,4BAA4B,CAAC,QAA6B;QACxD,IAAI,CAAC,SAAS,GAAG,CAAC,EAAE,QAAQ,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;QACxD,IAAI,CAAC,uBAAuB,GAAGA,sBAAc,CAAC,QAAQ,CAAC,CAAC;KACzD;IAQD,2BAA2B;QACzB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,IAAI,CAAC,QAAQ,EAAE;YACjB,IAAI,CAAC,mBAAmB;gBACtB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;SAC3D;aAAM;YACL,IAAI,CAAC,mBAAmB;gBACtB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,iBAAiB,CAAC;SAC7D;KACF;IAID,gCAAgC,CAAC,WAAoB;QACnD,IAAI,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE;YACnC,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,IAAI,CAAC;SAClC;aAAM,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,WAAW,EAAE;YAC3C,IAAI,CAAC,aAAa,CAAC,MAAM,GAAG,KAAK,CAAC;SACnC;KACF;IAmBD,wBAAwB,CAAC,IAAU;QACjC,IAAI,IAAI,IAAI,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,GAAG,CAAC,EAAE;YACtC,IAAI,CAAC,eAAe,EAAE,CAAC;SACxB;KACF;;IA+CD,MAAM,iBAAiB;QACrB,IAAI,CAAC,gBAAgB,GAAG,MAAMC,aAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClE,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACtC,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,cAAc,EAAE,CAAC;QACtB,IAAI,CAAC,mBAAmB;YACtB,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,eAAe,CAAC;QAC1D,IAAI,CAAC,2BAA2B,EAAE,CAAC;KACpC;IAED,gBAAgB;QACd,IAAI,CAAC,WAAW,CAAC,KAAK,EAAE,CAAC;KAC1B;IAED,kBAAkB;QAChB,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE;YAC3B,IAAI,CAAC,2BAA2B,CAAC,IAAI,CACnC,IAAI,CAAC,gBAAgB,CAAC,aAAa,CACpC,CAAC;YACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;SAC/B;KACF;;;;;;IAUD,MAAM,aAAa,CAAC,IAA0B;QAC5C,IAAI,CAAC,eAAe,GAAG,2BAA2B,CAChD,IAAI,EACJ,IAAI,CAAC,kBAAkB,EACvB,IAAI,CAAC,eAAe,CACrB,CAAC;QACF,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,MAAM,EAAE,CAAC;QACtC,IAAI,CAAC,sBAAsB,EAAE,CAAC;KAC/B;;IAkXD,MAAM;;QACJ,QACEC,QAACC,UAAI,IAAC,KAAK,EAAC,kBAAkB,IAC5BD,sBAAU,KAAK,EAAE,WAAW,GAAa,EACzCA,iBAAK,KAAK,EAAC,qBAAqB,IAC9BA,8BACE,gBAAgB,QAChB,eAAe,QACf,cAAc,EACZ,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,CAAC,aAAa,GAAG,IAAI,IAIhEA,oBAAQ,KAAK,EAAC,QAAQ,EAAC,IAAI,EAAC,QAAQ,IAElCA,2BACE,IAAI,EAAC,MAAM,EACX,KAAK,EAAC,aAAa,EACnB,KAAK,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAa,EACjD,WAAW,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,mBAAmB,EAC7D,IAAI,EAAC,WAAW,EAChB,UAAU,EAAC,YAAY,EACvB,WAAW,QACX,YAAY,EAAC,OAAO,EACpB,cAAc,EAAE,IAAI,CAAC,mBAAmB,EACxC,oBAAoB,EAAE,IAAI,CAAC,kBAAkB,EAC7C,GAAG,EAAE,CAAC,EAA0B,MAC7B,IAAI,CAAC,WAAW,GAAG,EAA4B,CAAC,GAEpC,EAEjBA,wBACE,IAAI,EAAC,mBAAmB,EACxB,IAAI,EAAC,mBAAmB,EACxB,IAAI,EAAC,yBAAyB,EAC9B,OAAO,EAAE,IAAI,CAAC,wBAAwB,EACtC,QAAQ,EAAE,IAAI,CAAC,oBAAoB,IAElC,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,gBAAgB,CACnC,CACN,EACTA,kBAAM,KAAK,EAAC,MAAM,IAGhBA,iBAAK,KAAK,EAAC,mBAAmB,IAE3B,IAAI,CAAC,WAAW,IACfA,+BACE,KAAK,EAAC,eAAe,EACrB,IAAI,EAAC,eAAe,EACpB,OAAO,EAAE,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,KAAK,EAC3C,GAAG,EAAE,EAAE,KACJ,IAAI,CAAC,aAAa,GAAG,EAA+B,CAAC,GAErC,IACnB,IAAI,EACRA,8BACE,cAAc,EACZ,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,KAAK,EAEhD,gBAAgB,QAChB,cAAc,QACd,KAAK,EAAC,gBAAgB,EACtB,aAAa,QACb,aAAa,EAAE,IAAI,CAAC,SAAS,EAC7B,SAAS,EAAC,WAAW,IAErBA,iBACE,KAAK,EAAE;gBACL,gBAAgB,EAAE,IAAI;gBACtB,iCAAiC,EAAE,IAAI;gBACvC,uBAAuB,EAAE,IAAI,CAAC,SAAS;aACxC,IAEA,CAAC,IAAI,CAAC,SAAS,IACdA,iCACE,SAAS,EAAC,MAAM,EAChB,KAAK,EAAC,WAAW,EACjB,KAAK,EAAE,IAAI,CAAC,gBAAgB,EAC5B,YAAY,EAAE,IAAI,EAClB,YAAY,EAAE,IAAI,EAClB,gBAAgB,EAAE,IAAI,EACtB,QAAQ,EAAE,IAAI,EACd,OAAO,EAAE,IAAI,EACb,oBAAoB,EAClB,IAAI,CAAC,qCAAqC,EAE5C,qBAAqB,EACnB,IAAI,CAAC,sCAAsC,EAE7C,iBAAiB,EAAE,IAAI,CAAC,6BAA6B,EACrD,GAAG,EAAE,EAAE,KACJ,IAAI,CAAC,aAAa;gBACjB,EAAiC,CAAC,GAEjB,KAEvBA,iBAAK,KAAK,EAAC,gBAAgB,IACzBA,sBACE,SAAS,EACPE,aAAM,CAAC,UAAU,CAAC,MAAM,CAAC,SAAsB,EAEjD,OAAO,EACLA,aAAM,CAAC,UAAU,CAAC,MAAM,CAAC,SAAwB,EAEnD,IAAI,EAAEA,aAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAgB,EAC/C,QAAQ,EAAEA,aAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAC3C,IAAI,EAAC,sCAAsC,IAE1C,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,SAAS,EACnDF,sBACE,IAAI,EAAC,mBAAmB,EACxB,OAAO,EAAE,IAAI,CAAC,wBAAwB,IAGpC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa;aACrC,UAAU,CAEN,CACF,CACP,CACP,CACG,EAENA,+BACE,KAAK,EACH,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,cAAc,EAEzD,IAAI,EAAC,qBAAqB,EAC1B,IAAI,EAAC,cAAc,EACnB,QAAQ,EACN,IAAI,CAAC,oBAAoB;gBACzB,IAAI,CAAC,gBAAgB,CAAC,MAAM,KAAK,CAAC,EAEpC,OAAO,EAAE,IAAI,CAAC,qBAAqB,EAAE,EACrC,OAAO,EAAE,IAAI,CAAC,2BAA2B,EACzC,GAAG,EAAE,CAAC,EAA8B,MACjC,IAAI,CAAC,uBAAuB;gBAC3B,EAAgC,CAAC,GAElB,EAErBA,mCACE,OAAO,QACP,IAAI,EAAC,YAAY,EACjB,GAAG,EAAE,CAAC,EAAkC,MACrC,IAAI,CAAC,mBAAmB;gBACvB,EAAoC,CAAC,IAIzCA,wBACE,EAAE,EAAC,YAAY,EACf,IAAI,EAAC,eAAe,EACpB,QAAQ,EACN,CAAA,MAAA,IAAI,CAAC,gBAAgB,0CAAE,MAAM,MAAK,CAAC;gBACnC,IAAI,CAAC,oBAAoB,EAE3B,OAAO,EAAE,IAAI,CAAC,oBAAoB,EAClC,QAAQ,UAEP,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAC3C,EAGbA,wBACE,EAAE,EAAC,mBAAmB,EACtB,IAAI,EAAC,sBAAsB,EAC3B,QAAQ,EAAE,CAAC,IAAI,CAAC,oBAAoB,EACpC,OAAO,EAAE,IAAI,CAAC,mBAAmB,IAEhC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,aAAa,CAAC,YAAY,CAC3C,CACS,EAExBA,wBACE,IAAI,EAAC,qBAAqB,EAC1B,IAAI,EAAC,uBAAuB,EAC5B,IAAI,EAAC,YAAY,EACjB,IAAI,EAAC,eAAe,EACpB,OAAO,EAAE,IAAI,CAAC,cAAc,IAE3B,IAAI,CAAC,gBAAgB,CAAC,MAAM,CAAC,aAAa,CAChC,CACI,EAEnBA,8BACE,KAAK,EAAC,iBAAiB,EACvB,cAAc,EAAE,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,KAAK,EAC7D,gBAAgB,QAChB,cAAc,QACd,aAAa,QACb,aAAa,EAAE,IAAI,CAAC,QAAQ,EAC5B,SAAS,EAAC,WAAW,IAErBA,iBACE,KAAK,EAAE;gBACL,gBAAgB,EAAE,IAAI;gBACtB,+BAA+B,EAAE,IAAI;gBACrC,uBAAuB,EACrB,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,iBAAiB;gBAC1C,6BAA6B,EAC3B,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO;gBAClC,2BAA2B,EACzB,CAAC,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO;gBAChC,8BAA8B,EAC5B,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,OAAO;aACnC,IAEA,CAAC,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,iBAAiB,IACvCA,iCACE,KAAK,EAAE,IAAI,CAAC,eAAe,EAC3B,gBAAgB,EAAE,IAAI,EACtB,SAAS,EAAC,MAAM,EAChB,KAAK,EAAC,WAAW,EACjB,UAAU,EAAC,MAAM,EACjB,UAAU,EAAE,IAAI,CAAC,qBAAqB,EAAE,GACnB,KAEvBA,sBACE,SAAS,EACPE,aAAM,CAAC,UAAU,CAAC,MAAM,CAAC,SAAsB,EAEjD,OAAO,EACLA,aAAM,CAAC,UAAU,CAAC,MAAM,CAAC,SAAwB,EAEnD,IAAI,EAAEA,aAAM,CAAC,UAAU,CAAC,MAAM,CAAC,IAAgB,EAC/C,QAAQ,EAAEA,aAAM,CAAC,UAAU,CAAC,MAAM,CAAC,QAAQ,EAC3C,IAAI,EAAC,sCAAsC,EAC3C,KAAK,EAAC,gBAAgB,IAErB,IAAI,CAAC,mBAAmB,CAChB,CACZ,CACG,EAENF,wBACE,IAAI,EAAC,qBAAqB,EAC1B,IAAI,EAAC,YAAY,EACjB,IAAI,EAAC,eAAe,EACpB,OAAO,EAAE,IAAI,CAAC,kBAAkB,EAChC,QAAQ,EAAE,IAAI,CAAC,QAAQ,IAAI,IAAI,CAAC,oBAAoB,IAEnD,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,WAAW,CACzC,EAEbA,kBAAM,KAAK,EAAC,eAAe,EAAC,IAAI,EAAC,cAAc,GAAQ,CACtC,CACf,CACD,EAEPA,oBAAQ,IAAI,EAAC,cAAc,IACzBA,mCACE,MAAM,EAAE,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,MAAM,EACpC,QAAQ,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EACxC,SAAS,EAAE,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,EACzC,WAAW,QACX,OAAO,QACP,OAAO,EAAE,IAAI,CAAC,aAAa,EAC3B,kBAAkB,EAAE,IAAI,CAAC,oCAAoC,GACtC,CAClB,CACQ,CACf,CACD,EACP;KACH;;;;;;;;;;;;;;","names":["countTreeItems","Locale","h","Host","config"],"sources":["src/components/kb-manager-import/helpers.ts","src/components/kb-manager-import/kb-manager-import.scss?tag=gx-ide-kb-manager-import&encapsulation=shadow","src/components/kb-manager-import/kb-manager-import.tsx"],"sourcesContent":["/* Tree View */\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\n\n/* Kb Manager Import Types*/\nimport { ImportItemData } from \"./kb-manager-import\";\nimport { ImportCategoryData, ImportItemResultData } from \"../../common/types\";\n/* objects in file metadata*/\nexport const KB_OBJECT = \"object\";\nexport const KB_CATEGORY = \"category\";\n\nconst convertImportItemToTreeItem = (\n importCatIcon: string,\n importItems: ImportItemData[]\n) => {\n const importTreeItems: TreeViewItemModel[] = [];\n importItems.forEach(importItem => {\n importTreeItems.push({\n id: importItem.id,\n caption: importItem.name,\n expanded: true,\n leaf: true,\n startImgSrc: importCatIcon,\n metadata: KB_OBJECT\n });\n });\n return importTreeItems;\n};\n\n/**\n * @description This function converts ReferenceData[] data to TreeItemData[]\n */\nexport const convertImportCategoryToTreeView = (\n importCategoryData: ImportCategoryData[]\n): TreeViewItemModel[] => {\n const treeData: TreeViewItemModel[] = [];\n if (!importCategoryData) {\n return treeData;\n }\n importCategoryData.forEach(importCat => {\n const importCategoryTreeItem: TreeViewItemModel = {\n id: importCat.id,\n caption: `${importCat.name} (${importCat.items.length})`,\n expanded: true,\n leaf: false,\n startImgSrc: importCat.icon,\n metadata: KB_CATEGORY,\n items: convertImportItemToTreeItem(importCat.icon, importCat.items)\n };\n treeData.push(importCategoryTreeItem);\n });\n return treeData;\n};\n\nconst createImportResultDataMessages = (\n importItemId: string,\n messagesArray: string[]\n): TreeViewItemModel[] => {\n const messages: TreeViewItemModel[] = [];\n messagesArray.forEach((message, i) => {\n messages.push({\n id: `${importItemId}-message-${i}}]`,\n caption: message,\n startImgSrc: \"gemini-tools/list-view/on-surface\",\n leaf: true\n });\n });\n return messages;\n};\n\nconst updateImportStatusTree = (\n importItemResultFullData: ImportItemResultFullData,\n importTreeActualState: TreeViewItemModel[]\n): TreeViewItemModel[] => {\n const objectCategoryIndex = importTreeActualState.findIndex(\n objectCategoryItem => {\n return objectCategoryItem.id === importItemResultFullData.categoryId;\n }\n );\n if (objectCategoryIndex === -1) {\n // object category node does not exists. We have to create it, and insert the import result tree node inside.\n const importTreeItem: TreeViewItemModel = {\n id: importItemResultFullData.categoryId,\n // the count is (1), because this is the first item for this category\n caption: `${importItemResultFullData.categoryName} (1)`,\n startImgSrc: importItemResultFullData.categoryIcon,\n expanded: true,\n items: [\n {\n id: importItemResultFullData.id,\n caption: importItemResultFullData.name,\n items: createImportResultDataMessages(\n importItemResultFullData.id,\n importItemResultFullData.messages\n ),\n parts: `tree-view-item tree-view-item--status tree-view-item--${importItemResultFullData.status}`,\n expanded: true,\n leaf: importItemResultFullData.messages.length === 0,\n metadata: importItemResultFullData.status.toString()\n }\n ]\n };\n importTreeActualState.push(importTreeItem);\n } else {\n // Object category node already exists. Just create the import result node, and insert into the parent category node (if it doesn't exists already).\n\n // first search for the importItemResult node...\n const importItemIndex = importTreeActualState[\n objectCategoryIndex\n ].items?.findIndex(importItem => {\n return importItem.id === importItemResultFullData.id;\n });\n\n if (importItemIndex === -1) {\n // ImportItem does not exists already\n const importTreeItem: TreeViewItemModel = {\n id: importItemResultFullData.id,\n caption: importItemResultFullData.name,\n expanded: true,\n items: createImportResultDataMessages(\n importItemResultFullData.id,\n importItemResultFullData.messages\n ),\n parts: `tree-view-item tree-view-item--status tree-view-item--${importItemResultFullData.status}`,\n metadata: importItemResultFullData.status.toString()\n };\n // Insert the import node into the category node\n importTreeActualState[objectCategoryIndex].items.push(importTreeItem);\n // Then, update the category node caption (the name is the same, but the (count) should be the actual items.length, because we have just added a new child import node. )\n importTreeActualState[\n objectCategoryIndex\n ].caption = `${importItemResultFullData.categoryName} (${importTreeActualState[objectCategoryIndex].items.length})`;\n }\n }\n return importTreeActualState;\n};\n\n/**\n * This function takes an ImportItemResultData item, and updates it to a ImportCategoryFullData, which has the same information, plus the category parent needed information, that will be used for creating the \"virtual\" parent category node on the \"Import Status\" section.\n */\nconst createImportResultFullData = (\n importItemResultData: ImportItemResultData,\n importCategoryData: ImportCategoryData[]\n): ImportItemResultFullData => {\n const importCategoryFullData: ImportItemResultFullData = {\n categoryId: undefined,\n categoryName: undefined,\n categoryIcon: undefined,\n ...importItemResultData\n };\n importCategoryDataFor: for (let i = 0; i < importCategoryData.length; i++) {\n const categoryNode = importCategoryData[i];\n for (let j = 0; j < categoryNode.items.length; j++) {\n if (categoryNode.items[j].id === importItemResultData.id) {\n importCategoryFullData.categoryId = categoryNode.id;\n importCategoryFullData.categoryName = categoryNode.name;\n importCategoryFullData.categoryIcon = categoryNode.icon;\n break importCategoryDataFor;\n }\n }\n }\n return importCategoryFullData;\n};\n\n/**\n * @description This function adds an ImportItemResultData item to the \"importTreeState\", and returns the updated tree with the new item added.\n */\nexport const addImportItemResultDataItem = (\n importItemResultData: ImportItemResultData,\n importCategoryData: ImportCategoryData[],\n importTreeActualState: TreeViewItemModel[]\n): TreeViewItemModel[] => {\n let updatedImportStatusTree: TreeViewItemModel[] = [...importTreeActualState];\n // first, update importItemResultData with the category data. It will be needed later.\n const importItemResultFullData: ImportItemResultFullData =\n createImportResultFullData(importItemResultData, importCategoryData);\n updatedImportStatusTree = updateImportStatusTree(\n importItemResultFullData,\n updatedImportStatusTree\n );\n return updatedImportStatusTree;\n};\n\ntype ImportItemResultFullData = ImportItemResultData & {\n categoryId: string;\n categoryName: string;\n categoryIcon: string;\n};\n","@import \"tree-icons-list.scss\";\n@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n}\n/*Header*/\n.header {\n display: flex;\n flex-direction: row;\n gap: var(--gx-ide-grid-column-gap);\n\n .select-file {\n flex: 1;\n }\n}\n/*Main*/\n.main {\n //min-height: 250px;\n height: 100%;\n overflow: auto;\n .container-wrapper {\n height: 100%;\n display: grid;\n grid-template-rows: auto 1fr;\n grid-template-columns: 1fr 1fr;\n grid-template-areas:\n \"top-state-bar top-state-bar\"\n \"left-container right-container\";\n\n .top-state-bar {\n grid-area: top-state-bar;\n }\n .left-container {\n grid-area: left-container;\n border-right: 1px solid var(--gx-ide-container-border-color);\n }\n .right-container {\n grid-area: right-container;\n }\n\n @include gx-ide-message(\"short\");\n\n .tree-container {\n padding: var(--mer-spacing--xs) 0 var(--mer-spacing--xs)\n var(--mer-spacing--xs);\n block-size: 100%;\n &--empty {\n align-items: center;\n justify-content: center;\n display: flex;\n }\n /*import status display/hide status (warning, error, success)*/\n &--no-warnings {\n .tree-view-item--warning {\n display: none;\n }\n }\n &--no-errors {\n .tree-view-item--error {\n display: none;\n }\n }\n &--no-successes {\n .tree-view-item--success {\n display: none;\n }\n }\n }\n }\n}\n\n// .tree-view\n.tree-view::part(item__action tree-view-item--status) {\n grid-template: \"first-img left-img text right-img\" / max-content max-content 1fr max-content;\n &::before {\n grid-area: first-img;\n content: \"\";\n width: var(--mer-spacing--xs);\n height: var(--mer-spacing--xs);\n border-radius: 50%;\n background-color: var(--gray-03);\n margin-inline-end: var(--mer-spacing--xxs);\n }\n}\n\n.tree-view::part(item__action tree-view-item--success) {\n @include tree-item-status(\"success\");\n}\n.tree-view::part(item__action tree-view-item--warning) {\n @include tree-item-status(\"warning\");\n}\n.tree-view::part(item__action tree-view-item--error) {\n @include tree-item-status(\"error\");\n}\n\n.ghost-element {\n display: block;\n width: 0;\n height: 24px; /*this is the taller element on the \"objects in file container footer (which is the button group, at the time of writing)\"*/\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n Element,\n State,\n EventEmitter,\n Watch,\n Method\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { TreeViewItemContextMenu } from \"@genexus/chameleon-controls-library\";\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\nimport { TreeViewItemModelExtended } from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport {\n TextAlign,\n TextPadding,\n TextType\n} from \"@genexus/gemini/dist/types/components/text/text\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport {\n ImportCategoryData,\n ImportItemResultData,\n ContextMenuInfo\n} from \"../../common/types\";\nimport {\n convertImportCategoryToTreeView,\n addImportItemResultDataItem\n} from \"./helpers\";\n// import { CheckboxInfo } from \"@genexus/gemini/dist/types/components/form-checkbox/form-checkbox\";\nimport { countTreeItems } from \"../../common/helpers\";\nimport { CheckedItemsInfo } from \"../_helpers/list-selector/list-selector\";\n\nimport { KB_OBJECT } from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"components/button\",\n \"components/checkbox\",\n \"components/edit\",\n \"components/tree-view\"\n];\n\n@Component({\n tag: \"gx-ide-kb-manager-import\",\n styleUrl: \"kb-manager-import.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/kb-manager-import\"]\n})\nexport class GxIdeKbManagerImport {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n /* ImportCategoryBasicData Holds the original name of category data, and its id. Used to create parent nodes on the imported tree*/\n private importCategoryData: ImportCategoryData[] = [];\n private objectsInFileTotalNodes = 0;\n private selectedObjectsInFileIds: string[] = [];\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeKbManagerImportElement;\n\n private objectsTreeEl!: HTMLChTreeViewRenderElement;\n private fileInputEl!: HTMLGxgFormTextElement;\n private objectsButtonsGroup!: HTMLGxgButtonsContainerElement;\n private toggleObjectsCheckboxEl: HTMLGxgFormCheckboxElement;\n private topStateBarEl!: HTMLGxgTopStateBarElement;\n private errorItemsIds!: string[];\n private warningItemsIds!: string[];\n private successItemsIds!: string[];\n\n // 3.STATE() VARIABLES //\n\n @State() checkedObjectsIds: string[] = [];\n @State() noObjects: boolean;\n @State() showHiddenImportsMessage = false;\n @State() statusInfo: StatusInfo = {\n error: {\n display: true,\n number: 0\n },\n warning: {\n display: true,\n number: 0\n },\n success: {\n display: true,\n number: 0\n }\n };\n @State() objectsTreeState: TreeViewItemModel[] = [];\n @Watch(\"objectsTreeState\")\n watchObjectsTreeStateHandler(newState: TreeViewItemModel[]) {\n this.noObjects = !!(newState.length === 0 || !newState);\n this.objectsInFileTotalNodes = countTreeItems(newState);\n }\n\n // import status\n @State() importStatusMessage: string;\n @State() someStatusVisible: boolean;\n @State() noImport: boolean;\n @State() importTreeState: TreeViewItemModel[] = [];\n @Watch(\"importTreeState\")\n watchImportTreeStateHandler() {\n this.evaluateImport();\n if (this.noImport) {\n this.importStatusMessage =\n this._componentLocale.main.importStatus.noImportedFiles;\n } else {\n this.importStatusMessage =\n this._componentLocale.main.importStatus.importedButHidden;\n }\n }\n\n @State() importingIsInProcess = false;\n @Watch(\"importingIsInProcess\")\n watchImportingIsInProcessHandler(isImporting: boolean) {\n if (isImporting && this.topStateBar) {\n this.topStateBarEl.active = true;\n } else if (!isImporting && this.topStateBar) {\n this.topStateBarEl.active = false;\n }\n }\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * If true, it will display a loader when needed.\n */\n @Prop() readonly topStateBar = true;\n\n /**\n * The name of the imported xml or xps file\n */\n @Prop({ mutable: true }) selectedFile: File;\n @Watch(\"selectedFile\")\n watchSelectedFileHandler(file: File) {\n if (file && file.name && file.size > 0) {\n this.loadFileHandler();\n }\n }\n\n /**\n * Callback invoked when the user wants to access the export options.\n */\n @Prop() readonly optionsCallback: OptionsCallback;\n\n /**\n *Callback invoked when the user wants to initiate the import process.\n */\n @Prop() readonly importCallback: ImportCallback;\n\n /**\n *Callback invoked when the user wants to load the xpz information\n */\n @Prop() readonly loadCallback: LoadCallback;\n\n /**\n * Callback invoked when the user wants to cancel the export process.\n * @returns It returns a boolean indicating whether the process could be canceled or not.\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * It displays the status buttons (errors, warning, succeeded) with the minimal ui (no captions)\n */\n @Prop() readonly statusMinimal = false;\n\n /**\n * It displays the status buttons (errors, warning, succeeded) with the minimal ui (no captions)\n */\n @Prop() readonly objectContextMenuCallback: ObjectContextMenuCallback;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n this.evaluateObjects();\n this.evaluateImport();\n this.importStatusMessage =\n this._componentLocale.main.importStatus.noImportedFiles;\n this.evaluateImportStatusMessage();\n }\n\n componentDidLoad() {\n this.fileInputEl.focus();\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n /**\n * Add the result of importing an item\n */\n @Method()\n async addResultItem(item: ImportItemResultData) {\n this.importTreeState = addImportItemResultDataItem(\n item,\n this.importCategoryData,\n this.importTreeState\n );\n this.statusInfo[item.status].number++;\n this.updateStatusItemsState();\n }\n\n // 9.LOCAL METHODS //\n\n private updateStatusItemsState = () => {\n this.errorItemsIds = [];\n this.warningItemsIds = [];\n this.successItemsIds = [];\n this.importTreeState.forEach(item => {\n const items = item.items;\n items.forEach(child => {\n if (child.metadata === \"error\") {\n this.errorItemsIds.push(child.id);\n }\n if (child.metadata === \"warning\") {\n this.warningItemsIds.push(child.id);\n }\n if (child.metadata === \"success\") {\n this.successItemsIds.push(child.id);\n }\n });\n });\n };\n\n private evaluateImportStatusMessage = () => {\n this.someStatusVisible =\n this.statusInfo.error.display ||\n this.statusInfo.warning.display ||\n this.statusInfo.success.display;\n };\n\n private evaluateObjects = () => {\n this.noObjects = !!(\n this.objectsTreeState?.length === 0 || !this.objectsTreeState\n );\n };\n\n private evaluateImport = () => {\n this.noImport = !!(\n this.importTreeState?.length === 0 || !this.importTreeState\n );\n };\n\n private selectFileAndLoadHandler = () => {\n this.fileInputEl.openFile();\n };\n\n private loadFileHandler = async () => {\n if (this.loadCallback && this.selectedFile) {\n this.importCategoryData = await this.loadCallback(this.selectedFile);\n const importCategoryTreeData = convertImportCategoryToTreeView(\n this.importCategoryData\n );\n this.objectsTreeState = importCategoryTreeData;\n if (this.importCategoryData.length > 0) {\n // clear input\n this.selectedFile = null;\n }\n }\n };\n\n private fileSelectedHandler = (fileEvent: CustomEvent<FileList>) => {\n this.selectedFile = fileEvent.detail[0];\n };\n\n private importObjectsHandler = async () => {\n if (this.importCallback) {\n /* first clear imported objects (this clears errors/warnings/success counts as well)*/\n this.clearStatusHandler();\n /* then do the import*/\n this.importingIsInProcess = true;\n this.objectsButtonsGroup.selectedButtonId = \"cancel-import-btn\";\n this.importCallback(this.checkedObjectsIds).then(() => {\n this.importingIsInProcess = false;\n });\n }\n };\n\n private objectsTreeCheckedItemsChangedHandler = (\n event: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n /* 1. Begin of evaluate 'select/unselect checkbox' state*/\n if (event.detail == null) {\n this.toggleObjectsCheckboxEl.checked = false;\n this.toggleObjectsCheckboxEl.indeterminate = false;\n return;\n }\n\n const allItemsWithCheckbox = [...event.detail.values()];\n\n if (allItemsWithCheckbox.length === 0) {\n this.toggleObjectsCheckboxEl.checked = false;\n this.toggleObjectsCheckboxEl.indeterminate = false;\n return;\n }\n\n const firstItemCheckedValue = allItemsWithCheckbox[0].item.checked;\n\n const allItemsHaveTheSameCheckedValue = allItemsWithCheckbox.every(\n treeItem => treeItem.item.checked === firstItemCheckedValue\n );\n\n this.toggleObjectsCheckboxEl.checked = firstItemCheckedValue;\n this.toggleObjectsCheckboxEl.indeterminate =\n !allItemsHaveTheSameCheckedValue;\n /* /End of evaluate 'select/unselect checkbox' state*/\n\n /* 2. Begin of checked items evaluation*/\n const checkedItems = allItemsWithCheckbox.filter(node => node.item.checked);\n // objects checked\n const checkedObjects = checkedItems.filter(\n node => node.item.metadata === KB_OBJECT\n );\n\n const checkedObjectsIds: string[] = [];\n if (checkedObjects.length > 0) {\n checkedObjects.forEach(objectChecked => {\n checkedObjectsIds.push(objectChecked.item.id);\n });\n }\n /* /End of checked items evaluation*/\n\n /* 3. Begin of caption update*/\n /* TO DO (when we can differentiate the caption from the number of children)*/\n // const categoryItems = allItemsWithCheckbox.filter(\n // node => node.item.metadata === KB_CATEGORY\n // );\n // categoryItems.forEach(category => {\n // const itemInfo = category.item;\n // // Update the amount of checked values\n // if (itemInfo.leaf !== true) {\n // const totalItems = itemInfo.items.length;\n\n // const totalItemsChecked = itemInfo.items.filter(\n // itemUIModel => itemUIModel.checked\n // ).length;\n\n // const newItemCaption =\n // totalItems !== totalItemsChecked\n // ? `${itemInfo.caption} (${totalItemsChecked}/${totalItems})`\n // : `${itemInfo.caption} (${totalItems})`;\n\n // // Only update the item caption if needed\n // if (newItemCaption !== itemInfo.caption) {\n // this.objectsTreeEl.updateItemsProperties([itemInfo.id], {\n // id: itemInfo.id,\n // caption: newItemCaption\n // });\n // }\n // }\n // });\n\n /* /End of caption update*/\n this.checkedObjectsIds = checkedObjectsIds;\n };\n\n private objectsTreeSelectedItemsChangedHandler = (\n event: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n this.selectedObjectsInFileIds = event.detail.map(item => item.item.id);\n };\n\n private objectsTreeContextMenuHandler = (\n event: CustomEvent<TreeViewItemContextMenu>\n ) => {\n if (this.objectContextMenuCallback && event.detail.metadata === KB_OBJECT) {\n this.objectContextMenuCallback(\"imported\", {\n selection: this.selectedObjectsInFileIds,\n clientX: event.detail.contextmenuEvent.screenX,\n clientY: event.detail.contextmenuEvent.screenY\n });\n }\n };\n\n private cancelImportHandler = () => {\n if (this.cancelCallback) {\n this.cancelCallback().then(result => {\n if (result) {\n this.topStateBarEl.active = false;\n }\n });\n // returns boolean\n }\n };\n\n private optionsHandler = () => {\n if (this.optionsCallback) {\n this.optionsCallback();\n // returns boolean\n }\n };\n\n private clearStatusHandler = () => {\n this.importTreeState = [];\n this.statusInfo.error.number = 0;\n this.statusInfo.warning.number = 0;\n this.statusInfo.success.number = 0;\n };\n\n private toggleSelectionClickHandler = (e: MouseEvent) => {\n if (this.objectsTreeEl) {\n const checked = (e.target as HTMLGxgFormCheckboxElement).checked;\n this.toggleObjectsCheckboxEl.indeterminate = false;\n this.objectsTreeEl.updateAllItemsProperties({ checked: checked });\n }\n };\n\n private statusButtonsSelectionChangedHandler = (\n e: CustomEvent<CheckedItemsInfo>\n ) => {\n const activeStates = e.detail;\n const errorIndex = activeStates.findIndex(\n state => state.itemId === \"errors\"\n );\n const warningIndex = activeStates.findIndex(\n state => state.itemId === \"warnings\"\n );\n const successIndex = activeStates.findIndex(\n state => state.itemId === \"successes\"\n );\n this.statusInfo = {\n error: {\n display: errorIndex !== -1,\n number: this.statusInfo.error.number\n },\n warning: {\n display: warningIndex !== -1,\n number: this.statusInfo.warning.number\n },\n success: {\n display: successIndex !== -1,\n number: this.statusInfo.success.number\n }\n };\n this.evaluateImportStatusMessage();\n };\n\n private evaluateCheckAllValue = (): boolean => {\n let checked = true;\n const allAreChecked =\n this.objectsInFileTotalNodes === this.checkedObjectsIds.length;\n const conditionToUncheck =\n this.objectsTreeState.length === 0 || !allAreChecked;\n if (conditionToUncheck) {\n checked = false;\n }\n return checked;\n };\n\n private fileClearedHandler = () => {\n this.selectedFile = null;\n };\n\n /**\n * @description Filters the imported items based on the state of the status checkboxes (error, warning, success).\n */\n private filterImportedHandler = () => {\n const filteredItems: string[] = [];\n this.importTreeState.forEach(item => {\n const items = item.items;\n items.forEach(child => {\n if (\n this.statusInfo.error.display &&\n this.statusInfo.warning.display &&\n this.statusInfo.success.display\n ) {\n // all are checked, return all\n filteredItems.push(child.id);\n child.items.forEach(mesageItem => {\n filteredItems.push(mesageItem.id);\n });\n } else if (\n this.statusInfo.error.display &&\n this.statusInfo.warning.display &&\n !this.statusInfo.success.display\n ) {\n // return error and warning only;\n const foundSuccess = this.successItemsIds.find(\n successItemId => successItemId === child.id\n );\n if (!foundSuccess) {\n filteredItems.push(child.id);\n child.items.forEach(mesageItem => {\n filteredItems.push(mesageItem.id);\n });\n }\n } else if (\n this.statusInfo.error.display &&\n !this.statusInfo.warning.display &&\n this.statusInfo.success.display\n ) {\n // return error and success only\n const foundWarning = this.warningItemsIds.find(\n warningItemId => warningItemId === child.id\n );\n if (!foundWarning) {\n filteredItems.push(child.id);\n child.items.forEach(mesageItem => {\n filteredItems.push(mesageItem.id);\n });\n }\n } else if (\n this.statusInfo.error.display &&\n !this.statusInfo.warning.display &&\n !this.statusInfo.success.display\n ) {\n // return error only\n const foundError = this.errorItemsIds.find(\n errorItemId => errorItemId === child.id\n );\n if (foundError) {\n filteredItems.push(child.id);\n child.items.forEach(mesageItem => {\n filteredItems.push(mesageItem.id);\n });\n }\n } else if (\n !this.statusInfo.error.display &&\n this.statusInfo.warning.display &&\n this.statusInfo.success.display\n ) {\n // return warning and success\n const foundError = this.errorItemsIds.find(\n errorItemId => errorItemId === child.id\n );\n if (!foundError) {\n filteredItems.push(child.id);\n child.items.forEach(mesageItem => {\n filteredItems.push(mesageItem.id);\n });\n }\n } else if (\n !this.statusInfo.error.display &&\n this.statusInfo.warning.display &&\n !this.statusInfo.success.display\n ) {\n // return warning only\n const foundWarning = this.warningItemsIds.find(\n warningItemId => warningItemId === child.id\n );\n if (foundWarning) {\n filteredItems.push(child.id);\n child.items.forEach(mesageItem => {\n filteredItems.push(mesageItem.id);\n });\n }\n } else if (\n !this.statusInfo.error.display &&\n !this.statusInfo.warning.display &&\n this.statusInfo.success.display\n ) {\n // return success only\n const foundSuccess = this.successItemsIds.find(\n successItemId => successItemId === child.id\n );\n if (foundSuccess) {\n filteredItems.push(child.id);\n child.items.forEach(mesageItem => {\n filteredItems.push(mesageItem.id);\n });\n }\n }\n // else do nothing. Al status checkboxes are unchecked.\n });\n });\n return filteredItems;\n };\n\n // 10.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n noFooterPadding\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n {/* header */}\n <header class=\"header\" slot=\"header\">\n {/* select a file */}\n <gxg-form-text\n type=\"file\"\n class=\"select-file\"\n label={this._componentLocale.header.fileNameLabel}\n placeholder={this._componentLocale.header.fileNamePlaceholder}\n part=\"file-name\"\n acceptFile=\".xpz, .xml\"\n clearButton\n iconPosition=\"start\"\n onFileSelected={this.fileSelectedHandler}\n onClearButtonClicked={this.fileClearedHandler}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.fileInputEl = el as HTMLGxgFormTextElement)\n }\n ></gxg-form-text>\n {/* select file button / load button*/}\n <gxg-button\n type=\"primary-text-icon\"\n icon=\"gemini-tools/file\"\n part=\"select-file-load-button\"\n onClick={this.selectFileAndLoadHandler}\n disabled={this.importingIsInProcess}\n >\n {this._componentLocale.header.selectFileButton}\n </gxg-button>\n </header>\n <main class=\"main\">\n {/* main */}\n {/* objects in file*/}\n <div class=\"container-wrapper\">\n {/* top state bar*/}\n {this.topStateBar ? (\n <gxg-top-state-bar\n class=\"top-state-bar\"\n part=\"top-state-bar\"\n caption={this._componentLocale.loader.title}\n ref={el =>\n (this.topStateBarEl = el as HTMLGxgTopStateBarElement)\n }\n ></gxg-top-state-bar>\n ) : null}\n <gx-ide-container\n containerTitle={\n this._componentLocale.main.objectsInFile.title\n }\n noContentPadding\n noBorderFooter\n class=\"left-container\"\n slimmerFooter\n inactiveTitle={this.noObjects}\n titleType=\"secondary\"\n >\n <div\n class={{\n \"tree-container\": true,\n \"tree-container--objects-in-file\": true,\n \"tree-container--empty\": this.noObjects\n }}\n >\n {!this.noObjects ? (\n <ch-tree-view-render\n showLines=\"last\"\n class=\"tree-view\"\n model={this.objectsTreeState}\n dragDisabled={true}\n dropDisabled={true}\n toggleCheckboxes={true}\n checkbox={true}\n checked={true}\n onCheckedItemsChange={\n this.objectsTreeCheckedItemsChangedHandler\n }\n onSelectedItemsChange={\n this.objectsTreeSelectedItemsChangedHandler\n }\n onItemContextmenu={this.objectsTreeContextMenuHandler}\n ref={el =>\n (this.objectsTreeEl =\n el as HTMLChTreeViewRenderElement)\n }\n ></ch-tree-view-render>\n ) : (\n <div class=\"gx-ide-message\">\n <gxg-text\n textAlign={\n config.gxgMessage.common.textAlign as TextAlign\n }\n padding={\n config.gxgMessage.common.textAlign as TextPadding\n }\n type={config.gxgMessage.common.type as TextType}\n maxWidth={config.gxgMessage.common.maxWidth}\n part=\"objects-in-file-empty-status-message\"\n >\n {this._componentLocale.main.objectsInFile.noObjects}\n <gxg-text\n type=\"text-link-no-line\"\n onClick={this.selectFileAndLoadHandler}\n >\n {\n this._componentLocale.main.objectsInFile\n .selectFile\n }\n </gxg-text>\n </gxg-text>\n </div>\n )}\n </div>\n {/* select all / unselect all checkbox*/}\n <gxg-form-checkbox\n label={\n this._componentLocale.main.objectsInFile.selectUnselect\n }\n part=\"select-all-checkbox\"\n slot=\"footer-start\"\n disabled={\n this.importingIsInProcess ||\n this.objectsTreeState.length === 0\n }\n checked={this.evaluateCheckAllValue()}\n onClick={this.toggleSelectionClickHandler}\n ref={(el: HTMLGxgFormCheckboxElement) =>\n (this.toggleObjectsCheckboxEl =\n el as HTMLGxgFormCheckboxElement)\n }\n ></gxg-form-checkbox>\n {/* import button / cancel button*/}\n <gxg-buttons-container\n reduced\n slot=\"footer-end\"\n ref={(el: HTMLGxgButtonsContainerElement) =>\n (this.objectsButtonsGroup =\n el as HTMLGxgButtonsContainerElement)\n }\n >\n {/* import objects button*/}\n <gxg-button\n id=\"import-btn\"\n part=\"import-button\"\n disabled={\n this.objectsTreeState?.length === 0 ||\n this.importingIsInProcess\n }\n onClick={this.importObjectsHandler}\n selected\n >\n {this._componentLocale.main.objectsInFile.importButton}\n </gxg-button>\n\n {/* cancel-import button*/}\n <gxg-button\n id=\"cancel-import-btn\"\n part=\"cancel-import-button\"\n disabled={!this.importingIsInProcess}\n onClick={this.cancelImportHandler}\n >\n {this._componentLocale.main.objectsInFile.cancelButton}\n </gxg-button>\n </gxg-buttons-container>\n {/* settings/options button*/}\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/settings\"\n slot=\"footer-end\"\n part=\"select-kb-btn\"\n onClick={this.optionsHandler}\n >\n {this._componentLocale.header.optionsButton}\n </gxg-button>\n </gx-ide-container>\n {/* import status */}\n <gx-ide-container\n class=\"right-container\"\n containerTitle={this._componentLocale.main.importStatus.title}\n noContentPadding\n noBorderFooter\n slimmerFooter\n inactiveTitle={this.noImport}\n titleType=\"secondary\"\n >\n <div\n class={{\n \"tree-container\": true,\n \"tree-container--import-status\": true,\n \"tree-container--empty\":\n this.noImport || !this.someStatusVisible,\n \"tree-container--no-warnings\":\n !this.statusInfo.warning.display,\n \"tree-container--no-errors\":\n !this.statusInfo.error.display,\n \"tree-container--no-succeeded\":\n !this.statusInfo.success.display\n }}\n >\n {!this.noImport && this.someStatusVisible ? (\n <ch-tree-view-render\n model={this.importTreeState}\n toggleCheckboxes={true}\n showLines=\"last\"\n class=\"tree-view\"\n filterType=\"list\"\n filterList={this.filterImportedHandler()}\n ></ch-tree-view-render>\n ) : (\n <gxg-text\n textAlign={\n config.gxgMessage.common.textAlign as TextAlign\n }\n padding={\n config.gxgMessage.common.textAlign as TextPadding\n }\n type={config.gxgMessage.common.type as TextType}\n maxWidth={config.gxgMessage.common.maxWidth}\n part=\"objects-in-file-empty-status-message\"\n class=\"gx-ide-message\"\n >\n {this.importStatusMessage}\n </gxg-text>\n )}\n </div>\n {/* clear status button */}\n <gxg-button\n type=\"secondary-text-only\"\n slot=\"footer-end\"\n part=\"select-kb-btn\"\n onClick={this.clearStatusHandler}\n disabled={this.noImport || this.importingIsInProcess}\n >\n {this._componentLocale.main.importStatus.clearButton}\n </gxg-button>\n {/* ghost element (used to force the container footer heights the same as the \"objects in file\" container tree)*/}\n <span class=\"ghost-element\" slot=\"footer-start\"></span>\n </gx-ide-container>\n </div>\n </main>\n {/* footer */}\n <footer slot=\"footer-start\">\n <gx-ide-status-buttons\n errors={this.statusInfo.error.number}\n warnings={this.statusInfo.warning.number}\n successes={this.statusInfo.success.number}\n hideMessage\n compact\n minimal={this.statusMinimal}\n onSelectionChanged={this.statusButtonsSelectionChangedHandler}\n ></gx-ide-status-buttons>\n </footer>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type LoadCallback = (file: File) => Promise<ImportCategoryData[]>;\n\nexport type ImportCallback = (itemIds: string[]) => Promise<boolean>;\n\nexport type CancelCallback = () => Promise<boolean>;\n\nexport type OptionsCallback = () => Promise<void>;\nexport interface SelectedObject {\n itemId: string;\n subItemsIds: string[];\n}\n\nexport type ImportItemData = {\n id: string;\n name: string;\n};\n\ntype StatusInfo = {\n error: {\n display: boolean;\n number: number;\n };\n warning: {\n display: boolean;\n number: number;\n };\n success: {\n display: boolean;\n number: number;\n };\n};\n\nexport type ObjectContextMenuCallback = (\n tree: ObjectsSourceType,\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\n\nexport type ObjectsSourceType = \"in-file\" | \"imported\";\n\nexport type StatusItemsState = {\n error: string[];\n warning: string[];\n success: string[];\n};\n"],"version":3}
1
+ {"file":"gx-ide-kb-manager-import.entry.cjs.js","mappings":"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","names":["countTreeItems","Locale","h","Host","config"],"sources":["src/components/kb-manager-import/helpers.ts","src/components/kb-manager-import/kb-manager-import.scss?tag=gx-ide-kb-manager-import&encapsulation=shadow","src/components/kb-manager-import/kb-manager-import.tsx"],"sourcesContent":["/* Tree View */\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\n\n/* Kb Manager Import Types*/\nimport { ImportItemData } from \"./kb-manager-import\";\nimport { ImportCategoryData, ImportItemResultData } from \"../../common/types\";\n/* objects in file metadata*/\nexport const KB_OBJECT = \"object\";\nexport const KB_CATEGORY = \"category\";\n\nconst convertImportItemToTreeItem = (\n importCatIcon: string,\n importItems: ImportItemData[]\n) => {\n const importTreeItems: TreeViewItemModel[] = [];\n importItems.forEach(importItem => {\n importTreeItems.push({\n id: importItem.id,\n caption: importItem.name,\n expanded: true,\n leaf: true,\n startImgSrc: importCatIcon,\n metadata: KB_OBJECT\n });\n });\n return importTreeItems;\n};\n\n/**\n * @description This function converts ReferenceData[] data to TreeItemData[]\n */\nexport const convertImportCategoryToTreeView = (\n importCategoryData: ImportCategoryData[]\n): TreeViewItemModel[] => {\n const treeData: TreeViewItemModel[] = [];\n if (!importCategoryData) {\n return treeData;\n }\n importCategoryData.forEach(importCat => {\n const importCategoryTreeItem: TreeViewItemModel = {\n id: importCat.id,\n caption: `${importCat.name} (${importCat.items.length})`,\n expanded: true,\n leaf: false,\n startImgSrc: importCat.icon,\n metadata: KB_CATEGORY,\n items: convertImportItemToTreeItem(importCat.icon, importCat.items)\n };\n treeData.push(importCategoryTreeItem);\n });\n return treeData;\n};\n\nconst createImportResultDataMessages = (\n importItemId: string,\n messagesArray: string[]\n): TreeViewItemModel[] => {\n const messages: TreeViewItemModel[] = [];\n messagesArray.forEach((message, i) => {\n messages.push({\n id: `${importItemId}-message-${i}}]`,\n caption: message,\n startImgSrc: \"gemini-tools/list-view/on-surface\",\n leaf: true\n });\n });\n return messages;\n};\n\nconst updateImportStatusTree = (\n importItemResultFullData: ImportItemResultFullData,\n importTreeActualState: TreeViewItemModel[]\n): TreeViewItemModel[] => {\n const objectCategoryIndex = importTreeActualState.findIndex(\n objectCategoryItem => {\n return objectCategoryItem.id === importItemResultFullData.categoryId;\n }\n );\n if (objectCategoryIndex === -1) {\n // object category node does not exists. We have to create it, and insert the import result tree node inside.\n const importTreeItem: TreeViewItemModel = {\n id: importItemResultFullData.categoryId,\n // the count is (1), because this is the first item for this category\n caption: `${importItemResultFullData.categoryName} (1)`,\n startImgSrc: importItemResultFullData.categoryIcon,\n expanded: true,\n items: [\n {\n id: importItemResultFullData.id,\n caption: importItemResultFullData.name,\n items: createImportResultDataMessages(\n importItemResultFullData.id,\n importItemResultFullData.messages\n ),\n parts: `tree-view-item tree-view-item--status tree-view-item--${importItemResultFullData.status}`,\n expanded: true,\n leaf: importItemResultFullData.messages.length === 0,\n metadata: importItemResultFullData.status.toString()\n }\n ]\n };\n importTreeActualState.push(importTreeItem);\n } else {\n // Object category node already exists. Just create the import result node, and insert into the parent category node (if it doesn't exists already).\n\n // first search for the importItemResult node...\n const importItemIndex = importTreeActualState[\n objectCategoryIndex\n ].items?.findIndex(importItem => {\n return importItem.id === importItemResultFullData.id;\n });\n\n if (importItemIndex === -1) {\n // ImportItem does not exists already\n const importTreeItem: TreeViewItemModel = {\n id: importItemResultFullData.id,\n caption: importItemResultFullData.name,\n expanded: true,\n items: createImportResultDataMessages(\n importItemResultFullData.id,\n importItemResultFullData.messages\n ),\n parts: `tree-view-item tree-view-item--status tree-view-item--${importItemResultFullData.status}`,\n metadata: importItemResultFullData.status.toString()\n };\n // Insert the import node into the category node\n importTreeActualState[objectCategoryIndex].items.push(importTreeItem);\n // Then, update the category node caption (the name is the same, but the (count) should be the actual items.length, because we have just added a new child import node. )\n importTreeActualState[\n objectCategoryIndex\n ].caption = `${importItemResultFullData.categoryName} (${importTreeActualState[objectCategoryIndex].items.length})`;\n }\n }\n return importTreeActualState;\n};\n\n/**\n * This function takes an ImportItemResultData item, and updates it to a ImportCategoryFullData, which has the same information, plus the category parent needed information, that will be used for creating the \"virtual\" parent category node on the \"Import Status\" section.\n */\nconst createImportResultFullData = (\n importItemResultData: ImportItemResultData,\n importCategoryData: ImportCategoryData[]\n): ImportItemResultFullData => {\n const importCategoryFullData: ImportItemResultFullData = {\n categoryId: undefined,\n categoryName: undefined,\n categoryIcon: undefined,\n ...importItemResultData\n };\n importCategoryDataFor: for (let i = 0; i < importCategoryData.length; i++) {\n const categoryNode = importCategoryData[i];\n for (let j = 0; j < categoryNode.items.length; j++) {\n if (categoryNode.items[j].id === importItemResultData.id) {\n importCategoryFullData.categoryId = categoryNode.id;\n importCategoryFullData.categoryName = categoryNode.name;\n importCategoryFullData.categoryIcon = categoryNode.icon;\n break importCategoryDataFor;\n }\n }\n }\n return importCategoryFullData;\n};\n\n/**\n * @description This function adds an ImportItemResultData item to the \"importTreeState\", and returns the updated tree with the new item added.\n */\nexport const addImportItemResultDataItem = (\n importItemResultData: ImportItemResultData,\n importCategoryData: ImportCategoryData[],\n importTreeActualState: TreeViewItemModel[]\n): TreeViewItemModel[] => {\n let updatedImportStatusTree: TreeViewItemModel[] = [...importTreeActualState];\n // first, update importItemResultData with the category data. It will be needed later.\n const importItemResultFullData: ImportItemResultFullData =\n createImportResultFullData(importItemResultData, importCategoryData);\n updatedImportStatusTree = updateImportStatusTree(\n importItemResultFullData,\n updatedImportStatusTree\n );\n return updatedImportStatusTree;\n};\n\ntype ImportItemResultFullData = ImportItemResultData & {\n categoryId: string;\n categoryName: string;\n categoryIcon: string;\n};\n","@import \"tree-icons-list.scss\";\n@import \"../../global/gx-ide-common.scss\";\n@import \"../../global/gx-ide-mixins.scss\";\n\n:host {\n display: block;\n}\n/*Header*/\n.header {\n display: flex;\n flex-direction: row;\n gap: var(--gx-ide-grid-column-gap);\n\n .select-file {\n flex: 1;\n }\n}\n/*Main*/\n.main {\n //min-height: 250px;\n height: 100%;\n overflow: auto;\n .container-wrapper {\n height: 100%;\n display: grid;\n grid-template-rows: auto 1fr;\n grid-template-columns: 1fr 1fr;\n grid-template-areas:\n \"top-state-bar top-state-bar\"\n \"left-container right-container\";\n\n .top-state-bar {\n grid-area: top-state-bar;\n }\n .left-container {\n grid-area: left-container;\n border-right: 1px solid var(--gx-ide-container-border-color);\n }\n .right-container {\n grid-area: right-container;\n }\n\n @include gx-ide-message(\"short\");\n\n .tree-container {\n padding: var(--mer-spacing--xs) 0 var(--mer-spacing--xs)\n var(--mer-spacing--xs);\n block-size: 100%;\n &--empty {\n align-items: center;\n justify-content: center;\n display: flex;\n }\n /*import status display/hide status (warning, error, success)*/\n &--no-warnings {\n .tree-view-item--warning {\n display: none;\n }\n }\n &--no-errors {\n .tree-view-item--error {\n display: none;\n }\n }\n &--no-successes {\n .tree-view-item--success {\n display: none;\n }\n }\n }\n }\n}\n\n// .tree-view\n.tree-view::part(item__action tree-view-item--status) {\n grid-template: \"first-img left-img text right-img\" / max-content max-content 1fr max-content;\n &::before {\n grid-area: first-img;\n content: \"\";\n width: var(--mer-spacing--xs);\n height: var(--mer-spacing--xs);\n border-radius: 50%;\n background-color: var(--gray-03);\n margin-inline-end: var(--mer-spacing--xxs);\n }\n}\n\n.tree-view::part(item__action tree-view-item--success) {\n @include tree-item-status(\"success\");\n}\n.tree-view::part(item__action tree-view-item--warning) {\n @include tree-item-status(\"warning\");\n}\n.tree-view::part(item__action tree-view-item--error) {\n @include tree-item-status(\"error\");\n}\n\n.ghost-element {\n display: block;\n width: 0;\n height: 24px; /*this is the taller element on the \"objects in file container footer (which is the button group, at the time of writing)\"*/\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n Element,\n State,\n EventEmitter,\n Watch,\n Method\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport { TreeViewItemContextMenu } from \"@genexus/chameleon-controls-library\";\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\nimport { TreeViewItemModelExtended } from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport {\n TextAlign,\n TextPadding,\n TextType\n} from \"@genexus/gemini/dist/types/components/text/text\";\n/* CUSTOM IMPORTS */\nimport { Locale } from \"../../common/locale\";\nimport { config } from \"../../common/config\";\nimport {\n ImportCategoryData,\n ImportItemResultData,\n ContextMenuInfo\n} from \"../../common/types\";\nimport {\n convertImportCategoryToTreeView,\n addImportItemResultDataItem\n} from \"./helpers\";\n// import { CheckboxInfo } from \"@genexus/gemini/dist/types/components/form-checkbox/form-checkbox\";\nimport { countTreeItems } from \"../../common/helpers\";\nimport { CheckedItemsInfo } from \"../_helpers/list-selector/list-selector\";\n\nimport { KB_OBJECT } from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"components/button\",\n \"components/checkbox\",\n \"components/edit\",\n \"components/tree-view\"\n];\n\n@Component({\n tag: \"gx-ide-kb-manager-import\",\n styleUrl: \"kb-manager-import.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/kb-manager-import\"]\n})\nexport class GxIdeKbManagerImport {\n // 1.OWN PROPERTIES //\n\n /**\n * The component hard-coded strings translations.\n */\n private _componentLocale: any;\n private renderedFirstTime = false;\n /* ImportCategoryBasicData Holds the original name of category data, and its id. Used to create parent nodes on the imported tree*/\n private importCategoryData: ImportCategoryData[] = [];\n private objectsInFileTotalNodes = 0;\n private selectedObjectsInFileIds: string[] = [];\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeKbManagerImportElement;\n\n private objectsTreeEl!: HTMLChTreeViewRenderElement;\n private fileInputEl!: HTMLGxgFormTextElement;\n private objectsButtonsGroup!: HTMLGxgButtonsContainerElement;\n private toggleObjectsCheckboxEl: HTMLGxgFormCheckboxElement;\n private topStateBarEl!: HTMLGxgTopStateBarElement;\n private errorItemsIds!: string[];\n private warningItemsIds!: string[];\n private successItemsIds!: string[];\n\n // 3.STATE() VARIABLES //\n\n @State() checkedObjectsIds: string[] = [];\n @State() noObjects: boolean;\n @State() showHiddenImportsMessage = false;\n @State() statusInfo: StatusInfo = {\n error: {\n display: true,\n number: 0\n },\n warning: {\n display: true,\n number: 0\n },\n success: {\n display: true,\n number: 0\n }\n };\n @State() objectsTreeState: TreeViewItemModel[] = [];\n @Watch(\"objectsTreeState\")\n watchObjectsTreeStateHandler(newState: TreeViewItemModel[]) {\n this.noObjects = !!(newState.length === 0 || !newState);\n this.objectsInFileTotalNodes = countTreeItems(newState);\n }\n\n // import status\n @State() importStatusMessage: string;\n @State() someStatusVisible: boolean;\n @State() noImport: boolean;\n @State() importTreeState: TreeViewItemModel[] = [];\n @Watch(\"importTreeState\")\n watchImportTreeStateHandler() {\n this.evaluateImport();\n if (this.noImport) {\n this.importStatusMessage =\n this._componentLocale.main.importStatus.noImportedFiles;\n } else {\n this.importStatusMessage =\n this._componentLocale.main.importStatus.importedButHidden;\n }\n }\n\n @State() importingIsInProcess = false;\n @Watch(\"importingIsInProcess\")\n watchImportingIsInProcessHandler(isImporting: boolean) {\n if (isImporting && this.topStateBar) {\n this.topStateBarEl.active = true;\n } else if (!isImporting && this.topStateBar) {\n this.topStateBarEl.active = false;\n }\n }\n\n // 4.PUBLIC PROPERTY API //\n\n /**\n * If true it displays the component title on the header\n */\n @Prop() readonly displayTitle = false;\n\n /**\n * If true, it will display a loader when needed.\n */\n @Prop() readonly topStateBar = true;\n\n /**\n * The name of the imported xml or xps file\n */\n @Prop({ mutable: true }) selectedFile: File;\n @Watch(\"selectedFile\")\n watchSelectedFileHandler(file: File) {\n if (file && file.name && file.size > 0) {\n this.loadFileHandler();\n }\n }\n\n /**\n * Callback invoked when the user wants to access the export options.\n */\n @Prop() readonly optionsCallback: OptionsCallback;\n\n /**\n *Callback invoked when the user wants to initiate the import process.\n */\n @Prop() readonly importCallback: ImportCallback;\n\n /**\n *Callback invoked when the user wants to load the xpz information\n */\n @Prop() readonly loadCallback: LoadCallback;\n\n /**\n * Callback invoked when the user wants to cancel the export process.\n * @returns It returns a boolean indicating whether the process could be canceled or not.\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * It displays the status buttons (errors, warning, succeeded) with the minimal ui (no captions)\n */\n @Prop() readonly statusMinimal = false;\n\n /**\n * It displays the status buttons (errors, warning, succeeded) with the minimal ui (no captions)\n */\n @Prop() readonly objectContextMenuCallback: ObjectContextMenuCallback;\n\n // 5.EVENTS (EMIT) //\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n /**\n * This event is emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n // 6.COMPONENT LIFECYCLE EVENTS //\n\n async componentWillLoad() {\n this._componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n this.evaluateObjects();\n this.evaluateImport();\n this.importStatusMessage =\n this._componentLocale.main.importStatus.noImportedFiles;\n this.evaluateImportStatusMessage();\n }\n\n componentDidLoad() {\n this.fileInputEl.focus();\n }\n\n componentDidRender() {\n if (!this.renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this._componentLocale.componentName\n );\n this.renderedFirstTime = true;\n }\n }\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n /**\n * Add the result of importing an item\n */\n @Method()\n async addResultItem(item: ImportItemResultData) {\n this.importTreeState = addImportItemResultDataItem(\n item,\n this.importCategoryData,\n this.importTreeState\n );\n this.statusInfo[item.status].number++;\n this.updateStatusItemsState();\n }\n\n // 9.LOCAL METHODS //\n\n private updateStatusItemsState = () => {\n this.errorItemsIds = [];\n this.warningItemsIds = [];\n this.successItemsIds = [];\n this.importTreeState.forEach(item => {\n const items = item.items;\n items.forEach(child => {\n if (child.metadata === \"error\") {\n this.errorItemsIds.push(child.id);\n }\n if (child.metadata === \"warning\") {\n this.warningItemsIds.push(child.id);\n }\n if (child.metadata === \"success\") {\n this.successItemsIds.push(child.id);\n }\n });\n });\n };\n\n private evaluateImportStatusMessage = () => {\n this.someStatusVisible =\n this.statusInfo.error.display ||\n this.statusInfo.warning.display ||\n this.statusInfo.success.display;\n };\n\n private evaluateObjects = () => {\n this.noObjects = !!(\n this.objectsTreeState?.length === 0 || !this.objectsTreeState\n );\n };\n\n private evaluateImport = () => {\n this.noImport = !!(\n this.importTreeState?.length === 0 || !this.importTreeState\n );\n };\n\n private selectFileAndLoadHandler = () => {\n this.fileInputEl.openFile();\n };\n\n private loadFileHandler = async () => {\n if (this.loadCallback && this.selectedFile) {\n this.importCategoryData = await this.loadCallback(this.selectedFile);\n const importCategoryTreeData = convertImportCategoryToTreeView(\n this.importCategoryData\n );\n this.objectsTreeState = importCategoryTreeData;\n if (this.importCategoryData.length > 0) {\n // clear input\n this.selectedFile = null;\n }\n }\n };\n\n private fileSelectedHandler = (fileEvent: CustomEvent<FileList>) => {\n this.selectedFile = fileEvent.detail[0];\n };\n\n private importObjectsHandler = async () => {\n if (this.importCallback) {\n /* first clear imported objects (this clears errors/warnings/success counts as well)*/\n this.clearStatusHandler();\n /* then do the import*/\n this.importingIsInProcess = true;\n this.objectsButtonsGroup.selectedButtonId = \"cancel-import-btn\";\n this.importCallback(this.checkedObjectsIds).then(() => {\n this.importingIsInProcess = false;\n });\n }\n };\n\n private objectsTreeCheckedItemsChangedHandler = (\n event: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n /* 1. Begin of evaluate 'select/unselect checkbox' state*/\n if (event.detail == null) {\n this.toggleObjectsCheckboxEl.checked = false;\n this.toggleObjectsCheckboxEl.indeterminate = false;\n return;\n }\n\n const allItemsWithCheckbox = [...event.detail.values()];\n\n if (allItemsWithCheckbox.length === 0) {\n this.toggleObjectsCheckboxEl.checked = false;\n this.toggleObjectsCheckboxEl.indeterminate = false;\n return;\n }\n\n const firstItemCheckedValue = allItemsWithCheckbox[0].item.checked;\n\n const allItemsHaveTheSameCheckedValue = allItemsWithCheckbox.every(\n treeItem => treeItem.item.checked === firstItemCheckedValue\n );\n\n this.toggleObjectsCheckboxEl.checked = firstItemCheckedValue;\n this.toggleObjectsCheckboxEl.indeterminate =\n !allItemsHaveTheSameCheckedValue;\n /* /End of evaluate 'select/unselect checkbox' state*/\n\n /* 2. Begin of checked items evaluation*/\n const checkedItems = allItemsWithCheckbox.filter(node => node.item.checked);\n // objects checked\n const checkedObjects = checkedItems.filter(\n node => node.item.metadata === KB_OBJECT\n );\n\n const checkedObjectsIds: string[] = [];\n if (checkedObjects.length > 0) {\n checkedObjects.forEach(objectChecked => {\n checkedObjectsIds.push(objectChecked.item.id);\n });\n }\n /* /End of checked items evaluation*/\n\n /* 3. Begin of caption update*/\n /* TO DO (when we can differentiate the caption from the number of children)*/\n // const categoryItems = allItemsWithCheckbox.filter(\n // node => node.item.metadata === KB_CATEGORY\n // );\n // categoryItems.forEach(category => {\n // const itemInfo = category.item;\n // // Update the amount of checked values\n // if (itemInfo.leaf !== true) {\n // const totalItems = itemInfo.items.length;\n\n // const totalItemsChecked = itemInfo.items.filter(\n // itemUIModel => itemUIModel.checked\n // ).length;\n\n // const newItemCaption =\n // totalItems !== totalItemsChecked\n // ? `${itemInfo.caption} (${totalItemsChecked}/${totalItems})`\n // : `${itemInfo.caption} (${totalItems})`;\n\n // // Only update the item caption if needed\n // if (newItemCaption !== itemInfo.caption) {\n // this.objectsTreeEl.updateItemsProperties([itemInfo.id], {\n // id: itemInfo.id,\n // caption: newItemCaption\n // });\n // }\n // }\n // });\n\n /* /End of caption update*/\n this.checkedObjectsIds = checkedObjectsIds;\n };\n\n private objectsTreeSelectedItemsChangedHandler = (\n event: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n this.selectedObjectsInFileIds = event.detail.map(item => item.item.id);\n };\n\n private objectsTreeContextMenuHandler = (\n event: CustomEvent<TreeViewItemContextMenu>\n ) => {\n if (this.objectContextMenuCallback && event.detail.metadata === KB_OBJECT) {\n this.objectContextMenuCallback(\"imported\", {\n selection: this.selectedObjectsInFileIds,\n clientX: event.detail.contextmenuEvent.screenX,\n clientY: event.detail.contextmenuEvent.screenY\n });\n }\n };\n\n private cancelImportHandler = () => {\n if (this.cancelCallback) {\n this.cancelCallback().then(result => {\n if (result) {\n this.topStateBarEl.active = false;\n }\n });\n // returns boolean\n }\n };\n\n private optionsHandler = () => {\n if (this.optionsCallback) {\n this.optionsCallback();\n // returns boolean\n }\n };\n\n private clearStatusHandler = () => {\n this.importTreeState = [];\n this.statusInfo.error.number = 0;\n this.statusInfo.warning.number = 0;\n this.statusInfo.success.number = 0;\n };\n\n private toggleSelectionClickHandler = (e: MouseEvent) => {\n if (this.objectsTreeEl) {\n const checked = (e.target as HTMLGxgFormCheckboxElement).checked;\n this.toggleObjectsCheckboxEl.indeterminate = false;\n this.objectsTreeEl.updateAllItemsProperties({ checked: checked });\n }\n };\n\n private statusButtonsSelectionChangedHandler = (\n e: CustomEvent<CheckedItemsInfo>\n ) => {\n const activeStates = e.detail;\n const errorIndex = activeStates.findIndex(\n state => state.itemId === \"errors\"\n );\n const warningIndex = activeStates.findIndex(\n state => state.itemId === \"warnings\"\n );\n const successIndex = activeStates.findIndex(\n state => state.itemId === \"successes\"\n );\n this.statusInfo = {\n error: {\n display: errorIndex !== -1,\n number: this.statusInfo.error.number\n },\n warning: {\n display: warningIndex !== -1,\n number: this.statusInfo.warning.number\n },\n success: {\n display: successIndex !== -1,\n number: this.statusInfo.success.number\n }\n };\n this.evaluateImportStatusMessage();\n };\n\n private evaluateCheckAllValue = (): boolean => {\n let checked = true;\n const allAreChecked =\n this.objectsInFileTotalNodes === this.checkedObjectsIds.length;\n const conditionToUncheck =\n this.objectsTreeState.length === 0 || !allAreChecked;\n if (conditionToUncheck) {\n checked = false;\n }\n return checked;\n };\n\n private fileClearedHandler = () => {\n this.selectedFile = null;\n };\n\n /**\n * @description Filters the imported items based on the state of the status checkboxes (error, warning, success).\n */\n private filterImportedHandler = () => {\n const filteredItems: string[] = [];\n this.importTreeState.forEach(item => {\n const items = item.items;\n items.forEach(child => {\n if (\n this.statusInfo.error.display &&\n this.statusInfo.warning.display &&\n this.statusInfo.success.display\n ) {\n // all are checked, return all\n filteredItems.push(child.id);\n child.items.forEach(mesageItem => {\n filteredItems.push(mesageItem.id);\n });\n } else if (\n this.statusInfo.error.display &&\n this.statusInfo.warning.display &&\n !this.statusInfo.success.display\n ) {\n // return error and warning only;\n const foundSuccess = this.successItemsIds.find(\n successItemId => successItemId === child.id\n );\n if (!foundSuccess) {\n filteredItems.push(child.id);\n child.items.forEach(mesageItem => {\n filteredItems.push(mesageItem.id);\n });\n }\n } else if (\n this.statusInfo.error.display &&\n !this.statusInfo.warning.display &&\n this.statusInfo.success.display\n ) {\n // return error and success only\n const foundWarning = this.warningItemsIds.find(\n warningItemId => warningItemId === child.id\n );\n if (!foundWarning) {\n filteredItems.push(child.id);\n child.items.forEach(mesageItem => {\n filteredItems.push(mesageItem.id);\n });\n }\n } else if (\n this.statusInfo.error.display &&\n !this.statusInfo.warning.display &&\n !this.statusInfo.success.display\n ) {\n // return error only\n const foundError = this.errorItemsIds.find(\n errorItemId => errorItemId === child.id\n );\n if (foundError) {\n filteredItems.push(child.id);\n child.items.forEach(mesageItem => {\n filteredItems.push(mesageItem.id);\n });\n }\n } else if (\n !this.statusInfo.error.display &&\n this.statusInfo.warning.display &&\n this.statusInfo.success.display\n ) {\n // return warning and success\n const foundError = this.errorItemsIds.find(\n errorItemId => errorItemId === child.id\n );\n if (!foundError) {\n filteredItems.push(child.id);\n child.items.forEach(mesageItem => {\n filteredItems.push(mesageItem.id);\n });\n }\n } else if (\n !this.statusInfo.error.display &&\n this.statusInfo.warning.display &&\n !this.statusInfo.success.display\n ) {\n // return warning only\n const foundWarning = this.warningItemsIds.find(\n warningItemId => warningItemId === child.id\n );\n if (foundWarning) {\n filteredItems.push(child.id);\n child.items.forEach(mesageItem => {\n filteredItems.push(mesageItem.id);\n });\n }\n } else if (\n !this.statusInfo.error.display &&\n !this.statusInfo.warning.display &&\n this.statusInfo.success.display\n ) {\n // return success only\n const foundSuccess = this.successItemsIds.find(\n successItemId => successItemId === child.id\n );\n if (foundSuccess) {\n filteredItems.push(child.id);\n child.items.forEach(mesageItem => {\n filteredItems.push(mesageItem.id);\n });\n }\n }\n // else do nothing. Al status checkboxes are unchecked.\n });\n });\n return filteredItems;\n };\n\n // 10.RENDER() FUNCTION //\n\n render(): void {\n return (\n <Host class=\"gx-ide-component\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"gx-ide-main-wrapper\">\n <gx-ide-container\n noContentPadding\n noFooterPadding\n containerTitle={\n this.displayTitle ? this._componentLocale.componentName : null\n }\n >\n {/* header */}\n <header class=\"header\" slot=\"header\">\n {/* select a file */}\n <gxg-form-text\n type=\"file\"\n class=\"select-file\"\n label={this._componentLocale.header.fileNameLabel}\n placeholder={this._componentLocale.header.fileNamePlaceholder}\n part=\"file-name\"\n acceptFile=\".xpz, .xml\"\n clearButton\n iconPosition=\"start\"\n onFileSelected={this.fileSelectedHandler}\n onClearButtonClicked={this.fileClearedHandler}\n ref={(el: HTMLGxgFormTextElement) =>\n (this.fileInputEl = el as HTMLGxgFormTextElement)\n }\n ></gxg-form-text>\n {/* select file button / load button*/}\n <gxg-button\n type=\"primary-text-icon\"\n icon=\"gemini-tools/file\"\n part=\"select-file-load-button\"\n onClick={this.selectFileAndLoadHandler}\n disabled={this.importingIsInProcess}\n >\n {this._componentLocale.header.selectFileButton}\n </gxg-button>\n </header>\n <main class=\"main\">\n {/* main */}\n {/* objects in file*/}\n <div class=\"container-wrapper\">\n {/* top state bar*/}\n {this.topStateBar ? (\n <gxg-top-state-bar\n class=\"top-state-bar\"\n part=\"top-state-bar\"\n caption={this._componentLocale.loader.title}\n ref={el =>\n (this.topStateBarEl = el as HTMLGxgTopStateBarElement)\n }\n ></gxg-top-state-bar>\n ) : null}\n <gx-ide-container\n containerTitle={\n this._componentLocale.main.objectsInFile.title\n }\n noContentPadding\n noBorderFooter\n class=\"left-container\"\n slimmerFooter\n inactiveTitle={this.noObjects}\n titleType=\"secondary\"\n >\n <div\n class={{\n \"tree-container\": true,\n \"tree-container--objects-in-file\": true,\n \"tree-container--empty\": this.noObjects\n }}\n >\n {!this.noObjects ? (\n <ch-tree-view-render\n showLines=\"last\"\n class=\"tree-view\"\n model={this.objectsTreeState}\n dragDisabled={true}\n dropDisabled={true}\n toggleCheckboxes={true}\n checkbox={true}\n checked={true}\n onCheckedItemsChange={\n this.objectsTreeCheckedItemsChangedHandler\n }\n onSelectedItemsChange={\n this.objectsTreeSelectedItemsChangedHandler\n }\n onItemContextmenu={this.objectsTreeContextMenuHandler}\n ref={el =>\n (this.objectsTreeEl =\n el as HTMLChTreeViewRenderElement)\n }\n ></ch-tree-view-render>\n ) : (\n <div class=\"gx-ide-message\">\n <gxg-text\n textAlign={\n config.gxgMessage.common.textAlign as TextAlign\n }\n padding={\n config.gxgMessage.common.textAlign as TextPadding\n }\n type={config.gxgMessage.common.type as TextType}\n maxWidth={config.gxgMessage.common.maxWidth}\n part=\"objects-in-file-empty-status-message\"\n >\n {this._componentLocale.main.objectsInFile.noObjects}\n <gxg-text\n type=\"text-link-no-line\"\n onClick={this.selectFileAndLoadHandler}\n >\n {\n this._componentLocale.main.objectsInFile\n .selectFile\n }\n </gxg-text>\n </gxg-text>\n </div>\n )}\n </div>\n {/* select all / unselect all checkbox*/}\n <gxg-form-checkbox\n label={\n this._componentLocale.main.objectsInFile.selectUnselect\n }\n part=\"select-all-checkbox\"\n slot=\"footer-start\"\n disabled={\n this.importingIsInProcess ||\n this.objectsTreeState.length === 0\n }\n checked={this.evaluateCheckAllValue()}\n onClick={this.toggleSelectionClickHandler}\n ref={(el: HTMLGxgFormCheckboxElement) =>\n (this.toggleObjectsCheckboxEl =\n el as HTMLGxgFormCheckboxElement)\n }\n ></gxg-form-checkbox>\n {/* import button / cancel button*/}\n <gxg-buttons-container\n reduced\n slot=\"footer-end\"\n ref={(el: HTMLGxgButtonsContainerElement) =>\n (this.objectsButtonsGroup =\n el as HTMLGxgButtonsContainerElement)\n }\n >\n {/* import objects button*/}\n <gxg-button\n id=\"import-btn\"\n part=\"import-button\"\n disabled={\n this.objectsTreeState?.length === 0 ||\n this.importingIsInProcess\n }\n onClick={this.importObjectsHandler}\n selected\n >\n {this._componentLocale.main.objectsInFile.importButton}\n </gxg-button>\n\n {/* cancel-import button*/}\n <gxg-button\n id=\"cancel-import-btn\"\n part=\"cancel-import-button\"\n disabled={!this.importingIsInProcess}\n onClick={this.cancelImportHandler}\n >\n {this._componentLocale.main.objectsInFile.cancelButton}\n </gxg-button>\n </gxg-buttons-container>\n {/* settings/options button*/}\n <gxg-button\n type=\"secondary-icon-only\"\n icon=\"gemini-tools/settings\"\n slot=\"footer-end\"\n part=\"select-kb-btn\"\n onClick={this.optionsHandler}\n >\n {this._componentLocale.header.optionsButton}\n </gxg-button>\n </gx-ide-container>\n {/* import status */}\n <gx-ide-container\n class=\"right-container\"\n containerTitle={this._componentLocale.main.importStatus.title}\n noContentPadding\n noBorderFooter\n slimmerFooter\n inactiveTitle={this.noImport}\n titleType=\"secondary\"\n >\n <div\n class={{\n \"tree-container\": true,\n \"tree-container--import-status\": true,\n \"tree-container--empty\":\n this.noImport || !this.someStatusVisible,\n \"tree-container--no-warnings\":\n !this.statusInfo.warning.display,\n \"tree-container--no-errors\":\n !this.statusInfo.error.display,\n \"tree-container--no-succeeded\":\n !this.statusInfo.success.display\n }}\n >\n {!this.noImport && this.someStatusVisible ? (\n <ch-tree-view-render\n model={this.importTreeState}\n toggleCheckboxes={true}\n showLines=\"last\"\n class=\"tree-view\"\n filterType=\"list\"\n filterList={this.filterImportedHandler()}\n ></ch-tree-view-render>\n ) : (\n <gxg-text\n textAlign={\n config.gxgMessage.common.textAlign as TextAlign\n }\n padding={\n config.gxgMessage.common.textAlign as TextPadding\n }\n type={config.gxgMessage.common.type as TextType}\n maxWidth={config.gxgMessage.common.maxWidth}\n part=\"objects-in-file-empty-status-message\"\n class=\"gx-ide-message\"\n >\n {this.importStatusMessage}\n </gxg-text>\n )}\n </div>\n {/* clear status button */}\n <gxg-button\n type=\"secondary-text-only\"\n slot=\"footer-end\"\n part=\"select-kb-btn\"\n onClick={this.clearStatusHandler}\n disabled={this.noImport || this.importingIsInProcess}\n >\n {this._componentLocale.main.importStatus.clearButton}\n </gxg-button>\n {/* ghost element (used to force the container footer heights the same as the \"objects in file\" container tree)*/}\n <span class=\"ghost-element\" slot=\"footer-start\"></span>\n </gx-ide-container>\n </div>\n </main>\n {/* footer */}\n <footer slot=\"footer-start\">\n <gx-ide-status-buttons\n errors={this.statusInfo.error.number}\n warnings={this.statusInfo.warning.number}\n successes={this.statusInfo.success.number}\n hideMessage\n compact\n minimal={this.statusMinimal}\n onSelectionChanged={this.statusButtonsSelectionChangedHandler}\n ></gx-ide-status-buttons>\n </footer>\n </gx-ide-container>\n </div>\n </Host>\n );\n }\n}\n\nexport type LoadCallback = (file: File) => Promise<ImportCategoryData[]>;\n\nexport type ImportCallback = (itemIds: string[]) => Promise<boolean>;\n\nexport type CancelCallback = () => Promise<boolean>;\n\nexport type OptionsCallback = () => Promise<void>;\nexport interface SelectedObject {\n itemId: string;\n subItemsIds: string[];\n}\n\nexport type ImportItemData = {\n id: string;\n name: string;\n};\n\ntype StatusInfo = {\n error: {\n display: boolean;\n number: number;\n };\n warning: {\n display: boolean;\n number: number;\n };\n success: {\n display: boolean;\n number: number;\n };\n};\n\nexport type ObjectContextMenuCallback = (\n tree: ObjectsSourceType,\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\n\nexport type ObjectsSourceType = \"in-file\" | \"imported\";\n\nexport type StatusItemsState = {\n error: string[];\n warning: string[];\n success: string[];\n};\n"],"version":3}
@@ -4,14 +4,12 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-b87e3ee0.js');
6
6
 
7
- const listSelectorCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}*,::after,::before{box-sizing:border-box}:host{display:flex;flex-direction:column;max-height:100%;font-family:var(--mer-font-family--primary)}gxg-title{display:block;margin-block-end:var(--gxg-label-margin-vertical)}.list{background-color:unset;border:none;color:inherit;font:inherit;margin:0;padding:0;outline:0;list-style-type:none;margin:0;padding:0;color:var(--gx-ide-component-text-color);background-color:var(--gx-ide-component-background-color);font-size:var(--gx-ide-component-text-size);font-weight:var(--mer-font__weight--regular);display:block;background-color:var(--mer-color__surface);max-height:100%;overflow-y:auto;border:1px solid var(--gx-ide-container-border-color);border-radius:var(--ds-form-control-border-radius)}.list::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.list::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.list::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.list::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.list::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host([no-list-border]) .list{border:none}";
7
+ const listSelectorCss = ":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)}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}*,::after,::before{box-sizing:border-box}:host{display:flex;flex-direction:column;max-height:100%;font-size:var(--item__font-size)}.list{background-color:unset;border:none;color:inherit;font:inherit;margin:0;padding:0;outline:0;list-style-type:none;margin:0;padding:0;color:var(--gx-ide-component-text-color);background-color:var(--gx-ide-component-background-color);font-size:var(--gx-ide-component-text-size);font-weight:var(--mer-font__weight--regular);display:grid;background-color:var(--mer-color__surface);max-height:100%;overflow-y:auto;gap:var(--mer-spacing--2xs);border-style:var(--items-container__border-style);border-width:var(--items-container__border-width);border-radius:var(--items-container__border-radius);background-color:var(--items-container__bg-color);border-color:var(--items-container__border-color);gap:var(--items-container__gap);padding-block:var(--items-container__padding-block);padding-inline:var(--items-container__padding-inline)}.list::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.list::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.list::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.list::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.list::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host([no-list-border]) .list{border:none}";
8
8
 
9
9
  const GxIdeListSelector = class {
10
10
  constructor(hostRef) {
11
11
  index.registerInstance(this, hostRef);
12
12
  this.selectionChanged = index.createEvent(this, "selectionChanged", 7);
13
- // 8.PUBLIC METHODS API //
14
- // 9.LOCAL METHODS //
15
13
  /**
16
14
  * It evaluates the checked items, and checks or unchecks if needed
17
15
  */
@@ -70,25 +68,20 @@ const GxIdeListSelector = class {
70
68
  }
71
69
  });
72
70
  };
73
- this.listTitle = undefined;
74
71
  this.ordered = false;
75
72
  this.readonly = false;
76
73
  this.type = "single-selection";
77
74
  this.required = false;
78
75
  this.ellipsis = false;
79
76
  this.value = undefined;
80
- this.iconsColor = "auto";
81
- this.iconsSize = "small";
82
77
  this.listName = undefined;
83
78
  this.noItemsBorder = false;
84
79
  this.noListBorder = false;
85
80
  }
86
- // 6.COMPONENT LIFECYCLE METHODS //
87
81
  componentWillLoad() {
88
82
  this.evaluateChecked();
89
83
  this.evaluateInitialValue();
90
84
  }
91
- // 7.LISTENERS //
92
85
  itemSelectionChangedHandler(event) {
93
86
  event.stopPropagation();
94
87
  const selectedItem = event.detail;
@@ -119,15 +112,14 @@ const GxIdeListSelector = class {
119
112
  /* emit selectionChanged*/
120
113
  this.selectionChanged.emit(checkedItemsInfo);
121
114
  }
122
- // 10.RENDER() FUNCTION //
123
115
  render() {
124
- return (index.h(index.Host, { exportparts: "input:input" }, this.listTitle ? (index.h("gxg-title", { type: "title-04" }, this.listTitle)) : null, this.ordered ? (index.h("ol", { class: "list", part: "list" }, index.h("slot", null))) : (index.h("ul", { class: "list", part: "list" }, index.h("slot", null)))));
116
+ return (index.h(index.Host, { exportparts: "input:input" }, this.ordered ? (index.h("ol", { class: "list", part: "list" }, index.h("slot", null))) : (index.h("ul", { class: "list", part: "list" }, index.h("slot", null)))));
125
117
  }
126
118
  get el() { return index.getElement(this); }
127
119
  };
128
120
  GxIdeListSelector.style = listSelectorCss;
129
121
 
130
- const listSelectorItemCss = ":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)}*,::after,::before{box-sizing:border-box}gx-ide-list-selector-item{display:block;max-width:100%;display:flex;font-size:inherit}gx-ide-list-selector-item:hover .label{background-color:var(--ds-item-background-color--hover);cursor:pointer}gx-ide-list-selector-item:hover input:checked+.label{background-color:inherit}gx-ide-list-selector-item:not(:first-child){border-block-start:var(--gx-ide-list-items-border)}gx-ide-list-selector-item:not(:first-child):has(input:checked){border-block-color:var(--ds-item-border-color--selected)}gx-ide-list-selector-item[readonly]:not([readonly=false]) .label{pointer-events:none;background-color:transparent}gx-ide-list-selector-item[ellipsis]:not([ellipsis=false]) .label__description{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}gx-ide-list-selector-item input{width:0;height:0;opacity:0;margin:0}gx-ide-list-selector-item input:focus+.label{outline:var(--ds-focus-border-width) solid var(--ds-border-color-control--focused);outline-offset:-1px;outline-offset:0;outline-offset:var(--gxg-tree-view-item__outline-offset--active)}gx-ide-list-selector-item input:checked+.label{background-color:inherit;color:var(--gxg-grid-row-cell__color--selected)}gx-ide-list-selector-item .label{width:100%}gx-ide-list-selector-item .label__wrapper{display:flex;min-height:28px;align-items:center;gap:var(--mer-spacing--xs);padding:var(--mer-spacing--2xs) var(--mer-spacing--xs);width:100%}gx-ide-list-selector-item .label__description{flex:1;display:flex;align-items:center;gap:var(--mer-spacing--xs)}gx-ide-list-selector-item[no-border]{border-block-start:none}gx-ide-list-selector-item .label__universal-slot{display:flex;align-items:center;justify-content:center}";
122
+ const listSelectorItemCss = "@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}*,::after,::before{box-sizing:border-box}gx-ide-list-selector-item{display:block;max-width:100%;display:flex;font-size:inherit;font-weight:var(--item__font-weight)}gx-ide-list-selector-item:hover .label{background-color:var(--item__bg-color--hover);cursor:pointer}gx-ide-list-selector-item:hover input:checked+.label{border-color:var(--item__border-color--selected-hover)}gx-ide-list-selector-item[readonly]:not([readonly=false]) .label{pointer-events:none;background-color:transparent}gx-ide-list-selector-item[ellipsis]:not([ellipsis=false]) .label__description{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}gx-ide-list-selector-item input{width:0;height:0;opacity:0;margin:0}gx-ide-list-selector-item input:focus+.label{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}gx-ide-list-selector-item input:checked+.label{background-color:var(--item__bg-color--selected);color:var(--item__color--selected);border-color:var(--item__border-color--selected)}gx-ide-list-selector-item .label{width:100%;border:1px solid transparent;border-radius:var(--item__border-radius)}gx-ide-list-selector-item .label__wrapper{display:flex;min-height:28px;align-items:center;gap:var(--mer-spacing--xs);padding:var(--mer-spacing--2xs) var(--mer-spacing--xs);width:100%}gx-ide-list-selector-item .label__description{flex:1;display:flex;align-items:center;gap:var(--mer-spacing--xs)}gx-ide-list-selector-item[no-border]{border-block-start:none}gx-ide-list-selector-item .label__universal-slot{display:flex;align-items:center;justify-content:center}";
131
123
 
132
124
  const GxIdeListSelectorItem = class {
133
125
  constructor(hostRef) {
@@ -211,17 +203,6 @@ const GxIdeListSelectorItem = class {
211
203
  this.index = index;
212
204
  }
213
205
  };
214
- this.evaluateIconColor = () => {
215
- this.parentIsListSelector &&
216
- this.parentList.iconsColor &&
217
- this.iconColor === undefined &&
218
- (this.iconColor = this.parentList.iconsColor);
219
- };
220
- this.evaluateIconSize = () => {
221
- this.parentIsListSelector &&
222
- this.parentList.iconsSize &&
223
- (this.iconSize = this.parentList.iconsSize);
224
- };
225
206
  this.onChangeHandler = (e) => {
226
207
  this.itemChecked = e.target.checked;
227
208
  this.itemSelectionChanged.emit({
@@ -237,8 +218,6 @@ const GxIdeListSelectorItem = class {
237
218
  this.readonly = undefined;
238
219
  this.ellipsis = undefined;
239
220
  this.icon = undefined;
240
- this.iconColor = undefined;
241
- this.iconSize = undefined;
242
221
  this.noBorder = false;
243
222
  this.universalSlotEnd = false;
244
223
  }
@@ -249,8 +228,6 @@ const GxIdeListSelectorItem = class {
249
228
  this.evaluateSelectable();
250
229
  this.evaluateEllipsis();
251
230
  this.evaluateChecked();
252
- this.evaluateIconColor();
253
- this.evaluateIconSize();
254
231
  this.evaluateBorder();
255
232
  this.evaluateUniversalSlot();
256
233
  this.assignName();
@@ -258,7 +235,7 @@ const GxIdeListSelectorItem = class {
258
235
  }
259
236
  // 10.RENDER() FUNCTION //
260
237
  render() {
261
- return (index.h(index.Host, { role: "listitem" }, index.h("input", { type: this.type, id: this.itemId, name: this.name, value: this.itemValue, checked: this.itemChecked, onChange: this.onChangeHandler, disabled: this.readonly, part: "input" }), index.h("label", { class: "label", htmlFor: this.itemId, part: "label" }, index.h("div", { class: "label__wrapper" }, this.index ? (index.h("span", { class: "label__index" }, this.index, ". ")) : null, this.icon ? (index.h("gxg-icon", { class: "label__icon", type: this.icon, size: "small", color: this.iconColor, part: "icon" })) : null, this.hasUniversalSlot ? (index.h("span", { class: "label__universal-slot", part: "universal-slot" }, index.h("slot", { name: "universal" }))) : null, index.h("span", { class: "label__description", part: "description" }, this.itemValue ? this.itemValue : index.h("slot", null))))));
238
+ return (index.h(index.Host, { role: "listitem" }, index.h("input", { type: this.type, id: this.itemId, name: this.name, value: this.itemValue, checked: this.itemChecked, onChange: this.onChangeHandler, disabled: this.readonly, part: "input" }), index.h("label", { class: "label", htmlFor: this.itemId, part: "label" }, index.h("div", { class: "label__wrapper" }, this.index ? (index.h("span", { class: "label__index" }, this.index, ". ")) : null, this.hasUniversalSlot ? (index.h("span", { class: "label__universal-slot", part: "universal-slot" }, index.h("slot", { name: "universal" }))) : null, this.icon ? (index.h("ch-image", { class: "icon-md", src: this.icon, part: "icon" })) : null, index.h("span", { class: "label__description", part: "description" }, this.itemValue ? this.itemValue : index.h("slot", null))))));
262
239
  }
263
240
  get el() { return index.getElement(this); }
264
241
  };