@genexus/genexus-ide-ui 2.1.1 → 2.1.3

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 (594) hide show
  1. package/dist/cjs/gx-ide-about.cjs.entry.js +1 -1
  2. package/dist/cjs/gx-ide-about.cjs.entry.js.map +1 -1
  3. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +1 -1
  4. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js.map +1 -1
  5. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js +1 -1
  6. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js.map +1 -1
  7. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +1 -1
  8. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js.map +1 -1
  9. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +1 -1
  10. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js.map +1 -1
  11. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +1 -1
  12. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js.map +1 -1
  13. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +1 -1
  14. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js.map +1 -1
  15. package/dist/cjs/gx-ide-bpm-sync-gam-roles.cjs.entry.js +1 -1
  16. package/dist/cjs/gx-ide-bpm-sync-gam-roles.cjs.entry.js.map +1 -1
  17. package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js +1 -1
  18. package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js.map +1 -1
  19. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +1 -1
  20. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
  21. package/dist/cjs/gx-ide-comments-viewer.cjs.entry.js +1 -1
  22. package/dist/cjs/gx-ide-comments-viewer.cjs.entry.js.map +1 -1
  23. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +1 -1
  24. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
  25. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +1 -1
  26. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  27. package/dist/cjs/gx-ide-curl-inspector.cjs.entry.js +1 -1
  28. package/dist/cjs/gx-ide-curl-inspector.cjs.entry.js.map +1 -1
  29. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +1 -1
  30. package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
  31. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js +1 -1
  32. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js.map +1 -1
  33. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js +1 -1
  34. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js.map +1 -1
  35. package/dist/cjs/gx-ide-design-import.cjs.entry.js +1 -1
  36. package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
  37. package/dist/cjs/gx-ide-details-acknowledgements.cjs.entry.js +1 -1
  38. package/dist/cjs/gx-ide-details-acknowledgements.cjs.entry.js.map +1 -1
  39. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +1 -1
  40. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
  41. package/dist/cjs/gx-ide-empty-state.cjs.entry.js +1 -1
  42. package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -1
  43. package/dist/cjs/gx-ide-file-uploader.cjs.entry.js +1 -1
  44. package/dist/cjs/gx-ide-file-uploader.cjs.entry.js.map +1 -1
  45. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +1 -1
  46. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
  47. package/dist/cjs/gx-ide-json-import.cjs.entry.js +1 -1
  48. package/dist/cjs/gx-ide-json-import.cjs.entry.js.map +1 -1
  49. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
  50. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
  51. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
  52. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  53. package/dist/cjs/gx-ide-launchpad-apis_3.cjs.entry.js +1 -1
  54. package/dist/cjs/gx-ide-launchpad-apis_3.cjs.entry.js.map +1 -1
  55. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +1 -1
  56. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
  57. package/dist/cjs/gx-ide-loader.cjs.entry.js +1 -1
  58. package/dist/cjs/gx-ide-loader.cjs.entry.js.map +1 -1
  59. package/dist/cjs/gx-ide-name-picker.cjs.entry.js +1 -1
  60. package/dist/cjs/gx-ide-name-picker.cjs.entry.js.map +1 -1
  61. package/dist/cjs/gx-ide-navigation-report.cjs.entry.js +1 -1
  62. package/dist/cjs/gx-ide-navigation-report.cjs.entry.js.map +1 -1
  63. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
  64. package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
  65. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
  66. package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
  67. package/dist/cjs/gx-ide-new-object.cjs.entry.js +1 -1
  68. package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
  69. package/dist/cjs/gx-ide-new-version.cjs.entry.js +1 -1
  70. package/dist/cjs/gx-ide-new-version.cjs.entry.js.map +1 -1
  71. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
  72. package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
  73. package/dist/cjs/gx-ide-open-api-import.cjs.entry.js +1 -1
  74. package/dist/cjs/gx-ide-open-api-import.cjs.entry.js.map +1 -1
  75. package/dist/cjs/gx-ide-references.cjs.entry.js +1 -1
  76. package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
  77. package/dist/cjs/gx-ide-restore-version.cjs.entry.js +5 -4
  78. package/dist/cjs/gx-ide-restore-version.cjs.entry.js.map +1 -1
  79. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +1 -1
  80. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
  81. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js +1 -1
  82. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js.map +1 -1
  83. package/dist/cjs/gx-ide-server-selector.cjs.entry.js +1 -1
  84. package/dist/cjs/gx-ide-server-selector.cjs.entry.js.map +1 -1
  85. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
  86. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  87. package/dist/cjs/gx-ide-sign-in-result.cjs.entry.js +5 -3
  88. package/dist/cjs/gx-ide-sign-in-result.cjs.entry.js.map +1 -1
  89. package/dist/cjs/gx-ide-splash.cjs.entry.js +1 -1
  90. package/dist/cjs/gx-ide-splash.cjs.entry.js.map +1 -1
  91. package/dist/cjs/gx-ide-start-page.cjs.entry.js +1 -1
  92. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  93. package/dist/cjs/gx-ide-starting-template.cjs.entry.js +1 -1
  94. package/dist/cjs/gx-ide-starting-template.cjs.entry.js.map +1 -1
  95. package/dist/cjs/gx-ide-team-dev-bring-all-changes-selector.cjs.entry.js +1 -1
  96. package/dist/cjs/gx-ide-team-dev-bring-all-changes-selector.cjs.entry.js.map +1 -1
  97. package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js +1 -1
  98. package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js.map +1 -1
  99. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
  100. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  101. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +1 -1
  102. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js.map +1 -1
  103. package/dist/cjs/gx-ide-team-dev-preview.cjs.entry.js +2 -2
  104. package/dist/cjs/gx-ide-team-dev-preview.cjs.entry.js.map +1 -1
  105. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
  106. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js.map +1 -1
  107. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
  108. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
  109. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
  110. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js.map +1 -1
  111. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
  112. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  113. package/dist/cjs/gx-ide-test.cjs.entry.js +1 -1
  114. package/dist/cjs/gx-ide-test.cjs.entry.js.map +1 -1
  115. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +1 -1
  116. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js.map +1 -1
  117. package/dist/cjs/gx-ide-ww-files.cjs.entry.js +1 -1
  118. package/dist/cjs/gx-ide-ww-files.cjs.entry.js.map +1 -1
  119. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  120. package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
  121. package/dist/collection/components/_helpers/comments-viewer/comments-viewer.css +1 -1
  122. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +1 -0
  123. package/dist/collection/components/_helpers/ide-loader/ide-loader.css +4 -0
  124. package/dist/collection/components/_helpers/list-selector/list-selector.css +1 -0
  125. package/dist/collection/components/_starting-template/starting-template.css +4 -0
  126. package/dist/collection/components/_test/test.css +1 -0
  127. package/dist/collection/components/about/about.css +4 -0
  128. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.css +5 -0
  129. package/dist/collection/components/bpm/assign-roles/bpm-assign-roles.css +1 -0
  130. package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.css +1 -0
  131. package/dist/collection/components/bpm/import-files/bpm-import-files.css +1 -0
  132. package/dist/collection/components/bpm/import-gxpm/bpm-import-gxpm.css +1 -0
  133. package/dist/collection/components/bpm/objects-selector/bpm-objects-selector.css +1 -0
  134. package/dist/collection/components/bpm/sync-gam-roles/bpm-sync-gam-roles.css +4 -0
  135. package/dist/collection/components/bpm/task-documents/task-documents.css +4 -0
  136. package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.css +1 -0
  137. package/dist/collection/components/curl-inspector/curl-inspector.css +4 -0
  138. package/dist/collection/components/data-selector/data-selector.css +4 -0
  139. package/dist/collection/components/data-type-selector/data-type-selector.css +4 -0
  140. package/dist/collection/components/deployment-tool/deployment-tool.css +1 -0
  141. package/dist/collection/components/design-import/design-import.css +5 -0
  142. package/dist/collection/components/details-acknowledgements/details-acknowledgements.css +4 -0
  143. package/dist/collection/components/file-uploader/file-uploader.css +5 -0
  144. package/dist/collection/components/gam-installation-settings/gam-installation-settings.css +5 -0
  145. package/dist/collection/components/json-import/json-import.css +4 -0
  146. package/dist/collection/components/kb-manager-export/kb-manager-export.css +4 -0
  147. package/dist/collection/components/kb-manager-import/kb-manager-import.css +4 -0
  148. package/dist/collection/components/launchpad/native-apps/launchpad-native-apps.css +4 -0
  149. package/dist/collection/components/modules/edit-module-server/edit-module-server.css +4 -0
  150. package/dist/collection/components/name-picker/name-picker.css +4 -0
  151. package/dist/collection/components/navigation-report/navigation-report.css +4 -0
  152. package/dist/collection/components/new-environment/new-environment.css +4 -0
  153. package/dist/collection/components/new-kb/new-kb.css +4 -0
  154. package/dist/collection/components/new-object/new-object.css +4 -0
  155. package/dist/collection/components/new-version/new-version.css +4 -0
  156. package/dist/collection/components/object-selector/object-selector.css +4 -0
  157. package/dist/collection/components/open-api-import/open-api-import.css +4 -0
  158. package/dist/collection/components/references/references.css +1 -0
  159. package/dist/collection/components/restore-version/restore-version.css +7 -14
  160. package/dist/collection/components/restore-version/restore-version.js +4 -3
  161. package/dist/collection/components/restore-version/restore-version.js.map +1 -1
  162. package/dist/collection/components/select-kb-items/select-kb-items.css +4 -0
  163. package/dist/collection/components/select-user-team/select-user-team.css +4 -0
  164. package/dist/collection/components/sign-in-result/sign-in-result.css +5 -2
  165. package/dist/collection/components/sign-in-result/sign-in-result.js +4 -2
  166. package/dist/collection/components/sign-in-result/sign-in-result.js.map +1 -1
  167. package/dist/collection/components/splash/splash.css +4 -0
  168. package/dist/collection/components/start-page/start-page.css +4 -0
  169. package/dist/collection/components/team-dev/bring-all-changes-selector/bring-all-changes-selector.css +4 -0
  170. package/dist/collection/components/team-dev/bring-changes/bring-changes.css +4 -0
  171. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.css +4 -0
  172. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.css +4 -0
  173. package/dist/collection/components/team-dev/history/history.css +4 -0
  174. package/dist/collection/components/team-dev/preview/team-dev-preview.css +1 -0
  175. package/dist/collection/components/team-dev/preview/team-dev-preview.js +1 -1
  176. package/dist/collection/components/team-dev/preview/team-dev-preview.js.map +1 -1
  177. package/dist/collection/components/team-dev/select-recent-comment/select-recent-comment.css +5 -0
  178. package/dist/collection/components/team-dev/server-selector/server-selector.css +4 -0
  179. package/dist/collection/components/team-dev/share-kb/share-kb.css +4 -0
  180. package/dist/collection/components/team-dev/update/update.css +4 -0
  181. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +4 -0
  182. package/dist/collection/components/team-dev/update-to-revision/update-to-revision.css +4 -0
  183. package/dist/collection/components/team-dev/version-control/commit/commit.css +4 -0
  184. package/dist/collection/components/wf-settings/wf-settings.css +1 -0
  185. package/dist/collection/components/ww-files/ww-files.css +4 -0
  186. package/dist/collection/components/ww-images/ww-images.css +4 -0
  187. package/dist/components/bpm-objects-selector.js +1 -1
  188. package/dist/components/bpm-objects-selector.js.map +1 -1
  189. package/dist/components/gx-ide-about.js +1 -1
  190. package/dist/components/gx-ide-about.js.map +1 -1
  191. package/dist/components/gx-ide-bpm-app-declaration.js +1 -1
  192. package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
  193. package/dist/components/gx-ide-bpm-assign-roles.js +1 -1
  194. package/dist/components/gx-ide-bpm-assign-roles.js.map +1 -1
  195. package/dist/components/gx-ide-bpm-export-xpdl.js +1 -1
  196. package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
  197. package/dist/components/gx-ide-bpm-import-files.js +1 -1
  198. package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
  199. package/dist/components/gx-ide-bpm-import-gxpm.js +1 -1
  200. package/dist/components/gx-ide-bpm-import-gxpm.js.map +1 -1
  201. package/dist/components/gx-ide-bpm-sync-gam-roles.js +1 -1
  202. package/dist/components/gx-ide-bpm-sync-gam-roles.js.map +1 -1
  203. package/dist/components/gx-ide-bpm-task-documents.js +1 -1
  204. package/dist/components/gx-ide-bpm-task-documents.js.map +1 -1
  205. package/dist/components/gx-ide-bpm-timer-duration.js +1 -1
  206. package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
  207. package/dist/components/gx-ide-comments-viewer.js +1 -1
  208. package/dist/components/gx-ide-comments-viewer.js.map +1 -1
  209. package/dist/components/gx-ide-connect-gx-server.js +1 -1
  210. package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
  211. package/dist/components/gx-ide-create-kb-from-server.js +1 -1
  212. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  213. package/dist/components/gx-ide-curl-inspector.js +1 -1
  214. package/dist/components/gx-ide-curl-inspector.js.map +1 -1
  215. package/dist/components/gx-ide-data-selector.js +1 -1
  216. package/dist/components/gx-ide-data-selector.js.map +1 -1
  217. package/dist/components/gx-ide-data-type-selector.js +1 -1
  218. package/dist/components/gx-ide-data-type-selector.js.map +1 -1
  219. package/dist/components/gx-ide-deployment-tool.js +1 -1
  220. package/dist/components/gx-ide-deployment-tool.js.map +1 -1
  221. package/dist/components/gx-ide-design-import.js +1 -1
  222. package/dist/components/gx-ide-design-import.js.map +1 -1
  223. package/dist/components/gx-ide-details-acknowledgements.js +1 -1
  224. package/dist/components/gx-ide-details-acknowledgements.js.map +1 -1
  225. package/dist/components/gx-ide-edit-module-server.js +1 -1
  226. package/dist/components/gx-ide-edit-module-server.js.map +1 -1
  227. package/dist/components/gx-ide-empty-state2.js +1 -1
  228. package/dist/components/gx-ide-empty-state2.js.map +1 -1
  229. package/dist/components/gx-ide-file-uploader.js +1 -1
  230. package/dist/components/gx-ide-file-uploader.js.map +1 -1
  231. package/dist/components/gx-ide-gam-installation-settings.js +1 -1
  232. package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
  233. package/dist/components/gx-ide-json-import.js +1 -1
  234. package/dist/components/gx-ide-json-import.js.map +1 -1
  235. package/dist/components/gx-ide-kb-manager-export.js +1 -1
  236. package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
  237. package/dist/components/gx-ide-kb-manager-import.js +1 -1
  238. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  239. package/dist/components/gx-ide-name-picker.js +1 -1
  240. package/dist/components/gx-ide-name-picker.js.map +1 -1
  241. package/dist/components/gx-ide-navigation-report.js +1 -1
  242. package/dist/components/gx-ide-navigation-report.js.map +1 -1
  243. package/dist/components/gx-ide-new-environment.js +1 -1
  244. package/dist/components/gx-ide-new-environment.js.map +1 -1
  245. package/dist/components/gx-ide-new-kb.js +1 -1
  246. package/dist/components/gx-ide-new-kb.js.map +1 -1
  247. package/dist/components/gx-ide-new-object.js +1 -1
  248. package/dist/components/gx-ide-new-object.js.map +1 -1
  249. package/dist/components/gx-ide-new-version.js +1 -1
  250. package/dist/components/gx-ide-new-version.js.map +1 -1
  251. package/dist/components/gx-ide-object-selector.js +1 -1
  252. package/dist/components/gx-ide-object-selector.js.map +1 -1
  253. package/dist/components/gx-ide-open-api-import.js +1 -1
  254. package/dist/components/gx-ide-open-api-import.js.map +1 -1
  255. package/dist/components/gx-ide-references.js +1 -1
  256. package/dist/components/gx-ide-references.js.map +1 -1
  257. package/dist/components/gx-ide-restore-version.js +5 -4
  258. package/dist/components/gx-ide-restore-version.js.map +1 -1
  259. package/dist/components/gx-ide-select-user-team.js +1 -1
  260. package/dist/components/gx-ide-select-user-team.js.map +1 -1
  261. package/dist/components/gx-ide-server-selector.js +1 -1
  262. package/dist/components/gx-ide-server-selector.js.map +1 -1
  263. package/dist/components/gx-ide-share-kb.js +1 -1
  264. package/dist/components/gx-ide-share-kb.js.map +1 -1
  265. package/dist/components/gx-ide-sign-in-result.js +5 -3
  266. package/dist/components/gx-ide-sign-in-result.js.map +1 -1
  267. package/dist/components/gx-ide-splash.js +1 -1
  268. package/dist/components/gx-ide-splash.js.map +1 -1
  269. package/dist/components/gx-ide-start-page.js +1 -1
  270. package/dist/components/gx-ide-start-page.js.map +1 -1
  271. package/dist/components/gx-ide-starting-template.js +1 -1
  272. package/dist/components/gx-ide-starting-template.js.map +1 -1
  273. package/dist/components/gx-ide-team-dev-bring-all-changes-selector.js +1 -1
  274. package/dist/components/gx-ide-team-dev-bring-all-changes-selector.js.map +1 -1
  275. package/dist/components/gx-ide-team-dev-bring-changes.js +1 -1
  276. package/dist/components/gx-ide-team-dev-bring-changes.js.map +1 -1
  277. package/dist/components/gx-ide-team-dev-commit.js +1 -1
  278. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  279. package/dist/components/gx-ide-team-dev-history.js +1 -1
  280. package/dist/components/gx-ide-team-dev-history.js.map +1 -1
  281. package/dist/components/gx-ide-team-dev-preview.js +2 -2
  282. package/dist/components/gx-ide-team-dev-preview.js.map +1 -1
  283. package/dist/components/gx-ide-team-dev-select-recent-comment.js +1 -1
  284. package/dist/components/gx-ide-team-dev-select-recent-comment.js.map +1 -1
  285. package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
  286. package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
  287. package/dist/components/gx-ide-team-dev-update-to-revision.js +1 -1
  288. package/dist/components/gx-ide-team-dev-update-to-revision.js.map +1 -1
  289. package/dist/components/gx-ide-team-dev-update.js +1 -1
  290. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  291. package/dist/components/gx-ide-test.js +1 -1
  292. package/dist/components/gx-ide-test.js.map +1 -1
  293. package/dist/components/gx-ide-wf-settings.js +1 -1
  294. package/dist/components/gx-ide-wf-settings.js.map +1 -1
  295. package/dist/components/gx-ide-ww-files.js +1 -1
  296. package/dist/components/gx-ide-ww-files.js.map +1 -1
  297. package/dist/components/gx-ide-ww-images.js +1 -1
  298. package/dist/components/gx-ide-ww-images.js.map +1 -1
  299. package/dist/components/ide-loader.js +1 -1
  300. package/dist/components/ide-loader.js.map +1 -1
  301. package/dist/components/launchpad-native-apps.js +1 -1
  302. package/dist/components/launchpad-native-apps.js.map +1 -1
  303. package/dist/components/list-selector.js +1 -1
  304. package/dist/components/list-selector.js.map +1 -1
  305. package/dist/components/select-kb-items.js +1 -1
  306. package/dist/components/select-kb-items.js.map +1 -1
  307. package/dist/esm/gx-ide-about.entry.js +1 -1
  308. package/dist/esm/gx-ide-about.entry.js.map +1 -1
  309. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
  310. package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
  311. package/dist/esm/gx-ide-bpm-assign-roles.entry.js +1 -1
  312. package/dist/esm/gx-ide-bpm-assign-roles.entry.js.map +1 -1
  313. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +1 -1
  314. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
  315. package/dist/esm/gx-ide-bpm-import-files.entry.js +1 -1
  316. package/dist/esm/gx-ide-bpm-import-files.entry.js.map +1 -1
  317. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +1 -1
  318. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js.map +1 -1
  319. package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
  320. package/dist/esm/gx-ide-bpm-objects-selector.entry.js.map +1 -1
  321. package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js +1 -1
  322. package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js.map +1 -1
  323. package/dist/esm/gx-ide-bpm-task-documents.entry.js +1 -1
  324. package/dist/esm/gx-ide-bpm-task-documents.entry.js.map +1 -1
  325. package/dist/esm/gx-ide-bpm-timer-duration.entry.js +1 -1
  326. package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
  327. package/dist/esm/gx-ide-comments-viewer.entry.js +1 -1
  328. package/dist/esm/gx-ide-comments-viewer.entry.js.map +1 -1
  329. package/dist/esm/gx-ide-connect-gx-server.entry.js +1 -1
  330. package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
  331. package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
  332. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  333. package/dist/esm/gx-ide-curl-inspector.entry.js +1 -1
  334. package/dist/esm/gx-ide-curl-inspector.entry.js.map +1 -1
  335. package/dist/esm/gx-ide-data-selector.entry.js +1 -1
  336. package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
  337. package/dist/esm/gx-ide-data-type-selector.entry.js +1 -1
  338. package/dist/esm/gx-ide-data-type-selector.entry.js.map +1 -1
  339. package/dist/esm/gx-ide-deployment-tool.entry.js +1 -1
  340. package/dist/esm/gx-ide-deployment-tool.entry.js.map +1 -1
  341. package/dist/esm/gx-ide-design-import.entry.js +1 -1
  342. package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
  343. package/dist/esm/gx-ide-details-acknowledgements.entry.js +1 -1
  344. package/dist/esm/gx-ide-details-acknowledgements.entry.js.map +1 -1
  345. package/dist/esm/gx-ide-edit-module-server.entry.js +1 -1
  346. package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
  347. package/dist/esm/gx-ide-empty-state.entry.js +1 -1
  348. package/dist/esm/gx-ide-empty-state.entry.js.map +1 -1
  349. package/dist/esm/gx-ide-file-uploader.entry.js +1 -1
  350. package/dist/esm/gx-ide-file-uploader.entry.js.map +1 -1
  351. package/dist/esm/gx-ide-gam-installation-settings.entry.js +1 -1
  352. package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
  353. package/dist/esm/gx-ide-json-import.entry.js +1 -1
  354. package/dist/esm/gx-ide-json-import.entry.js.map +1 -1
  355. package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
  356. package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
  357. package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
  358. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  359. package/dist/esm/gx-ide-launchpad-apis_3.entry.js +1 -1
  360. package/dist/esm/gx-ide-launchpad-apis_3.entry.js.map +1 -1
  361. package/dist/esm/gx-ide-list-selector_2.entry.js +1 -1
  362. package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
  363. package/dist/esm/gx-ide-loader.entry.js +1 -1
  364. package/dist/esm/gx-ide-loader.entry.js.map +1 -1
  365. package/dist/esm/gx-ide-name-picker.entry.js +1 -1
  366. package/dist/esm/gx-ide-name-picker.entry.js.map +1 -1
  367. package/dist/esm/gx-ide-navigation-report.entry.js +1 -1
  368. package/dist/esm/gx-ide-navigation-report.entry.js.map +1 -1
  369. package/dist/esm/gx-ide-new-environment.entry.js +1 -1
  370. package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
  371. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  372. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  373. package/dist/esm/gx-ide-new-object.entry.js +1 -1
  374. package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
  375. package/dist/esm/gx-ide-new-version.entry.js +1 -1
  376. package/dist/esm/gx-ide-new-version.entry.js.map +1 -1
  377. package/dist/esm/gx-ide-object-selector.entry.js +1 -1
  378. package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
  379. package/dist/esm/gx-ide-open-api-import.entry.js +1 -1
  380. package/dist/esm/gx-ide-open-api-import.entry.js.map +1 -1
  381. package/dist/esm/gx-ide-references.entry.js +1 -1
  382. package/dist/esm/gx-ide-references.entry.js.map +1 -1
  383. package/dist/esm/gx-ide-restore-version.entry.js +5 -4
  384. package/dist/esm/gx-ide-restore-version.entry.js.map +1 -1
  385. package/dist/esm/gx-ide-select-kb-items.entry.js +1 -1
  386. package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
  387. package/dist/esm/gx-ide-select-user-team.entry.js +1 -1
  388. package/dist/esm/gx-ide-select-user-team.entry.js.map +1 -1
  389. package/dist/esm/gx-ide-server-selector.entry.js +1 -1
  390. package/dist/esm/gx-ide-server-selector.entry.js.map +1 -1
  391. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  392. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  393. package/dist/esm/gx-ide-sign-in-result.entry.js +5 -3
  394. package/dist/esm/gx-ide-sign-in-result.entry.js.map +1 -1
  395. package/dist/esm/gx-ide-splash.entry.js +1 -1
  396. package/dist/esm/gx-ide-splash.entry.js.map +1 -1
  397. package/dist/esm/gx-ide-start-page.entry.js +1 -1
  398. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  399. package/dist/esm/gx-ide-starting-template.entry.js +1 -1
  400. package/dist/esm/gx-ide-starting-template.entry.js.map +1 -1
  401. package/dist/esm/gx-ide-team-dev-bring-all-changes-selector.entry.js +1 -1
  402. package/dist/esm/gx-ide-team-dev-bring-all-changes-selector.entry.js.map +1 -1
  403. package/dist/esm/gx-ide-team-dev-bring-changes.entry.js +1 -1
  404. package/dist/esm/gx-ide-team-dev-bring-changes.entry.js.map +1 -1
  405. package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
  406. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  407. package/dist/esm/gx-ide-team-dev-history.entry.js +1 -1
  408. package/dist/esm/gx-ide-team-dev-history.entry.js.map +1 -1
  409. package/dist/esm/gx-ide-team-dev-preview.entry.js +2 -2
  410. package/dist/esm/gx-ide-team-dev-preview.entry.js.map +1 -1
  411. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
  412. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js.map +1 -1
  413. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
  414. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
  415. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
  416. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js.map +1 -1
  417. package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
  418. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  419. package/dist/esm/gx-ide-test.entry.js +1 -1
  420. package/dist/esm/gx-ide-test.entry.js.map +1 -1
  421. package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
  422. package/dist/esm/gx-ide-wf-settings.entry.js.map +1 -1
  423. package/dist/esm/gx-ide-ww-files.entry.js +1 -1
  424. package/dist/esm/gx-ide-ww-files.entry.js.map +1 -1
  425. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  426. package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
  427. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  428. package/dist/genexus-ide-ui/{p-5929f575.entry.js → p-00705e1c.entry.js} +2 -2
  429. package/dist/genexus-ide-ui/p-00705e1c.entry.js.map +1 -0
  430. package/dist/genexus-ide-ui/{p-18c3c961.entry.js → p-056955be.entry.js} +17 -17
  431. package/dist/genexus-ide-ui/p-056955be.entry.js.map +1 -0
  432. package/dist/genexus-ide-ui/{p-3ff33154.entry.js → p-0620e8f2.entry.js} +33 -33
  433. package/dist/genexus-ide-ui/p-0620e8f2.entry.js.map +1 -0
  434. package/dist/genexus-ide-ui/{p-4af50a00.entry.js → p-06c31f23.entry.js} +2 -2
  435. package/dist/genexus-ide-ui/p-06c31f23.entry.js.map +1 -0
  436. package/dist/genexus-ide-ui/{p-76fdea52.entry.js → p-0be24413.entry.js} +2 -2
  437. package/dist/genexus-ide-ui/p-0be24413.entry.js.map +1 -0
  438. package/dist/genexus-ide-ui/{p-8019e064.entry.js → p-0e4daeb7.entry.js} +11 -11
  439. package/dist/genexus-ide-ui/p-0e4daeb7.entry.js.map +1 -0
  440. package/dist/genexus-ide-ui/{p-840c09d2.entry.js → p-123ef674.entry.js} +2 -2
  441. package/dist/genexus-ide-ui/{p-70cd77bc.entry.js → p-217bd2d7.entry.js} +2 -2
  442. package/dist/genexus-ide-ui/p-217bd2d7.entry.js.map +1 -0
  443. package/dist/genexus-ide-ui/{p-d6e7a813.entry.js → p-24247ec3.entry.js} +11 -11
  444. package/dist/genexus-ide-ui/p-24247ec3.entry.js.map +1 -0
  445. package/dist/genexus-ide-ui/{p-af2f9983.entry.js → p-2b3f161f.entry.js} +21 -21
  446. package/dist/genexus-ide-ui/p-2b3f161f.entry.js.map +1 -0
  447. package/dist/genexus-ide-ui/{p-750eb88a.entry.js → p-34577955.entry.js} +9 -9
  448. package/dist/genexus-ide-ui/p-34577955.entry.js.map +1 -0
  449. package/dist/genexus-ide-ui/{p-bdaae26a.entry.js → p-35c2a2f9.entry.js} +2 -2
  450. package/dist/genexus-ide-ui/p-35c2a2f9.entry.js.map +1 -0
  451. package/dist/genexus-ide-ui/{p-ee77b260.entry.js → p-37812762.entry.js} +8 -8
  452. package/dist/genexus-ide-ui/p-37812762.entry.js.map +1 -0
  453. package/dist/genexus-ide-ui/{p-0a7cbbd0.entry.js → p-3bbdad29.entry.js} +2 -2
  454. package/dist/genexus-ide-ui/p-3bbdad29.entry.js.map +1 -0
  455. package/dist/genexus-ide-ui/{p-f05a137a.entry.js → p-42860e7e.entry.js} +71 -71
  456. package/dist/genexus-ide-ui/p-42860e7e.entry.js.map +1 -0
  457. package/dist/genexus-ide-ui/{p-168d3c83.entry.js → p-4431f46f.entry.js} +2 -2
  458. package/dist/genexus-ide-ui/{p-24cf1cd2.entry.js → p-4bafe061.entry.js} +39 -39
  459. package/dist/genexus-ide-ui/p-4bafe061.entry.js.map +1 -0
  460. package/dist/genexus-ide-ui/{p-e4116b36.entry.js → p-4d7433e0.entry.js} +2 -2
  461. package/dist/genexus-ide-ui/p-4d7433e0.entry.js.map +1 -0
  462. package/dist/genexus-ide-ui/{p-dcfae3da.entry.js → p-4f58397f.entry.js} +53 -53
  463. package/dist/genexus-ide-ui/p-4f58397f.entry.js.map +1 -0
  464. package/dist/genexus-ide-ui/{p-2567883a.entry.js → p-508c4bee.entry.js} +2 -2
  465. package/dist/genexus-ide-ui/{p-8cee1076.entry.js → p-55cb0614.entry.js} +14 -14
  466. package/dist/genexus-ide-ui/p-55cb0614.entry.js.map +1 -0
  467. package/dist/genexus-ide-ui/{p-6b430ac1.entry.js → p-5727fce7.entry.js} +2 -2
  468. package/dist/genexus-ide-ui/p-5727fce7.entry.js.map +1 -0
  469. package/dist/genexus-ide-ui/{p-520c3763.entry.js → p-572fdc25.entry.js} +2 -2
  470. package/dist/genexus-ide-ui/p-572fdc25.entry.js.map +1 -0
  471. package/dist/genexus-ide-ui/{p-a50c520c.entry.js → p-5864a82d.entry.js} +18 -18
  472. package/dist/genexus-ide-ui/p-5864a82d.entry.js.map +1 -0
  473. package/dist/genexus-ide-ui/{p-2a59b523.entry.js → p-60db2f02.entry.js} +2 -2
  474. package/dist/genexus-ide-ui/p-60db2f02.entry.js.map +1 -0
  475. package/dist/genexus-ide-ui/{p-178805d6.entry.js → p-632d3a74.entry.js} +2 -2
  476. package/dist/genexus-ide-ui/p-632d3a74.entry.js.map +1 -0
  477. package/dist/genexus-ide-ui/{p-36462e51.entry.js → p-63abf7e8.entry.js} +41 -41
  478. package/dist/genexus-ide-ui/p-63abf7e8.entry.js.map +1 -0
  479. package/dist/genexus-ide-ui/{p-bb5a5c23.entry.js → p-69e7d46b.entry.js} +12 -12
  480. package/dist/genexus-ide-ui/p-69e7d46b.entry.js.map +1 -0
  481. package/dist/genexus-ide-ui/{p-1d3da80d.entry.js → p-7b76b0e4.entry.js} +2 -2
  482. package/dist/genexus-ide-ui/p-7b76b0e4.entry.js.map +1 -0
  483. package/dist/genexus-ide-ui/{p-875b8615.entry.js → p-83a7e6fb.entry.js} +6 -6
  484. package/dist/genexus-ide-ui/p-83a7e6fb.entry.js.map +1 -0
  485. package/dist/genexus-ide-ui/{p-dbac8ae2.entry.js → p-886dc9c1.entry.js} +2 -2
  486. package/dist/genexus-ide-ui/{p-79d4490e.entry.js → p-90a50197.entry.js} +58 -58
  487. package/dist/genexus-ide-ui/p-90a50197.entry.js.map +1 -0
  488. package/dist/genexus-ide-ui/{p-49c1d667.entry.js → p-90b2307f.entry.js} +7 -7
  489. package/dist/genexus-ide-ui/p-90b2307f.entry.js.map +1 -0
  490. package/dist/genexus-ide-ui/{p-38d3adf1.entry.js → p-944a589f.entry.js} +21 -21
  491. package/dist/genexus-ide-ui/p-944a589f.entry.js.map +1 -0
  492. package/dist/genexus-ide-ui/{p-ca47bb29.entry.js → p-98820155.entry.js} +2 -2
  493. package/dist/genexus-ide-ui/{p-ca47bb29.entry.js.map → p-98820155.entry.js.map} +1 -1
  494. package/dist/genexus-ide-ui/{p-27786355.entry.js → p-98dbb43d.entry.js} +25 -25
  495. package/dist/genexus-ide-ui/p-98dbb43d.entry.js.map +1 -0
  496. package/dist/genexus-ide-ui/{p-b167052a.entry.js → p-9a10fa97.entry.js} +2 -2
  497. package/dist/genexus-ide-ui/{p-d0e61bdc.entry.js → p-9ca0c042.entry.js} +2 -2
  498. package/dist/genexus-ide-ui/p-9ca0c042.entry.js.map +1 -0
  499. package/dist/genexus-ide-ui/{p-c31f9478.entry.js → p-aad714a5.entry.js} +31 -31
  500. package/dist/genexus-ide-ui/p-aad714a5.entry.js.map +1 -0
  501. package/dist/genexus-ide-ui/{p-f61bde09.entry.js → p-af267991.entry.js} +49 -49
  502. package/dist/genexus-ide-ui/p-af267991.entry.js.map +1 -0
  503. package/dist/genexus-ide-ui/{p-22c0058b.entry.js → p-b5f2603f.entry.js} +11 -11
  504. package/dist/genexus-ide-ui/p-b5f2603f.entry.js.map +1 -0
  505. package/dist/genexus-ide-ui/{p-0dfa813a.entry.js → p-b6d59827.entry.js} +16 -16
  506. package/dist/genexus-ide-ui/p-b6d59827.entry.js.map +1 -0
  507. package/dist/genexus-ide-ui/{p-885e5d1c.entry.js → p-c2f2d79f.entry.js} +2 -2
  508. package/dist/genexus-ide-ui/p-c2f2d79f.entry.js.map +1 -0
  509. package/dist/genexus-ide-ui/{p-14c82d16.entry.js → p-c3a355c6.entry.js} +48 -48
  510. package/dist/genexus-ide-ui/p-c3a355c6.entry.js.map +1 -0
  511. package/dist/genexus-ide-ui/{p-38ae0c55.entry.js → p-ca1b9b8a.entry.js} +11 -10
  512. package/dist/genexus-ide-ui/p-ca1b9b8a.entry.js.map +1 -0
  513. package/dist/genexus-ide-ui/{p-1356ec09.entry.js → p-cd9e9e2b.entry.js} +2 -2
  514. package/dist/genexus-ide-ui/p-cd9e9e2b.entry.js.map +1 -0
  515. package/dist/genexus-ide-ui/{p-fa8cb0d8.entry.js → p-cdd2e79d.entry.js} +2 -2
  516. package/dist/genexus-ide-ui/{p-60bbf1b4.entry.js → p-d68412ac.entry.js} +8 -8
  517. package/dist/genexus-ide-ui/{p-a8465dff.entry.js → p-d761587f.entry.js} +4 -4
  518. package/dist/genexus-ide-ui/{p-a8465dff.entry.js.map → p-d761587f.entry.js.map} +1 -1
  519. package/dist/genexus-ide-ui/{p-b2966a6b.entry.js → p-d7964c12.entry.js} +2 -2
  520. package/dist/genexus-ide-ui/{p-8735d37c.entry.js → p-dbf9a97d.entry.js} +2 -2
  521. package/dist/genexus-ide-ui/{p-14823abe.entry.js → p-e0fb6257.entry.js} +9 -9
  522. package/dist/genexus-ide-ui/p-e0fb6257.entry.js.map +1 -0
  523. package/dist/genexus-ide-ui/{p-734d5fa1.entry.js → p-e32f5b19.entry.js} +2 -2
  524. package/dist/genexus-ide-ui/{p-af3cc463.entry.js → p-e3ff125f.entry.js} +2 -2
  525. package/dist/genexus-ide-ui/{p-899ec74e.entry.js → p-e883cd82.entry.js} +35 -35
  526. package/dist/genexus-ide-ui/p-e883cd82.entry.js.map +1 -0
  527. package/dist/genexus-ide-ui/{p-e4c250eb.entry.js → p-ebb56b65.entry.js} +23 -23
  528. package/dist/genexus-ide-ui/p-ebb56b65.entry.js.map +1 -0
  529. package/dist/genexus-ide-ui/{p-b44a875d.entry.js → p-f1b452fb.entry.js} +2 -2
  530. package/dist/genexus-ide-ui/p-f1b452fb.entry.js.map +1 -0
  531. package/dist/genexus-ide-ui/{p-ebfc64a5.entry.js → p-fb5dd0a2.entry.js} +10 -10
  532. package/dist/genexus-ide-ui/p-fb5dd0a2.entry.js.map +1 -0
  533. package/dist/genexus-ide-ui/{p-392bdfaa.entry.js → p-fb64e0b1.entry.js} +20 -20
  534. package/dist/genexus-ide-ui/p-fb64e0b1.entry.js.map +1 -0
  535. package/dist/genexus-ide-ui/{p-747fbbd8.entry.js → p-fdaeb19a.entry.js} +2 -2
  536. package/package.json +1 -1
  537. package/dist/genexus-ide-ui/p-0a7cbbd0.entry.js.map +0 -1
  538. package/dist/genexus-ide-ui/p-0dfa813a.entry.js.map +0 -1
  539. package/dist/genexus-ide-ui/p-1356ec09.entry.js.map +0 -1
  540. package/dist/genexus-ide-ui/p-14823abe.entry.js.map +0 -1
  541. package/dist/genexus-ide-ui/p-14c82d16.entry.js.map +0 -1
  542. package/dist/genexus-ide-ui/p-178805d6.entry.js.map +0 -1
  543. package/dist/genexus-ide-ui/p-18c3c961.entry.js.map +0 -1
  544. package/dist/genexus-ide-ui/p-1d3da80d.entry.js.map +0 -1
  545. package/dist/genexus-ide-ui/p-22c0058b.entry.js.map +0 -1
  546. package/dist/genexus-ide-ui/p-24cf1cd2.entry.js.map +0 -1
  547. package/dist/genexus-ide-ui/p-27786355.entry.js.map +0 -1
  548. package/dist/genexus-ide-ui/p-2a59b523.entry.js.map +0 -1
  549. package/dist/genexus-ide-ui/p-36462e51.entry.js.map +0 -1
  550. package/dist/genexus-ide-ui/p-38ae0c55.entry.js.map +0 -1
  551. package/dist/genexus-ide-ui/p-38d3adf1.entry.js.map +0 -1
  552. package/dist/genexus-ide-ui/p-392bdfaa.entry.js.map +0 -1
  553. package/dist/genexus-ide-ui/p-3ff33154.entry.js.map +0 -1
  554. package/dist/genexus-ide-ui/p-49c1d667.entry.js.map +0 -1
  555. package/dist/genexus-ide-ui/p-4af50a00.entry.js.map +0 -1
  556. package/dist/genexus-ide-ui/p-520c3763.entry.js.map +0 -1
  557. package/dist/genexus-ide-ui/p-5929f575.entry.js.map +0 -1
  558. package/dist/genexus-ide-ui/p-6b430ac1.entry.js.map +0 -1
  559. package/dist/genexus-ide-ui/p-70cd77bc.entry.js.map +0 -1
  560. package/dist/genexus-ide-ui/p-750eb88a.entry.js.map +0 -1
  561. package/dist/genexus-ide-ui/p-76fdea52.entry.js.map +0 -1
  562. package/dist/genexus-ide-ui/p-79d4490e.entry.js.map +0 -1
  563. package/dist/genexus-ide-ui/p-8019e064.entry.js.map +0 -1
  564. package/dist/genexus-ide-ui/p-875b8615.entry.js.map +0 -1
  565. package/dist/genexus-ide-ui/p-885e5d1c.entry.js.map +0 -1
  566. package/dist/genexus-ide-ui/p-899ec74e.entry.js.map +0 -1
  567. package/dist/genexus-ide-ui/p-8cee1076.entry.js.map +0 -1
  568. package/dist/genexus-ide-ui/p-a50c520c.entry.js.map +0 -1
  569. package/dist/genexus-ide-ui/p-af2f9983.entry.js.map +0 -1
  570. package/dist/genexus-ide-ui/p-b44a875d.entry.js.map +0 -1
  571. package/dist/genexus-ide-ui/p-bb5a5c23.entry.js.map +0 -1
  572. package/dist/genexus-ide-ui/p-bdaae26a.entry.js.map +0 -1
  573. package/dist/genexus-ide-ui/p-c31f9478.entry.js.map +0 -1
  574. package/dist/genexus-ide-ui/p-d0e61bdc.entry.js.map +0 -1
  575. package/dist/genexus-ide-ui/p-d6e7a813.entry.js.map +0 -1
  576. package/dist/genexus-ide-ui/p-dcfae3da.entry.js.map +0 -1
  577. package/dist/genexus-ide-ui/p-e4116b36.entry.js.map +0 -1
  578. package/dist/genexus-ide-ui/p-e4c250eb.entry.js.map +0 -1
  579. package/dist/genexus-ide-ui/p-ebfc64a5.entry.js.map +0 -1
  580. package/dist/genexus-ide-ui/p-ee77b260.entry.js.map +0 -1
  581. package/dist/genexus-ide-ui/p-f05a137a.entry.js.map +0 -1
  582. package/dist/genexus-ide-ui/p-f61bde09.entry.js.map +0 -1
  583. /package/dist/genexus-ide-ui/{p-840c09d2.entry.js.map → p-123ef674.entry.js.map} +0 -0
  584. /package/dist/genexus-ide-ui/{p-168d3c83.entry.js.map → p-4431f46f.entry.js.map} +0 -0
  585. /package/dist/genexus-ide-ui/{p-2567883a.entry.js.map → p-508c4bee.entry.js.map} +0 -0
  586. /package/dist/genexus-ide-ui/{p-dbac8ae2.entry.js.map → p-886dc9c1.entry.js.map} +0 -0
  587. /package/dist/genexus-ide-ui/{p-b167052a.entry.js.map → p-9a10fa97.entry.js.map} +0 -0
  588. /package/dist/genexus-ide-ui/{p-fa8cb0d8.entry.js.map → p-cdd2e79d.entry.js.map} +0 -0
  589. /package/dist/genexus-ide-ui/{p-60bbf1b4.entry.js.map → p-d68412ac.entry.js.map} +0 -0
  590. /package/dist/genexus-ide-ui/{p-b2966a6b.entry.js.map → p-d7964c12.entry.js.map} +0 -0
  591. /package/dist/genexus-ide-ui/{p-8735d37c.entry.js.map → p-dbf9a97d.entry.js.map} +0 -0
  592. /package/dist/genexus-ide-ui/{p-734d5fa1.entry.js.map → p-e32f5b19.entry.js.map} +0 -0
  593. /package/dist/genexus-ide-ui/{p-af3cc463.entry.js.map → p-e3ff125f.entry.js.map} +0 -0
  594. /package/dist/genexus-ide-ui/{p-747fbbd8.entry.js.map → p-fdaeb19a.entry.js.map} +0 -0
@@ -16,7 +16,7 @@ import { L as l } from "./p-311eedf3.js";
16
16
 
17
17
  import { f as c } from "./p-4d330836.js";
18
18
 
19
- const d = ":host{display:grid;block-size:100%;grid-template-rows:max-content 1fr max-content;overflow:auto}.section{display:contents}.header{justify-content:end}.tabular-grid-main{overflow:auto;block-size:100%}.tabular-grid-main ch-tabular-grid-cell:is(:nth-child(2),:nth-child(3),:nth-child(4)){align-items:start;justify-content:start;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-inline-size:0}";
19
+ const d = "button.button-secondary{border-color:var(--color-border-neutral-default)}:host{display:grid;block-size:100%;grid-template-rows:max-content 1fr max-content;overflow:auto}.section{display:contents}.header{justify-content:end}.tabular-grid-main{overflow:auto;block-size:100%}.tabular-grid-main ch-tabular-grid-cell:is(:nth-child(2),:nth-child(3),:nth-child(4)){align-items:start;justify-content:start;display:inline-block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-inline-size:0}";
20
20
 
21
21
  var h = undefined && undefined.__classPrivateFieldGet || function(t, e, s, a) {
22
22
  if (s === "a" && !a) throw new TypeError("Private accessor was defined without a getter");
@@ -31,7 +31,7 @@ var u = undefined && undefined.__classPrivateFieldSet || function(t, e, s, a, i)
31
31
  return a === "a" ? i.call(t, s) : i ? i.value = s : e.set(t, s), s;
32
32
  };
33
33
 
34
- var m, f, p, b, g, w, y, v, k, j, x;
34
+ var m, f, b, p, g, w, y, v, k, j, x;
35
35
 
36
36
  const M = [ "resets/box-sizing", "components/button", "components/edit", "components/icon", "components/radio-group", "components/tabular-grid", "utils/form", "utils/layout", "utils/spacing", "utils/typography" ];
37
37
 
@@ -48,8 +48,8 @@ const z = class {
48
48
  this.componentDidRenderFirstTime = e(this, "componentDidRenderFirstTime", 7);
49
49
  m.set(this, void 0);
50
50
  f.set(this, false);
51
- p.set(this, s(`./gx-ide-assets/team-dev-update-partial-selection/shortcuts.json`));
52
- b.set(this, void 0);
51
+ b.set(this, s(`./gx-ide-assets/team-dev-update-partial-selection/shortcuts.json`));
52
+ p.set(this, void 0);
53
53
  g.set(this, (() => {
54
54
  this.cancelCallback();
55
55
  }));
@@ -71,7 +71,7 @@ const z = class {
71
71
  }));
72
72
  }));
73
73
  v.set(this, (() => {
74
- h(this, b, "f").addEventListener("selectionChanged", (t => {
74
+ h(this, p, "f").addEventListener("selectionChanged", (t => {
75
75
  this.selectedObjectsIds = t.detail.rowsId;
76
76
  }));
77
77
  }));
@@ -89,7 +89,7 @@ const z = class {
89
89
  class: "tabular-grid tabular-grid-main",
90
90
  "row-selection-mode": "multiple",
91
91
  keyboardNavigationMode: "focus",
92
- ref: t => u(this, b, t, "f"),
92
+ ref: t => u(this, p, t, "f"),
93
93
  part: "ch-grid-objects"
94
94
  }, a("ch-tabular-grid-columnset", {
95
95
  class: "tabular-grid-column-set"
@@ -173,7 +173,7 @@ const z = class {
173
173
  }, a("ch-theme", {
174
174
  model: M
175
175
  }), a("ch-shortcuts", {
176
- src: h(this, p, "f")
176
+ src: h(this, b, "f")
177
177
  }), a("section", {
178
178
  class: "section"
179
179
  }, a("header", {
@@ -224,11 +224,11 @@ const z = class {
224
224
  }
225
225
  };
226
226
 
227
- m = new WeakMap, f = new WeakMap, p = new WeakMap, b = new WeakMap, g = new WeakMap,
227
+ m = new WeakMap, f = new WeakMap, b = new WeakMap, p = new WeakMap, g = new WeakMap,
228
228
  w = new WeakMap, y = new WeakMap, v = new WeakMap, k = new WeakMap, j = new WeakMap,
229
229
  x = new WeakMap;
230
230
 
231
231
  z.style = d;
232
232
 
233
233
  export { z as gx_ide_team_dev_update_partial_selection };
234
- //# sourceMappingURL=p-750eb88a.entry.js.map
234
+ //# sourceMappingURL=p-34577955.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["updatePartialSelectionCss","CSS_BUNDLES","GEMINI_TOOLS_ADD_ICON","getIconPath","category","name","colorType","GxIdeTeamDevUpdatePartialSelection","_GxIdeTeamDevUpdatePartialSelection__componentLocale","set","this","_GxIdeTeamDevUpdatePartialSelection_renderedFirstTime","_GxIdeTeamDevUpdatePartialSelection_shortcutsSrc","getAssetPath","_GxIdeTeamDevUpdatePartialSelection_chGridEl","_GxIdeTeamDevUpdatePartialSelection_cancelHandler","cancelCallback","_GxIdeTeamDevUpdatePartialSelection_confirmHandler","confirmCallback","allRowsIds","selection","forEach","row","push","id","_GxIdeTeamDevUpdatePartialSelection_getObjectsHandler","addCallback","then","items","length","selectedObjectsIds","_GxIdeTeamDevUpdatePartialSelection_listenChanges","__classPrivateFieldGet","addEventListener","ev","detail","rowsId","_GxIdeTeamDevUpdatePartialSelection_removeAllHandler","_GxIdeTeamDevUpdatePartialSelection_removeSelectedObjectsHandler","filter","item","includes","_GxIdeTeamDevUpdatePartialSelection_renderObjects","h","allowColumnReorder","columnResizeMode","class","keyboardNavigationMode","ref","el","__classPrivateFieldSet","part","columnName","settingable","sortable","size","config","tabularGrid","colSize","minContent","tableHead","type","description","modifiedOn","maxContent","map","obj","rowid","key","src","typeIcon","formatDate","componentDidLoad","call","componentDidRender","componentDidRenderFirstTime","emit","componentName","componentWillLoad","Locale","getComponentStrings","componentDidLoadEvent","validate","isValid","render","buttonRemoveSelectedDisabled","Host","model","onClick","disabled","btnRemoveSelectedObjects","btnAddObject","footer","btnRemoveAll","btnCancel","btnConfirm"],"sources":["src/components/team-dev/update-partial-selection/update-partial-selection.scss?tag=gx-ide-team-dev-update-partial-selection&encapsulation=shadow","src/components/team-dev/update-partial-selection/update-partial-selection.tsx"],"sourcesContent":["@import \"../../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n@import \"../../../global/temporary-mercury-overrides/_button.scss\";\n\n:host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n overflow: auto;\n}\n\n.section {\n display: contents;\n}\n\n.header {\n justify-content: end;\n}\n\n.tabular-grid-main {\n overflow: auto;\n block-size: 100%;\n}\n\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid-main\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-apply-ellipsis: true,\n $tabular-grid-affected-columns-nth-list: (\n 2,\n 3,\n 4\n )\n);\n","// Stencil\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n Host,\n Method,\n Prop,\n State,\n getAssetPath,\n h\n} from \"@stencil/core\";\n\n// Other Libraries\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\n// Custom Imports\nimport { config } from \"../../../common/config\";\nimport { Locale } from \"../../../common/locale\";\nimport { formatDate } from \"../../../common/helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/edit\",\n \"components/icon\",\n \"components/radio-group\",\n \"components/tabular-grid\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/spacing\",\n \"utils/typography\"\n];\n\nconst GEMINI_TOOLS_ADD_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"add-circle\",\n colorType: \"primary\"\n});\n@Component({\n tag: \"gx-ide-team-dev-update-partial-selection\",\n styleUrl: \"update-partial-selection.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/team-dev-update-partial-selection\"]\n})\nexport class GxIdeTeamDevUpdatePartialSelection {\n #_componentLocale: any;\n #renderedFirstTime = false;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/team-dev-update-partial-selection/shortcuts.json`\n );\n\n @Element() el: HTMLGxIdeTeamDevUpdatePartialSelectionElement;\n\n #chGridEl!: HTMLChTabularGridElement;\n\n /**\n * Selected objects in objects table\n */\n @State() selectedObjectsIds: string[] = [];\n\n /**\n * Callback invoked to return a list of new objects to populate objects table.\n */\n @Prop() readonly addCallback!: AddCallback;\n\n /**\n * Callback invoked when the user wishes to cancel the selection of objects.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n *Callback invoked when confirm action is executed passing the selected objects ids.\n */\n @Prop() readonly confirmCallback!: ConfirmCallback;\n\n /**\n * Current objects selection in the grid\n */\n @Prop({ mutable: true }) selection: ObjectData[] = [];\n\n /**\n * Emitted once just after the component is fully loaded and the first render() occurs.\n */\n @Event() componentDidLoadEvent: EventEmitter<boolean>;\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n componentDidLoad() {\n this.#listenChanges();\n }\n\n componentDidRender() {\n if (!this.#renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this.#_componentLocale.componentName\n );\n this.#renderedFirstTime = true;\n }\n }\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.componentDidLoadEvent.emit(true);\n }\n\n /**\n * Validate necessary data input\n */\n @Method()\n async validate(): Promise<boolean> {\n const isValid = true;\n return isValid;\n }\n\n #cancelHandler = (): void => {\n this.cancelCallback();\n };\n\n #confirmHandler = (): void => {\n if (this.confirmCallback) {\n const allRowsIds: string[] = [];\n this.selection.forEach(row => {\n allRowsIds.push(row.id);\n });\n\n this.confirmCallback(allRowsIds);\n }\n };\n\n #getObjectsHandler = (): void => {\n this.addCallback().then((items: ObjectData[]) => {\n if (items?.length > 0) {\n this.selection = [...this.selection, ...items];\n this.selectedObjectsIds = [];\n }\n });\n };\n\n #listenChanges = (): void => {\n this.#chGridEl.addEventListener(\"selectionChanged\", (ev: any): void => {\n this.selectedObjectsIds = ev.detail.rowsId;\n });\n };\n\n #removeAllHandler = (): void => {\n this.selection = [];\n };\n\n #removeSelectedObjectsHandler = (): void => {\n const selection = this.selection.filter(\n item => !this.selectedObjectsIds.includes(item.id)\n );\n this.selection = selection;\n this.selectedObjectsIds = [];\n };\n\n #renderObjects = (): Element => {\n return (\n <ch-tabular-grid\n allowColumnReorder={false}\n columnResizeMode=\"single\"\n class=\"tabular-grid tabular-grid-main\"\n row-selection-mode=\"multiple\"\n keyboardNavigationMode=\"focus\"\n ref={(el: HTMLChTabularGridElement) => (this.#chGridEl = el)}\n part=\"ch-grid-objects\"\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n columnName=\"\"\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.minContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this.#_componentLocale.tableHead.name}\n settingable={false}\n sortable={false}\n size=\"1fr\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this.#_componentLocale.tableHead.type}\n settingable={false}\n sortable={false}\n size=\"minmax(120px,auto)\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this.#_componentLocale.tableHead.description}\n settingable={false}\n sortable={false}\n size=\"minmax(120px,auto)\"\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnName={this.#_componentLocale.tableHead.modifiedOn}\n settingable={false}\n sortable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n {this.selection.map((obj: ObjectData) => (\n <ch-tabular-grid-row\n rowid={obj.id}\n key={obj.id}\n class=\"tabular-grid-row\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.typeIcon} class=\"icon-s\"></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.type}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {`${formatDate(obj.modifiedOn)}`}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid>\n );\n };\n\n render(): void {\n const buttonRemoveSelectedDisabled = !(this.selectedObjectsIds.length > 0);\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts src={this.#shortcutsSrc}></ch-shortcuts>\n <section class=\"section\">\n <header class=\"header field-group dialog-header header header-two-cols spacing-body-block-start spacing-body-inline\">\n <div class=\"buttons-spacer\">\n <button\n // remove selected button\n class=\"button-secondary\"\n onClick={\n !buttonRemoveSelectedDisabled &&\n this.#removeSelectedObjectsHandler\n }\n part=\"remove\"\n disabled={buttonRemoveSelectedDisabled}\n >\n {this.#_componentLocale.btnRemoveSelectedObjects}\n </button>\n\n <button\n // add button\n class=\"button-secondary button-icon-and-text\"\n onClick={this.#getObjectsHandler}\n part=\"add\"\n >\n <ch-image class=\"icon-m\" src={GEMINI_TOOLS_ADD_ICON}></ch-image>\n {this.#_componentLocale.btnAddObject}\n </button>\n </div>\n </header>\n {this.#renderObjects()}\n <footer class=\"dialog-footer dialog-footer-space-between spacing-body-block-end spacing-body-inline\">\n <button\n // remove all button\n class=\"button-tertiary\"\n onClick={this.#removeAllHandler}\n disabled={!(this.selection.length > 0)}\n part=\"clear\"\n >\n {this.#_componentLocale.footer.btnRemoveAll}\n </button>\n\n <div class=\"buttons-spacer\">\n <button\n // cancel button\n class=\"button-secondary\"\n onClick={this.#cancelHandler}\n part=\"cancel\"\n >\n {this.#_componentLocale.footer.btnCancel}\n </button>\n\n <button\n // confirm button\n class=\"button-primary\"\n onClick={this.#confirmHandler}\n part=\"confirm\"\n >\n {this.#_componentLocale.footer.btnConfirm}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type AddCallback = () => Promise<ObjectData[]>;\nexport type CancelCallback = () => Promise<void>;\nexport type ConfirmCallback = (ids: string[]) => Promise<void>;\n\nexport interface ObjectData {\n id: string;\n typeIcon: string;\n name: string;\n type: string;\n description: string;\n modifiedOn: Date;\n}\n"],"mappings":"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"}
@@ -16,7 +16,7 @@ import { v as l } from "./p-b32b6b1f.js";
16
16
 
17
17
  import { L as h } from "./p-311eedf3.js";
18
18
 
19
- const c = ":host{display:grid;block-size:100%;grid-template-rows:max-content 1fr max-content}.section{display:contents}header{display:grid;grid-template-rows:max-content;grid-template-columns:1fr 1fr max-content}.button-change{align-self:center;justify-self:end}.main{display:grid;grid-template-columns:1fr;grid-template-rows:max-content 1fr max-content max-content}.search-kbs{inline-size:50%}.versions-container{grid-auto-rows:max-content}.versions-container__input{display:grid;grid-template-columns:1fr max-content;gap:var(--spacing-gap-m)}";
19
+ const c = "button.button-secondary{border-color:var(--color-border-neutral-default)}:host{display:grid;block-size:100%;grid-template-rows:max-content 1fr max-content}.section{display:contents}header{display:grid;grid-template-rows:max-content;grid-template-columns:1fr 1fr max-content}.button-change{align-self:center;justify-self:end}.main{display:grid;grid-template-columns:1fr;grid-template-rows:max-content 1fr max-content max-content}.search-kbs{inline-size:50%}.versions-container{grid-auto-rows:max-content}.versions-container__input{display:grid;grid-template-columns:1fr max-content;gap:var(--spacing-gap-m)}";
20
20
 
21
21
  var d = undefined && undefined.__classPrivateFieldSet || function(t, i, e, s, n) {
22
22
  if (s === "m") throw new TypeError("Private method is not writable");
@@ -283,4 +283,4 @@ C = new WeakMap, E = new WeakMap, S = new WeakMap, $ = new WeakMap;
283
283
  z.style = c;
284
284
 
285
285
  export { z as gx_ide_share_kb };
286
- //# sourceMappingURL=p-bdaae26a.entry.js.map
286
+ //# sourceMappingURL=p-35c2a2f9.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["shareKbCss","CSS_BUNDLES","GxIdeShareKb","_GxIdeShareKb_showMoreIcon","set","this","getIconPath","category","name","colorType","_GxIdeShareKb_versionsSelect","value","caption","_GxIdeShareKb__componentLocale","_GxIdeShareKb_kbVersions","_GxIdeShareKb_renderedFirstTime","_GxIdeShareKb_chShortcutsEl","_GxIdeShareKb_shortcutsSrc","getAssetPath","_GxIdeShareKb_selectedKbId","_GxIdeShareKb_versionSelectedTypeEl","_GxIdeShareKb_KBNameEl","_GxIdeShareKb_cancelHandler","cancelCallback","_GxIdeShareKb_changeConnectionHandler","async","changeConnectionCallback","authenticationType","connectionData","serverUrl","userName","userPassword","_GxIdeShareKb_shareKBHandler","versionSelectedType","__classPrivateFieldSet","shareKBCallback","kbName","versionList","__classPrivateFieldGet","allVersions","then","formSubmitResult","validatableControls","validateControls","_GxIdeShareKb_evaluateTooltipRender","controlReference","_b","_a","get","id","hasError","_c","message","h","class","actionElement","blockAlign","config","tooltipSettings","inlineAlign","delay","_GxIdeShareKb_initializeValidatableControls","forEach","validatableControl","reference","undefined","_GxIdeShareKb_kbNameInputHandler","event","detail","_GxIdeShareKb_selectedVersionHandler","selectKBVersionsCallback","result","length","map","kbVersion","localKbNameInputValue","versionsValueInput","kb","versionsPlaceholder","toString","versionSelectedFieldValue","oneVersionSelectedFieldValue","_GxIdeShareKb_versionsChangedHandler","enableSelectVersionsButton","_GxIdeShareKb_renderFooter","disableShareKbButton","onClick","part","footer","cancel","disabled","shareKB","Map","componentDidLoad","call","componentDidRender","componentDidRenderFirstTime","emit","componentName","componentWillLoad","Locale","getComponentStrings","el","suspendShortcuts","suspend","render","Host","model","src","ref","header","user","change","htmlFor","aliasLabel","onInput","placeholder","localKbNamePlaceholder","onChange","versionsLabel","readonly","versionsPlaceholderDisabled"],"sources":["src/components/team-dev/share-kb/share-kb.scss?tag=gx-ide-share-kb&encapsulation=shadow","src/components/team-dev/share-kb/share-kb.tsx"],"sourcesContent":["@import \"../../../global/temporary-mercury-overrides/_button.scss\";\n\n:host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n// - - - - - - - - - - -\n// Header\n// - - - - - - - - - - -\n\nheader {\n display: grid;\n grid-template-rows: max-content;\n grid-template-columns: 1fr 1fr max-content;\n}\n\n.button-change {\n align-self: center;\n justify-self: end;\n}\n\n// - - - - - - - - - - -\n// Main\n// - - - - - - - - - - -\n\n.main {\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: max-content 1fr max-content max-content;\n}\n\n.search-kbs {\n inline-size: 50%;\n}\n\n.versions-container {\n grid-auto-rows: max-content;\n\n &__input {\n display: grid;\n grid-template-columns: 1fr max-content;\n gap: var(--spacing-gap-m);\n }\n}\n","// Stencil\nimport {\n Component,\n Element,\n Event,\n EventEmitter,\n getAssetPath,\n h,\n Host,\n Method,\n Prop,\n State\n} from \"@stencil/core\";\n\n// Other Libraries\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\n// Custom Imports\nimport { ChEditCustomEvent } from \"@genexus/chameleon-controls-library\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\nimport { config } from \"../../../common/config\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../../common/form-validation\";\nimport { Locale } from \"../../../common/locale\";\nimport { FormSubmitResult } from \"../../../common/types\";\nimport { GXServerConnectionData } from \"../connect-gx-server/connect-gx-server\";\nimport { KBVersion } from \"../version-control/common/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"components/list-box\",\n \"components/tooltip\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-share-kb\",\n styleUrl: \"share-kb.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/share-kb\"]\n})\nexport class GxIdeShareKb {\n #showMoreIcon = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"on-surface\"\n });\n\n #versionsSelect: RadioGroupItemModel[] = [\n { value: \"Trunk\", caption: \"Trunk Version\" },\n { value: \"All\", caption: \"All Versions\" },\n { value: \"Select\", caption: \"Select Version\" }\n ];\n\n [key: string]: any;\n\n #_componentLocale: any;\n #kbVersions: KBVersion[] = [];\n #renderedFirstTime = false;\n #chShortcutsEl: HTMLChShortcutsElement;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/create-kb-from-server/shortcuts.json`\n );\n #selectedKbId: string;\n\n #versionSelectedTypeEl: HTMLChRadioGroupRenderElement;\n\n @Element() el: HTMLGxIdeShareKbElement;\n\n #KBNameEl!: HTMLChEditElement;\n\n /**\n * State to enable/disable the select versions button\n */\n @State() enableSelectVersionsButton: boolean = false;\n\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * The version selected type\n */\n @State() versionSelectedType: VersionOption;\n\n /**\n * String value to show the number of versions selected (\"N versions selected\")\n */\n @State() versionsValueInput: string = \"\";\n\n /**\n * Set of data required when executing any of the callbacks that require a connection to the server.\n */\n @Prop() readonly connectionData: GXServerConnectionData;\n\n /**\n * Callback that is invoked when the dialog is closed\n */\n @Prop() readonly cancelCallback!: () => Promise<void>;\n\n /**\n * The host reopens the gx-ide-connect-server login modal with the previous data, and closes the current modal\n */\n @Prop() readonly changeConnectionCallback: (\n data: GXServerConnectionData\n ) => Promise<void>;\n\n /**\n * The name of the KB.\n */\n @Prop({ mutable: true }) kbName: string;\n\n /**\n * Callback that must be invoked when the Share button is pressed.\n */\n @Prop() readonly shareKBCallback: (\n data: ShareKBData\n ) => Promise<FormSubmitResult>;\n\n /**\n * Callback invoked by pressing the ellipsis in the version selector. Receives the KB selected by the user, and displays the version selector dialog. Returns a list of versions chosen by the user.\n */\n @Prop() readonly selectKBVersionsCallback: (\n selectedKB: string\n ) => Promise<KBVersion[]>;\n\n /**\n * Emitted once just after the component is fully loaded and the first render() occurs\n */\n @Event() componentDidRenderFirstTime: EventEmitter<boolean>;\n\n componentDidLoad() {\n this.versionSelectedType = this.#versionSelectedTypeEl\n .value as VersionOption;\n\n this.#initializeValidatableControls();\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 async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n #cancelHandler = (): void => {\n this.cancelCallback();\n };\n\n #changeConnectionHandler = async (): Promise<void> => {\n this.changeConnectionCallback({\n authenticationType: this.connectionData.authenticationType,\n serverUrl: this.connectionData.serverUrl,\n userName: this.connectionData.userName,\n userPassword: this.connectionData.userPassword\n });\n };\n\n #shareKBHandler = async (): Promise<void> => {\n if (this.versionSelectedType !== \"Select\") {\n this.#kbVersions = [];\n }\n this.shareKBCallback({\n name: this.kbName,\n serverUrl: this.connectionData.serverUrl,\n versionList: this.#kbVersions,\n allVersions: this.versionSelectedType === \"All\"\n }).then((formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n });\n };\n\n // TODO: evaluate if this should be a global helper function.\n // It is used on other dialogs as well.\n #evaluateTooltipRender = (\n controlReference: HTMLElement\n ): HTMLChTooltipElement =>\n this.validatableControls?.get(controlReference?.id)?.hasError &&\n this.validatableControls.get(controlReference.id)?.message && (\n <ch-tooltip\n class=\"tooltip\"\n actionElement={controlReference as unknown as HTMLButtonElement}\n blockAlign={config.tooltipSettings.blockAlign}\n inlineAlign={config.tooltipSettings.inlineAlign}\n delay={config.tooltipSettings.delay}\n >\n {this.validatableControls.get(controlReference.id).message}\n </ch-tooltip>\n );\n\n #initializeValidatableControls = () => {\n // populate validatableControls with the controls that could have errors.\n const validatableControls: HTMLElement[] = [this.#KBNameEl];\n validatableControls.forEach(validatableControl => {\n if (validatableControl.id) {\n this.validatableControls.set(validatableControl.id, {\n reference: validatableControl,\n hasError: false,\n message: undefined\n });\n }\n });\n };\n\n #kbNameInputHandler = (event: ChEditCustomEvent<string> | InputEvent) => {\n this.kbName = event.detail as string;\n };\n\n #selectedVersionHandler = async () => {\n if (this.selectKBVersionsCallback) {\n await this.selectKBVersionsCallback(this.#selectedKbId).then(result => {\n if (result?.length) {\n this.#kbVersions = result.map(kbVersion => ({\n id: kbVersion.id,\n name: kbVersion.name\n }));\n\n if (result.length === 1 && this.#kbVersions[0].id === 0) {\n this.localKbNameInputValue = this.#selectedKbId;\n this.versionsValueInput =\n this.#_componentLocale.kb.versionsPlaceholder;\n } else if (result.length > 1) {\n this.localKbNameInputValue = this.#selectedKbId;\n this.versionsValueInput = `${result.length.toString()} ${\n this.#_componentLocale.kb.versionSelectedFieldValue\n }`;\n } else {\n this.localKbNameInputValue = `${this.#selectedKbId}_${\n this.#kbVersions[0].name\n }`;\n this.versionsValueInput = `${result[0].name} ${\n this.#_componentLocale.kb.oneVersionSelectedFieldValue\n }`;\n }\n }\n });\n }\n };\n\n #versionsChangedHandler = (event: CustomEvent<string>) => {\n this.versionSelectedType = event.detail as VersionOption;\n if (this.versionSelectedType === \"Select\") {\n this.enableSelectVersionsButton = true;\n } else {\n this.enableSelectVersionsButton = false;\n }\n };\n\n #renderFooter = () => {\n const disableShareKbButton = !this.kbName.length;\n return (\n <footer class=\"footer dialog-footer-with-border spacing-body-inline spacing-body-block-end\">\n <div class=\"buttons-spacer\">\n <button\n // cancel button\n class=\"button-secondary\"\n onClick={this.#cancelHandler}\n part=\"button button-cancel\"\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n\n <button\n // share kb button\n class=\"button-primary\"\n onClick={!disableShareKbButton && this.#shareKBHandler}\n disabled={disableShareKbButton}\n part=\"button button-create-kb\"\n >\n {this.#_componentLocale.footer.shareKB}\n </button>\n </div>\n </footer>\n );\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n\n <section class=\"section\">\n <header class=\"header dialog-header-with-border space-body spacing-body-inline spacing-body-block-start\">\n <div class=\"field field-block\">\n <label class=\"label\">\n {this.#_componentLocale.header.serverUrl}\n </label>\n <p>{this.connectionData.serverUrl}</p>\n </div>\n\n <div class=\"field field-block\">\n <label class=\"label\">{this.#_componentLocale.header.user}</label>\n <p>{this.connectionData.userName}</p>\n </div>\n\n <button\n id=\"change-connection-button\"\n class=\"button-tertiary button-change\"\n onClick={this.#changeConnectionHandler}\n >\n {this.#_componentLocale.header.change}\n </button>\n </header>\n\n <section class=\"main field-group spacing-body\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"alias\">\n {this.#_componentLocale.kb.aliasLabel}\n </label>\n <ch-edit\n // alias\n class=\"input\"\n id=\"kb-name\"\n value={this.kbName}\n onInput={this.#kbNameInputHandler}\n placeholder={this.#_componentLocale.kb.localKbNamePlaceholder}\n ref={(el: HTMLChEditElement) =>\n (this.#KBNameEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#KBNameEl)}\n </div>\n\n <div class=\"versions-container field-group\">\n <ch-radio-group-render\n class=\"radio-group\"\n model={this.#versionsSelect}\n onChange={this.#versionsChangedHandler}\n value={this.#versionsSelect[0].value}\n ref={(el: HTMLChRadioGroupRenderElement) =>\n (this.#versionSelectedTypeEl =\n el as HTMLChRadioGroupRenderElement)\n }\n ></ch-radio-group-render>\n\n {this.versionSelectedType === \"Select\" && (\n <div class=\"versions-container__item field-group\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"control-id-1\">\n {this.#_componentLocale.kb.versionsLabel}\n </label>\n <div class=\"versions-container__input\">\n <ch-edit\n class=\"input\"\n readonly\n placeholder={\n this.enableSelectVersionsButton\n ? this.#_componentLocale.kb.versionsPlaceholder\n : this.#_componentLocale.kb\n .versionsPlaceholderDisabled\n }\n value={this.versionsValueInput}\n ></ch-edit>\n <button\n id=\"select-version-button\"\n class=\"button-tertiary button-icon-only\"\n onClick={this.#selectedVersionHandler}\n disabled={!this.enableSelectVersionsButton}\n >\n <ch-image\n src={this.#showMoreIcon}\n class=\"icon-xs\"\n ></ch-image>\n </button>\n </div>\n </div>\n </div>\n )}\n </div>\n </section>\n\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type KBData = {\n id: string;\n name: string;\n};\n\nexport type ConnectionResultData = {\n formResult: FormSubmitResult;\n kbs: KBData[];\n};\n\nexport type ShareKBData = {\n name: string;\n serverUrl: string;\n versionList: KBVersion[];\n allVersions: boolean;\n};\n\nexport type VersionOption = \"Trunk\" | \"All\" | \"Select\";\n"],"mappings":"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"}
@@ -19,9 +19,9 @@ const mapNavigationDataToTreeView = e => e.map(((e, t) => ({
19
19
  })
20
20
  })));
21
21
 
22
- const c = ':host{display:grid;block-size:100%;overflow:auto;grid-template-areas:"aside main" "footer footer";grid-template-rows:1fr max-content;grid-template-columns:240px 1fr}:host(.display-header-type){grid-template-areas:"header header" "aside main" "footer footer";grid-template-rows:max-content 1fr max-content;grid-template-columns:240px 1fr}.section{display:contents}.header{grid-area:header;display:grid;grid-template-columns:1fr max-content}.header__description{display:grid;gap:var(--spacing-gap-m)}.header__description-p{max-inline-size:460px}.header__actions{flex-shrink:0}.aside{grid-area:aside;overflow:auto;border-inline-end:var(--section-common-border);display:grid;grid-template-rows:max-content 1fr}.main{grid-area:main;overflow:auto}.footer{grid-area:footer;justify-content:flex-start}.tree-view::part(item__action tree-view-item--success),.tree-view::part(item__action tree-view-item--warning),.tree-view::part(item__action tree-view-item--error){padding-inline-start:24px}.tree-view::part(item__action tree-view-item--success){background:var(--icon__states_pill-filled_success--enabled) no-repeat;background-position-y:center}.tree-view::part(item__action tree-view-item--warning){background:var(--icon__states_pill-filled_warning--enabled) no-repeat;background-position-y:center}.tree-view::part(item__action tree-view-item--error){background:var(--icon__states_pill-filled_error--enabled) no-repeat;background-position-y:center}';
22
+ const d = 'button.button-secondary{border-color:var(--color-border-neutral-default)}:host{display:grid;block-size:100%;overflow:auto;grid-template-areas:"aside main" "footer footer";grid-template-rows:1fr max-content;grid-template-columns:240px 1fr}:host(.display-header-type){grid-template-areas:"header header" "aside main" "footer footer";grid-template-rows:max-content 1fr max-content;grid-template-columns:240px 1fr}.section{display:contents}.header{grid-area:header;display:grid;grid-template-columns:1fr max-content}.header__description{display:grid;gap:var(--spacing-gap-m)}.header__description-p{max-inline-size:460px}.header__actions{flex-shrink:0}.aside{grid-area:aside;overflow:auto;border-inline-end:var(--section-common-border);display:grid;grid-template-rows:max-content 1fr}.main{grid-area:main;overflow:auto}.footer{grid-area:footer;justify-content:flex-start}.tree-view::part(item__action tree-view-item--success),.tree-view::part(item__action tree-view-item--warning),.tree-view::part(item__action tree-view-item--error){padding-inline-start:24px}.tree-view::part(item__action tree-view-item--success){background:var(--icon__states_pill-filled_success--enabled) no-repeat;background-position-y:center}.tree-view::part(item__action tree-view-item--warning){background:var(--icon__states_pill-filled_warning--enabled) no-repeat;background-position-y:center}.tree-view::part(item__action tree-view-item--error){background:var(--icon__states_pill-filled_error--enabled) no-repeat;background-position-y:center}';
23
23
 
24
- var d = undefined && undefined.__classPrivateFieldSet || function(e, t, i, s, a) {
24
+ var c = undefined && undefined.__classPrivateFieldSet || function(e, t, i, s, a) {
25
25
  if (s === "m") throw new TypeError("Private method is not writable");
26
26
  if (s === "a" && !a) throw new TypeError("Private accessor was defined without a setter");
27
27
  if (typeof t === "function" ? e !== t || !a : !t.has(e)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
@@ -38,7 +38,7 @@ var h, p, u, g, f, m, w, v;
38
38
 
39
39
  const b = [ "resets/box-sizing", "components/tab", "components/tooltip", "components/tree-view", "utils/form--full", "utils/layout", "utils/typography", "utils/spacing", "chameleon/scrollbar" ];
40
40
 
41
- const _ = class {
41
+ const y = class {
42
42
  constructor(i) {
43
43
  e(this, i);
44
44
  this.componentDidRenderEvent = t(this, "componentDidRenderEvent", 7);
@@ -105,7 +105,7 @@ const _ = class {
105
105
  this.navigationItemsCaptionRegExpString = `"${o}":".*${t}.*"`;
106
106
  }));
107
107
  v.set(this, (e => {
108
- d(this, p, e, "f");
108
+ c(this, p, e, "f");
109
109
  this.reportTreeItems = mapNavigationDataToTreeView(e);
110
110
  let t = 0;
111
111
  let i = 0;
@@ -172,7 +172,7 @@ const _ = class {
172
172
  l(this, v, "f").call(this, []);
173
173
  }
174
174
  async componentWillLoad() {
175
- d(this, h, await r.getComponentStrings(this.el), "f");
175
+ c(this, h, await r.getComponentStrings(this.el), "f");
176
176
  }
177
177
  render() {
178
178
  var e;
@@ -267,7 +267,7 @@ const _ = class {
267
267
  h = new WeakMap, p = new WeakMap, u = new WeakMap, g = new WeakMap, f = new WeakMap,
268
268
  m = new WeakMap, w = new WeakMap, v = new WeakMap;
269
269
 
270
- _.style = c;
270
+ y.style = d;
271
271
 
272
- export { _ as gx_ide_navigation_report };
273
- //# sourceMappingURL=p-ee77b260.entry.js.map
272
+ export { y as gx_ide_navigation_report };
273
+ //# sourceMappingURL=p-37812762.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["STATUS_REGEXP_KEY","CAPTION_REGEXP_KEY","mapNavigationDataToTreeView","navigationData","map","dataItem","i","id","selected","caption","name","startImgSrc","icon","parts","result","leaf","metadata","JSON","stringify","toString","navigationReportCss","CSS_BUNDLES","GxIdeNavigationReport","_GxIdeNavigationReport_componentLocale","set","this","_GxIdeNavigationReport_items","_GxIdeNavigationReport_combinedRegExp","statusPattern","navigationItemsStatusRegExpString","captionPattern","navigationItemsCaptionRegExpString","combinedPattern","navigationItemsRegExp","RegExp","_GxIdeNavigationReport_itemsSelectionChangedHandler","event","selectedItemId","_a","detail","item","itemSelectedCallback","_GxIdeNavigationReport_sortItemsCallback","subModel","sort","a","b","localeCompare","_GxIdeNavigationReport_statusButtonsSelectionChangedHandler","activeStates","statuses","errorIndex","findIndex","state","itemId","warningIndex","successIndex","push","length","statusOptions","join","statusInfo","error","display","number","warning","success","_GxIdeNavigationReport_patternInputHandler","patternFilterValue","_GxIdeNavigationReport_handleChangedItems","newItems","__classPrivateFieldSet","reportTreeItems","errorsCount","warningsCount","successCount","forEach","metadataObject","parse","statusValue","navigationItemsStatusRegExpStringChanged","__classPrivateFieldGet","call","navigationItemsCaptionRegExpStringChanged","addItem","concat","clearItems","componentWillLoad","Locale","getComponentStrings","el","render","h","Host","class","widget","headerData","model","title","description","buttons","button","buttonIcon","buttonType","type","onClick","callback","src","htmlFor","aside","filterLabel","placeholder","filterPlaceholder","onInput","filter","filterType","onSelectedItemsChange","sortItemsCallback","filterOptions","autoExpand","hideMatchesAndShowNonMatches","errors","warnings","successes","hideMessage","compact","onSelectionChanged"],"sources":["src/components/navigation-report/helpers.ts","src/components/navigation-report/navigation-report.scss?tag=gx-ide-navigation-report&encapsulation=shadow","src/components/navigation-report/navigation-report.tsx"],"sourcesContent":["import { TreeViewModel } from \"@genexus/chameleon-controls-library\";\nimport { NavigationData, Status } from \"./navigation-report\";\n\nexport const STATUS_REGEXP_KEY = \"status\";\nexport const CAPTION_REGEXP_KEY = \"caption\";\n\nexport const mapNavigationDataToTreeView = (\n navigationData: NavigationData[]\n): TreeViewModel =>\n navigationData.map((dataItem, i) => {\n return {\n id: dataItem.id,\n selected: i === 0,\n caption: dataItem.name,\n startImgSrc: dataItem.icon,\n parts: `tree-view-item tree-view-item--status tree-view-item--${dataItem.result}`,\n leaf: true,\n metadata: JSON.stringify({\n [STATUS_REGEXP_KEY]: dataItem.result.toString() as Status,\n [CAPTION_REGEXP_KEY]: dataItem.name\n })\n };\n });\n","@import \"../../global/gx-ide-mixins.scss\";\n@import \"../../global/temporary-mercury-overrides/_button.scss\";\n\n:host {\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-areas:\n \"aside main\"\n \"footer footer\";\n grid-template-rows: 1fr max-content;\n grid-template-columns: 240px 1fr;\n}\n\n:host(.display-header-type) {\n grid-template-areas:\n \"header header\"\n \"aside main\"\n \"footer footer\";\n\n grid-template-rows: max-content 1fr max-content;\n grid-template-columns: 240px 1fr;\n}\n\n.section {\n display: contents;\n}\n\n// - - - - - - - - - - - - -\n// Header\n// - - - - - - - - - - - - -\n\n.header {\n grid-area: header;\n display: grid;\n grid-template-columns: 1fr max-content;\n\n &__description {\n display: grid;\n gap: var(--spacing-gap-m);\n\n &-p {\n max-inline-size: 460px;\n }\n }\n &__actions {\n flex-shrink: 0;\n }\n}\n\n// - - - - - - - - - - - - -\n// Aside & Main\n// - - - - - - - - - - - - -\n\n.aside {\n grid-area: aside;\n overflow: auto;\n border-inline-end: var(--section-common-border);\n display: grid;\n grid-template-rows: max-content 1fr;\n}\n\n.main {\n grid-area: main;\n overflow: auto;\n}\n\n// - - - - - - - - - - - - -\n// Footer\n// - - - - - - - - - - - - -\n\n.footer {\n grid-area: footer;\n justify-content: flex-start;\n}\n\n// - - - - - - - - - - - - - - - - - - -\n// Tree view status custom status \"icon\"\n// - - - - - - - - - - - - - - - - - - -\n.tree-view::part(item__action tree-view-item--success),\n.tree-view::part(item__action tree-view-item--warning),\n.tree-view::part(item__action tree-view-item--error) {\n // WA custom solution for two icons\n // Because this is a one level tree, there is no risk of\n // breaking the layout with a custom padding.\n padding-inline-start: 24px;\n}\n\n.tree-view::part(item__action tree-view-item--success) {\n background: var(--icon__states_pill-filled_success--enabled) no-repeat;\n background-position-y: center;\n}\n.tree-view::part(item__action tree-view-item--warning) {\n background: var(--icon__states_pill-filled_warning--enabled) no-repeat;\n background-position-y: center;\n}\n.tree-view::part(item__action tree-view-item--error) {\n background: var(--icon__states_pill-filled_error--enabled) no-repeat;\n background-position-y: center;\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n Watch,\n Method\n} from \"@stencil/core\";\n// Other Libraries\nimport { MercuryBundles } from \"@genexus/mercury\";\n// Custom Imports\nimport { Locale } from \"../../common/locale\";\nimport {\n mapNavigationDataToTreeView,\n STATUS_REGEXP_KEY,\n CAPTION_REGEXP_KEY\n} from \"./helpers\";\nimport {\n ChEditCustomEvent,\n TreeViewItemModelExtended,\n TreeViewModel\n} from \"@genexus/chameleon-controls-library\";\nimport { CheckedItemsInfo } from \"../_helpers/list-selector/list-selector\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/tab\",\n \"components/tooltip\",\n \"components/tree-view\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-navigation-report\",\n styleUrl: \"navigation-report.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/navigation-report\"]\n})\nexport class GxIdeNavigationReport {\n /**\n * The component hard-coded strings translations.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #componentLocale: any;\n\n #items: NavigationData[] = [];\n\n @Element() el: HTMLGxIdeNavigationReportElement;\n @State() reportTreeItems: TreeViewModel = [];\n @State() navigationItemsStatusRegExpString: string = \"\";\n @Watch(\"navigationItemsStatusRegExpString\")\n navigationItemsStatusRegExpStringChanged() {\n this.#combinedRegExp();\n }\n @State() navigationItemsCaptionRegExpString: string = \"\";\n @Watch(\"navigationItemsCaptionRegExpString\")\n navigationItemsCaptionRegExpStringChanged() {\n this.#combinedRegExp();\n }\n @State() navigationItemsRegExp: RegExp;\n @State() confirmed = false;\n @State() headerState: \"none\" | \"create\" | \"reorganize\" = \"none\";\n\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() someStatusVisible: boolean;\n\n /**\n * The header data to display on the header.\n */\n @Prop() readonly headerData: HeaderData;\n\n /**\n * Callback invoked when user confirms data base reorganization\n */\n @Prop() readonly confirmCallback: ConfirmCallback;\n\n /**\n * Callback invoked when user cancels reorganization\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Callback to be invoked when the user closes the dialog\n */\n @Prop() readonly closeCallback: CloseCallback;\n\n /**\n * Callback invoked when a list item is selected\n */\n @Prop() readonly itemSelectedCallback: ItemSelectedCallback;\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderEvent: EventEmitter<string>;\n\n /**\n * Add a new item\n */\n @Method()\n async addItem(item: NavigationData) {\n this.#handleChangedItems(this.#items.concat([item]));\n }\n\n /**\n * Clear items\n */\n @Method()\n async clearItems() {\n this.#handleChangedItems([]);\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n #combinedRegExp = () => {\n const statusPattern = this.navigationItemsStatusRegExpString || \"\";\n const captionPattern = this.navigationItemsCaptionRegExpString || \"\";\n\n // Create a RegExp that combines the values from the buttons statues and the filer value.\n const combinedPattern = `${statusPattern && `(${statusPattern})`}${\n statusPattern && captionPattern ? \".*\" : \"\"\n }${captionPattern && `(${captionPattern})`}`;\n\n this.navigationItemsRegExp = new RegExp(combinedPattern, \"i\");\n };\n\n #itemsSelectionChangedHandler = (\n event: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n const selectedItemId = event.detail[0]?.item.id;\n if (selectedItemId) {\n this.itemSelectedCallback(selectedItemId);\n }\n };\n\n #sortItemsCallback = (subModel: TreeViewModel) => {\n return subModel.sort((a, b) => a.caption.localeCompare(b.caption));\n };\n\n #statusButtonsSelectionChangedHandler = (\n event: CustomEvent<CheckedItemsInfo>\n ) => {\n const activeStates = event.detail;\n const statuses: Status[] = [];\n\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\n if (errorIndex !== -1) {\n statuses.push(\"error\");\n }\n if (warningIndex !== -1) {\n statuses.push(\"warning\");\n }\n if (successIndex !== -1) {\n statuses.push(\"success\");\n }\n\n if (statuses.length) {\n const statusOptions = statuses.join(\"|\");\n this.navigationItemsStatusRegExpString = `\"${STATUS_REGEXP_KEY}\":\"(${statusOptions})\"`;\n } else {\n this.navigationItemsStatusRegExpString = `\"${STATUS_REGEXP_KEY}\":\"\"`;\n }\n\n // Update statusInfo for the status-buttons\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 };\n\n #patternInputHandler = (event: ChEditCustomEvent<string> | InputEvent) => {\n const patternFilterValue = event.detail as string;\n this.navigationItemsCaptionRegExpString = `\"${CAPTION_REGEXP_KEY}\":\".*${patternFilterValue}.*\"`;\n };\n\n #handleChangedItems = (newItems: NavigationData[]) => {\n this.#items = newItems;\n this.reportTreeItems = mapNavigationDataToTreeView(newItems);\n let errorsCount: number = 0;\n let warningsCount: number = 0;\n let successCount: number = 0;\n this.reportTreeItems.forEach(item => {\n const metadataObject = JSON.parse(item.metadata);\n let statusValue;\n if (STATUS_REGEXP_KEY in metadataObject) {\n statusValue = metadataObject[STATUS_REGEXP_KEY] as Status;\n }\n\n if (statusValue && statusValue === \"error\") {\n errorsCount++;\n } else if (statusValue && statusValue === \"warning\") {\n warningsCount++;\n } else if (statusValue && statusValue === \"success\") {\n successCount++;\n }\n });\n\n this.statusInfo[\"error\"].number = errorsCount;\n this.statusInfo[\"warning\"].number = warningsCount;\n this.statusInfo[\"success\"].number = successCount;\n };\n\n render() {\n return (\n <Host\n class={{\n \"widget\": true,\n \"display-header-type\": !!this.headerData\n }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n {this.headerData && (\n <header class=\"header dialog-header-with-border spacing-body-inline spacing-body-block-start\">\n <div class=\"header__description\">\n <h3 class=\"subtitle-regular-s\">{this.headerData.title}</h3>\n <p class=\"body-regular-s header__description-p\">\n {this.headerData.description}\n </p>\n </div>\n <div class=\"header__actions\">\n <div class=\"buttons-spacer header__actions\">\n {this.headerData.buttons?.map(button => {\n const buttonIcon = button.icon;\n const buttonType: headerButtonType =\n button.type ?? \"button-primary\";\n return (\n <button\n class={{\n [buttonType]: true,\n \"button-icon-and-text\": !!buttonIcon\n }}\n onClick={button.callback}\n >\n {buttonIcon && (\n <ch-image class=\"icon-m\" src={buttonIcon}></ch-image>\n )}\n {button.caption}\n </button>\n );\n })}\n </div>\n </div>\n </header>\n )}\n\n <section class=\"aside field-group\">\n <header class=\"aside__header spacing-body-inline spacing-body-block-start\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"pattern\">\n {this.#componentLocale.aside.filterLabel}\n </label>\n <ch-edit\n id=\"pattern\"\n class=\"input\"\n placeholder={this.#componentLocale.aside.filterPlaceholder}\n onInput={this.#patternInputHandler}\n ></ch-edit>\n </div>\n </header>\n <ch-tree-view-render\n class=\"tree-view\"\n show-lines=\"last\"\n filter={this.navigationItemsRegExp}\n filterType=\"metadata\"\n model={this.reportTreeItems}\n onSelectedItemsChange={this.#itemsSelectionChangedHandler}\n sortItemsCallback={this.#sortItemsCallback}\n filterOptions={{\n autoExpand: true,\n hideMatchesAndShowNonMatches: false\n }}\n ></ch-tree-view-render>\n </section>\n <section class=\"main spacing-body\">\n <slot></slot>\n </section>\n <footer class=\"footer dialog-footer-with-border dialog-footer-start spacing-body-inline spacing-body-block-end\">\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 onSelectionChanged={this.#statusButtonsSelectionChangedHandler}\n ></gx-ide-status-buttons>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type NavigationData = {\n id: string;\n result: Status;\n icon: string;\n name: string;\n};\n\nexport type ConfirmCallback = () => Promise<void>;\nexport type CancelCallback = () => Promise<void>;\nexport type CloseCallback = () => Promise<void>;\nexport type ItemSelectedCallback = (id: string) => Promise<void>;\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 HeaderData = {\n title: string;\n description: string;\n buttons: HeaderButtonData[];\n};\n\nexport type HeaderButtonData = {\n caption: string;\n icon?: string;\n type?: headerButtonType;\n callback: () => Promise<void>;\n};\n\nexport type headerButtonType = \"button-primary\" | \"button-secondary\";\n\nexport type Status = \"success\" | \"error\" | \"warning\";\n"],"mappings":"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"}
@@ -236,7 +236,7 @@ const searchParentsItems = (t, e) => {
236
236
  return findActiveWithPath(t);
237
237
  };
238
238
 
239
- const c = ":host{--search-input-max-inline-size:400px;display:grid;block-size:100%}:host(:not(.has-footer)){grid-template-rows:max-content 1fr}:host(.has-footer){grid-template-rows:max-content 1fr max-content}.header.has-active-item{grid-area:header}.section{display:contents}.header__first-row,.header__second-row{display:grid;grid-auto-flow:column}.header__first-row{grid-auto-columns:max-content}.header__second-row{grid-template-columns:minmax(150px, var(--search-input-max-inline-size)) max-content}.header__second-row--one-row{grid-template-columns:minmax(150px, var(--search-input-max-inline-size))}.active-item{background-color:var(--color-accent-surface-elevation-1);border-radius:4px;padding:var(--control-padding-block) var(--control-padding-inline);display:flex;align-items:center;gap:var(--spacing-gap-m)}.active-item__icon-container{display:contents}.active-item__icon{pointer-events:none}.active-item__link{text-decoration:underline;color:var(--color-text-primary-default);cursor:pointer}.active-item__link:hover{color:var(--color-text-primary-hover)}.active-item__link:active{color:var(--color-text-primary-pressed)}.trees{position:relative}";
239
+ const c = "button.button-secondary{border-color:var(--color-border-neutral-default)}:host{--search-input-max-inline-size:400px;display:grid;block-size:100%}:host(:not(.has-footer)){grid-template-rows:max-content 1fr}:host(.has-footer){grid-template-rows:max-content 1fr max-content}.header.has-active-item{grid-area:header}.section{display:contents}.header__first-row,.header__second-row{display:grid;grid-auto-flow:column}.header__first-row{grid-auto-columns:max-content}.header__second-row{grid-template-columns:minmax(150px, var(--search-input-max-inline-size)) max-content}.header__second-row--one-row{grid-template-columns:minmax(150px, var(--search-input-max-inline-size))}.active-item{background-color:var(--color-accent-surface-elevation-1);border-radius:4px;padding:var(--control-padding-block) var(--control-padding-inline);display:flex;align-items:center;gap:var(--spacing-gap-m)}.active-item__icon-container{display:contents}.active-item__icon{pointer-events:none}.active-item__link{text-decoration:underline;color:var(--color-text-primary-default);cursor:pointer}.active-item__link:hover{color:var(--color-text-primary-hover)}.active-item__link:active{color:var(--color-text-primary-pressed)}.trees{position:relative}";
240
240
 
241
241
  var h = undefined && undefined.__classPrivateFieldGet || function(t, e, i, s) {
242
242
  if (i === "a" && !s) throw new TypeError("Private accessor was defined without a getter");
@@ -614,4 +614,4 @@ N = new WeakMap, A = new WeakMap, d = new WeakSet, k = async function _GxIdeSele
614
614
  Y.style = c;
615
615
 
616
616
  export { Y as gx_ide_select_kb_items };
617
- //# sourceMappingURL=p-0a7cbbd0.entry.js.map
617
+ //# sourceMappingURL=p-3bbdad29.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["ACTIVE_ITEM_DEFAULT_ICON","getIconPath","category","name","colorType","convertItemsNodeListToFlattenedTreeViewModel","itemsList","checkboxType","itemsListFlattenedTreeViewModel","processNode","item","startImgSrc","active","iconStart","leaf","_a","nodes","length","checkbox","metaData","JSON","stringify","versionType","type","push","caption","checked","endImgSrc","iconEnd","expanded","id","toString","items","metadata","parts","selected","order","forEach","childNode","convertItemsListToTreeViewModel","itemsListTreeViewModel","parseInt","findItemNode","itemNode","result","findItemInArray","itemsNodes","setAllLeafsCheckedFalse","uncheck","unselectAllNodes","unselect","checkItems","idsChecked","itemFind","expandItems","selectItems","idsSelected","searchInNode","node","parents","searchParentsItems","ids","rootItem","results","findFirstActiveNode","findActiveWithPath","nodeList","currentPath","nodePath","path","selectKbItemsCss","CSS_BUNDLES","SYSTEM_SEARCH_ICON","VIEW_AS_TREE_ID","VIEW_AS_LIST_ID","TOGGLE_CHECKBOXES_CHECKED_VALUE","GxIdeSelectKbItems","_GxIdeSelectKbItems__componentLocale","set","this","_GxIdeSelectKbItems_chShortcutsEl","_GxIdeSelectKbItems_selectedNodesIds","_GxIdeSelectKbItems_shortcutsSrc","getAssetPath","_GxIdeSelectKbItems_updatedModelList","_GxIdeSelectKbItems_viewItemsAsModel","_GxIdeSelectKbItems_treeViewRenderEl","_GxIdeSelectKbItems_cancelHandler","cancelCallback","_GxIdeSelectKbItems_checkedItemsChangeHandler","async","e","checkedNodesIds","detail","singleChecks","lastCheckedId","find","includes","__classPrivateFieldGet","updateItemsProperties","Array","from","keys","filter","__classPrivateFieldSet","checkedChanged","_GxIdeSelectKbItems_confirmHandler","confirmCallback","_GxIdeSelectKbItems_contextMenuHandler","itemContextMenuCallback","info","isSelected","clientX","contextmenuEvent","clientY","selection","_GxIdeSelectKbItems_executeDialogAction","callback","_GxIdeSelectKbItems_patternSearchValueChangedHandler","event","searchPatternValue","_GxIdeSelectKbItems_renderActionButtons","h","dialogActions","map","action","class","part","onClick","call","disabled","loading","_GxIdeSelectKbItems_renderFooter","footer","cancel","select","_GxIdeSelectKbItems_selectedItemsChangeHandler","selectedNodesIds","selectionChanged","_GxIdeSelectKbItems_toggleAndSelectNodesInModelItems","selectedItemsIds","nodesToToggle","newItemsSelected","newItemsExpanded","_GxIdeSelectKbItems_updateViews","_GxIdeSelectKbItems_toggleCheckedNodesInModelItems","newItemsList","nodeVersionsListTreeModel","nodeListFlattenedTreeModel","_GxIdeSelectKbItems_viewItemsAsChangedHandler","selectedViewType","nodesVersionsViewType","_GxIdeSelectKbItems_toggleCheckboxesChangedHandler","toggleCheckboxes","_GxIdeSelectKbItems_scrollIntoActiveVersionNode","doScrollIntoView","activeItemNode","scrollIntoVisible","activeItemCallback","componentWillLoad","Locale","getComponentStrings","el","showToggleCheckboxes","value","main","tree","renderFooter","_GxIdeSelectKbItems_instances","_GxIdeSelectKbItems_loadItems","reloadItems","suspendShortcuts","suspend","updateSelection","updateCheckedItems","checkedItemsIds","render","Host","widget","model","src","ref","htmlFor","onChange","checkedValue","onInput","showActiveItemLink","placeholder","header","searchPatternPlaceholder","accessibleName","containerRef","activeItem","useLoader","loaderTitle","loader","title","description","show","expandableButton","onItemContextmenu","onCheckedItemsChange","onSelectedItemsChange","expandOnClick","multiSelection","filterType","loadItemsCallback","error","console"],"sources":["src/components/select-kb-items/helpers.tsx","src/components/select-kb-items/select-kb-items.scss?tag=gx-ide-select-kb-items&encapsulation=shadow","src/components/select-kb-items/select-kb-items.tsx"],"sourcesContent":["import { ItemNode, CheckboxType, ActiveNode } from \"./select-kb-items\";\nimport { TreeViewItemModel } from \"@genexus/chameleon-controls-library\";\nimport { getIconPath } from \"@genexus/mercury\";\n\nexport const ACTIVE_ITEM_DEFAULT_ICON = getIconPath({\n category: \"system\",\n name: \"check-circle\",\n colorType: \"primary\"\n});\n\nexport const convertItemsNodeListToFlattenedTreeViewModel = (\n itemsList: ItemNode[],\n checkboxType: CheckboxType\n): TreeViewItemModel[] => {\n const itemsListFlattenedTreeViewModel: TreeViewItemModel[] = [];\n\n const processNode = (item: ItemNode) => {\n const startImgSrc =\n item.active && !item.iconStart\n ? ACTIVE_ITEM_DEFAULT_ICON\n : item.iconStart;\n const leaf = !item.nodes?.length;\n const checkbox =\n checkboxType === \"all\" ||\n (checkboxType === \"custom\" && item.checkbox) ||\n (checkboxType === \"leaf\" && leaf);\n const metaData = JSON.stringify({\n versionType: item.type\n });\n itemsListFlattenedTreeViewModel.push({\n caption: item.name,\n checkbox: checkbox,\n checked: item.checked,\n startImgSrc: startImgSrc,\n endImgSrc: item.iconEnd,\n expanded: item.expanded,\n id: item.id.toString(),\n items: null,\n leaf: leaf,\n metadata: metaData,\n parts: item.parts,\n selected: item.selected,\n order: item.order\n });\n\n if (item.nodes) {\n item.nodes.forEach(childNode => processNode(childNode));\n }\n };\n\n itemsList.forEach(item => processNode(item));\n return itemsListFlattenedTreeViewModel;\n};\n\nexport const convertItemsListToTreeViewModel = (\n itemsList: ItemNode[],\n checkboxType: CheckboxType\n): TreeViewItemModel[] => {\n const itemsListTreeViewModel: TreeViewItemModel[] = [];\n itemsList.forEach(item => {\n const startImgSrc =\n item.active && !item.iconStart\n ? ACTIVE_ITEM_DEFAULT_ICON\n : item.iconStart;\n const leaf = !item.nodes?.length;\n const checkbox =\n checkboxType === \"all\" ||\n (checkboxType === \"custom\" && item.checkbox) ||\n (checkboxType === \"leaf\" && leaf);\n const expanded = item.expanded;\n const iconStart = startImgSrc;\n const iconEnd = item.iconEnd;\n const metaData = JSON.stringify({\n versionType: item.type\n });\n const order = parseInt(item.id);\n itemsListTreeViewModel.push({\n caption: item.name,\n checkbox: checkbox,\n checked: item.checked,\n startImgSrc: iconStart,\n endImgSrc: iconEnd,\n expanded: expanded,\n id: item.id.toString(),\n items: !leaf\n ? convertItemsListToTreeViewModel(item.nodes, checkboxType)\n : null,\n leaf: leaf,\n metadata: metaData,\n parts: item.parts,\n order: order,\n selected: item.selected\n });\n });\n\n return itemsListTreeViewModel;\n};\n\nconst findItemNode = (id: string, item: ItemNode): ItemNode | null => {\n if (item.id === id) {\n return item;\n }\n\n if (item.nodes) {\n for (const itemNode of item.nodes) {\n const result = findItemNode(id, itemNode);\n if (result) {\n return result;\n }\n }\n }\n return null;\n};\n\nfunction findItemInArray(itemsNodes: ItemNode[], id: string): ItemNode | null {\n for (const item of itemsNodes) {\n const result = findItemNode(id, item);\n if (result) {\n return result;\n }\n }\n return null;\n}\nconst setAllLeafsCheckedFalse = (itemsList: ItemNode[]): ItemNode[] => {\n const uncheck = (itemNode: ItemNode) => {\n itemNode.checked = false;\n if (itemNode.nodes?.length) {\n itemNode.nodes.forEach(childNode => uncheck(childNode));\n }\n };\n\n itemsList.forEach(item => uncheck(item));\n return itemsList;\n};\n\nexport const unselectAllNodes = (itemsList: ItemNode[]) => {\n const unselect = (itemNode: ItemNode) => {\n itemNode.selected = false;\n if (itemNode.nodes?.length) {\n itemNode.nodes.forEach(childNode => unselect(childNode));\n }\n };\n\n itemsList.forEach(item => unselect(item));\n};\n\nexport const checkItems = (\n itemsList: ItemNode[],\n idsChecked: string[]\n): ItemNode[] => {\n setAllLeafsCheckedFalse(itemsList);\n idsChecked.forEach(id => {\n const itemFind = findItemInArray(itemsList, id);\n if (itemFind) {\n itemFind.checked = true;\n }\n });\n\n return itemsList;\n};\n\nexport const expandItems = (\n itemsList: ItemNode[],\n idsChecked: string[]\n): ItemNode[] => {\n idsChecked.forEach(id => {\n const itemFind = findItemInArray(itemsList, id);\n if (itemFind) {\n itemFind.expanded = true;\n }\n });\n\n return itemsList;\n};\n\nexport const selectItems = (\n itemsList: ItemNode[],\n idsSelected: string[]\n): ItemNode[] => {\n idsSelected.forEach(id => {\n const itemFind = findItemInArray(itemsList, id);\n if (itemFind) {\n itemFind.selected = true;\n }\n });\n return itemsList;\n};\n\nfunction searchInNode(item: ItemNode, id: string): string[] | null {\n // If the current node is the searched node, we return an empty list (it has no parents in this branch)\n if (item.id === id) {\n return [];\n }\n\n // We traverse each child looking for the target node\n if (item.nodes?.length) {\n for (const node of item.nodes) {\n const parents = searchInNode(node, id);\n if (parents !== null) {\n // If we find it, we include the current node at the beginning of the path and return\n return [item.id, ...parents];\n }\n }\n }\n return null;\n}\n\nexport const searchParentsItems = (\n items: ItemNode[],\n ids: string[]\n): string[] | null => {\n const parents: string[] = [];\n for (const id of ids) {\n for (const rootItem of items) {\n const results = searchInNode(rootItem, id);\n if (results !== null) {\n results.forEach(result => {\n parents.push(result);\n });\n }\n }\n }\n return parents;\n};\n\n/**\n * Recursively searches for the first node with the active=true property\n * @param nodes Array of nodes to search through\n * @returns An object with caption, iconStart, and path to the first active node found, or null if none is found\n */\nexport const findFirstActiveNode = (nodes: ItemNode[]): ActiveNode | null => {\n // Helper function that keeps track of the path during recursion\n const findActiveWithPath = (\n nodeList: ItemNode[],\n currentPath: string[] = []\n ): ActiveNode | null => {\n // Base case: if nodes is undefined or empty\n if (!nodeList || nodeList.length === 0) {\n return null;\n }\n\n // Iterate through each node in the array\n for (const node of nodeList) {\n // Create a new path that includes the current node\n const nodePath = [...currentPath, node.id];\n\n // Check if the current node is active\n if (node.active === true) {\n return {\n caption: node.name,\n iconStart: node.iconStart,\n path: nodePath\n };\n }\n\n // If the node has children, search through them with the updated path\n if (node.nodes && node.nodes.length > 0) {\n const result = findActiveWithPath(node.nodes, nodePath);\n // If we find an active node in this subtree, return it immediately\n if (result !== null) {\n return result;\n }\n }\n }\n\n // No active node found in any of the nodes\n return null;\n };\n\n // Start the search with an empty path\n return findActiveWithPath(nodes);\n};\n","@import \"../../global/temporary-mercury-overrides/_button.scss\";\n\n:host {\n --search-input-max-inline-size: 400px;\n display: grid;\n block-size: 100%;\n}\n:host(:not(.has-footer)) {\n grid-template-rows: max-content 1fr;\n}\n:host(.has-footer) {\n grid-template-rows: max-content 1fr max-content;\n}\n\n.header.has-active-item {\n grid-area: header;\n}\n\n.section {\n display: contents;\n}\n\n// header\n.header {\n &__first-row,\n &__second-row {\n display: grid;\n grid-auto-flow: column;\n }\n &__first-row {\n grid-auto-columns: max-content;\n }\n &__second-row {\n grid-template-columns:\n minmax(150px, var(--search-input-max-inline-size))\n max-content;\n\n &--one-row {\n grid-template-columns: minmax(150px, var(--search-input-max-inline-size));\n }\n }\n}\n\n.active-item {\n background-color: var(--color-accent-surface-elevation-1);\n border-radius: 4px;\n padding: var(--control-padding-block) var(--control-padding-inline);\n display: flex;\n align-items: center;\n gap: var(--spacing-gap-m);\n}\n.active-item {\n &__icon-container {\n display: contents;\n }\n &__icon {\n pointer-events: none; // We do not want the icon to change the colors, since the clickable area is the caption only\n }\n &__link {\n text-decoration: underline;\n // TODO: There should be a class in Merucry to apply link styles\n color: var(--color-text-primary-default);\n cursor: pointer;\n &:hover {\n color: var(--color-text-primary-hover);\n }\n &:active {\n color: var(--color-text-primary-pressed);\n }\n }\n}\n\n.trees {\n position: relative;\n}\n","import {\n Component,\n Element,\n getAssetPath,\n Host,\n h,\n Prop,\n State,\n Method\n} from \"@stencil/core\";\n\nimport {\n ChCheckboxCustomEvent,\n TreeViewItemModel,\n TreeViewItemModelExtended\n} from \"@genexus/chameleon-controls-library\";\n\nimport {\n checkItems,\n convertItemsListToTreeViewModel,\n convertItemsNodeListToFlattenedTreeViewModel,\n expandItems,\n searchParentsItems,\n selectItems,\n unselectAllNodes,\n findFirstActiveNode\n} from \"./helpers\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\nimport { ContextMenuInfo } from \"../../common/types\";\nimport { RadioGroupItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/radio-group/types\";\n\nimport { ACTIVE_ITEM_DEFAULT_ICON } from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"chameleon/scrollbar\",\n \"components/tooltip\",\n \"components/tree-view\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/spacing\",\n \"utils/typography\"\n];\n\nconst SYSTEM_SEARCH_ICON = getIconPath({\n category: \"system\",\n name: \"search\",\n colorType: \"on-surface\"\n});\n\nconst VIEW_AS_TREE_ID: NodesVersionsViewType = \"tree\";\nconst VIEW_AS_LIST_ID: NodesVersionsViewType = \"list\";\n\nconst TOGGLE_CHECKBOXES_CHECKED_VALUE = \"on\";\n\n@Component({\n tag: \"gx-ide-select-kb-items\",\n styleUrl: \"select-kb-items.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/select-kb-items\"]\n})\nexport class GxIdeSelectKbItems {\n #_componentLocale: any;\n #chShortcutsEl: HTMLChShortcutsElement;\n #selectedNodesIds: string[] = [];\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/select-kb-items/shortcuts.json`\n );\n #updatedModelList: ItemNode[] = [];\n #viewItemsAsModel: RadioGroupItemModel[];\n #treeViewRenderEl: HTMLChTreeViewRenderElement;\n\n @Element() el: HTMLGxIdeSelectKbItemsElement;\n\n /**\n * Represents the active version node caption and icon (if any)\n */\n @State() activeItemNode: ActiveNode;\n\n /**\n * Represents the selected nodes ids\n */\n @State() checkedNodesIds: string[] = [];\n\n /**\n * If true, the footer will be rendered\n */\n @State() renderFooter: boolean = false;\n\n /**\n * Represents the nodes list model\n */\n @State() nodeListFlattenedTreeModel: TreeViewItemModel[] = [];\n\n /**\n * To show a loader when the component is loading\n */\n @State() loading: boolean = true;\n\n /**\n * View type for the nodes.\n */\n @State() nodesVersionsViewType: NodesVersionsViewType = \"tree\";\n\n /**\n * Represents the nodes tree model\n */\n @State() nodeVersionsListTreeModel: TreeViewItemModel[] = [];\n\n /**\n * \"Search Pattern\" input value, used to filter the nodes tree/list.\n */\n @State() searchPatternValue: string = null;\n\n /**\n * It maps to the ch-tree-view-render \"toggleCheckboxes\" property.\n */\n @State() toggleCheckboxes: boolean;\n\n /**\n * Represents the itemLis list model\n */\n @State() itemsList: ItemNode[] = [];\n\n /**\n * Callback emitted when the user clicks on the \"Active item\"\n */\n @Prop() readonly activeItemCallback?: () => Promise<void>;\n\n /**\n * Callback emitted when the 'cancel' button is pressed\n */\n @Prop() readonly cancelCallback?: () => Promise<void>;\n\n /**\n * Defines which nodes of the component have checkboxes.\n */\n @Prop() readonly checkboxType: CheckboxType;\n\n /**\n * Define if a item node is expanded on click interaction. If false item-node will only be expanded on double click.\n */\n @Prop() readonly expandOnClick: boolean = true;\n\n /**\n * Callback emitted when the items checked items change\n */\n @Prop() readonly checkedChanged?: (checkedItems: string[]) => Promise<void>;\n\n /**\n * Callback emitted when the 'select' button is pressed\n */\n @Prop() readonly confirmCallback?: (checkedItems: string[]) => Promise<void>;\n\n /**\n * Set of additional actions (callbacks) to those already provided by default by the selector (cancelCallback and selectCallback)\n */\n @Prop() readonly dialogActions: DialogAction[] = [];\n\n /**\n * Callback emitted when the user right click on an item\n */\n @Prop() readonly itemContextMenuCallback: (\n info: ContextMenuInfo\n ) => Promise<void>;\n\n /**\n * Callback to load the items list model\n */\n @Prop() readonly loadItemsCallback!: () => Promise<ItemNode[]>;\n\n /**\n * Used to define if the component must show the \"Toggle Checkboxes\" option or not\n */\n @Prop() readonly showToggleCheckboxes: boolean = true;\n\n /**\n * This define if the selection is unique or not\n */\n @Prop() readonly multiSelection?: boolean = false;\n\n /**\n * This define if the checks are unique or not\n */\n @Prop() readonly singleChecks?: boolean = false;\n\n /**\n * Used to define if the component must show the \"Active item\" link or not\n */\n @Prop() readonly showActiveItemLink?: boolean = false;\n\n /**\n * Defines whether to show a loader while loading items\n */\n @Prop() readonly useLoader?: boolean = true;\n\n /**\n * Callback emitted when the items selection change\n */\n @Prop() readonly selectionChanged?: (selectedItem: string[]) => Promise<void>;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.toggleCheckboxes = this.showToggleCheckboxes;\n this.#viewItemsAsModel = [\n { value: VIEW_AS_TREE_ID, caption: this.#_componentLocale.main.tree },\n { value: VIEW_AS_LIST_ID, caption: \"List\" }\n ];\n this.renderFooter =\n this.dialogActions.length > 0 ||\n !!this.cancelCallback ||\n !!this.confirmCallback;\n\n this.#loadItems();\n }\n\n @Method()\n async reloadItems() {\n await this.#loadItems();\n }\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n /**\n * Allow to update the selected items\n */\n @Method()\n async updateSelection(selectedItemsIds: string[]) {\n // first clear selected\n this.#treeViewRenderEl.updateItemsProperties(this.#selectedNodesIds, {\n selected: false\n });\n // then select\n this.#treeViewRenderEl.updateItemsProperties(selectedItemsIds, {\n selected: true\n });\n }\n\n /**\n * Allow to update the checked items\n */\n @Method()\n async updateCheckedItems(checkedItemsIds: string[]) {\n // first clear checks\n this.#treeViewRenderEl.updateItemsProperties(this.checkedNodesIds, {\n checked: false\n });\n // then select\n this.#treeViewRenderEl.updateItemsProperties(checkedItemsIds, {\n checked: true\n });\n this.checkedNodesIds = checkedItemsIds;\n }\n\n async #loadItems() {\n try {\n this.loading = true;\n this.itemsList = await this.loadItemsCallback();\n this.#updateViews(this.itemsList);\n // Check and update activeItem\n this.activeItemNode = findFirstActiveNode(this.itemsList);\n } catch (error) {\n console.error(\"Error loading items:\", error);\n } finally {\n this.loading = false;\n }\n }\n\n #cancelHandler = () => {\n if (this.cancelCallback) {\n this.cancelCallback();\n }\n };\n\n #checkedItemsChangeHandler = async (\n e: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n let checkedNodesIds: string[] = [];\n e.detail.forEach(node => {\n if (node.item.checked) {\n checkedNodesIds.push(node.item.id);\n }\n });\n\n if (this.singleChecks) {\n // Detect the last change by comparing previous and new state\n let lastCheckedId: string | null = null;\n // If there are more in the new state, it was a check; if less, it was an uncheck\n if (checkedNodesIds.length > this.checkedNodesIds.length) {\n // Find the newly checked item\n lastCheckedId =\n checkedNodesIds.find(id => !this.checkedNodesIds.includes(id)) ||\n null;\n } else if (checkedNodesIds.length < this.checkedNodesIds.length) {\n // Find the unchecked item (not used in single check, but kept for clarity)\n lastCheckedId =\n this.checkedNodesIds.find(id => !checkedNodesIds.includes(id)) ||\n null;\n }\n\n // Only allow one if multiChecks is false\n if (this.singleChecks && checkedNodesIds.length > 1) {\n // If we detected the last checked, keep it; otherwise, keep the first\n checkedNodesIds = lastCheckedId\n ? [lastCheckedId]\n : [checkedNodesIds[0]];\n // Uncheck the others\n this.#treeViewRenderEl.updateItemsProperties(\n Array.from(e.detail.keys()).filter(id => id !== checkedNodesIds[0]),\n { checked: false }\n );\n }\n }\n\n this.checkedNodesIds = checkedNodesIds;\n this.#updatedModelList = checkItems(this.itemsList, this.checkedNodesIds);\n\n if (this.checkedChanged) {\n this.checkedChanged(this.checkedNodesIds);\n }\n };\n\n #confirmHandler = () => {\n if (this.confirmCallback) {\n this.confirmCallback(this.checkedNodesIds);\n }\n };\n\n #contextMenuHandler = async (\n e: CustomEvent<{\n id: string;\n itemRef: HTMLChTreeViewItemElement;\n metadata: string;\n contextmenuEvent: PointerEvent;\n }>\n ) => {\n if (this.itemContextMenuCallback) {\n let info: ContextMenuInfo;\n const isSelected = this.#selectedNodesIds.find(id => id === e.detail.id);\n if (!this.#selectedNodesIds.length || !isSelected) {\n await this.#treeViewRenderEl.updateItemsProperties(\n this.#selectedNodesIds,\n { selected: false }\n );\n await this.#treeViewRenderEl.updateItemsProperties([e.detail.id], {\n selected: true\n });\n info = {\n clientX: e.detail.contextmenuEvent.clientX,\n clientY: e.detail.contextmenuEvent.clientY,\n selection: [e.detail.id]\n };\n } else {\n info = {\n clientX: e.detail.contextmenuEvent.clientX,\n clientY: e.detail.contextmenuEvent.clientY,\n selection: this.#selectedNodesIds\n };\n }\n this.itemContextMenuCallback(info);\n }\n };\n\n #executeDialogAction = (\n callback: (checkedNodesIds: string[], selectedNodesIds: string[]) => void\n ) => {\n return () => {\n callback(this.checkedNodesIds, this.#selectedNodesIds);\n };\n };\n\n #patternSearchValueChangedHandler = (\n event: CustomEvent<string> | InputEvent\n ) => {\n this.searchPatternValue = event.detail.toString();\n };\n\n #renderActionButtons = (): HTMLElement[] => {\n return (\n <div>\n {this.dialogActions.map(action => {\n return (\n <button\n class={\"button-tertiary\"}\n part={`button button-${action.name}`}\n onClick={this.#executeDialogAction(action.callback)}\n disabled={this.loading}\n >\n {action.name}\n </button>\n );\n })}\n </div>\n );\n };\n\n #renderFooter = (): HTMLElement => {\n return (\n <footer class=\"footer dialog-footer-with-border spacing-body-inline spacing-body-block-end dialog-footer-space-between\">\n {this.#renderActionButtons()}\n <div class=\"buttons-spacer \">\n {this.cancelCallback && (\n <button\n class={\"button-secondary\"}\n part={\"cancel-button\"}\n onClick={this.#cancelHandler}\n >\n {this.#_componentLocale.footer.cancel}\n </button>\n )}\n {this.confirmCallback && (\n <button\n class={\"button-primary\"}\n part={\"confirm-button\"}\n onClick={this.#confirmHandler}\n disabled={this.loading || this.checkedNodesIds?.length === 0}\n >\n {this.#_componentLocale.footer.select}\n </button>\n )}\n </div>\n </footer>\n );\n };\n\n #selectedItemsChangeHandler = (\n e: CustomEvent<TreeViewItemModelExtended[]>\n ) => {\n const selectedNodesIds: string[] = [];\n unselectAllNodes(this.itemsList);\n e.detail.forEach(node => {\n selectedNodesIds.push(node.item.id);\n });\n this.#selectedNodesIds = selectedNodesIds;\n if (this.selectionChanged) {\n this.selectionChanged(this.#selectedNodesIds);\n }\n\n this.#updatedModelList = selectItems(this.itemsList, selectedNodesIds);\n };\n\n #toggleAndSelectNodesInModelItems = async (selectedItemsIds: string[]) => {\n const nodesToToggle = searchParentsItems(this.itemsList, selectedItemsIds);\n const newItemsSelected = selectItems(this.itemsList, selectedItemsIds);\n const newItemsExpanded = expandItems(newItemsSelected, nodesToToggle);\n this.#updateViews(newItemsExpanded);\n };\n\n #toggleCheckedNodesInModelItems = async (selectedItemsIds: string[]) => {\n const nodesToToggle = searchParentsItems(this.itemsList, selectedItemsIds);\n const newItemsExpanded = expandItems(this.itemsList, nodesToToggle);\n this.#updateViews(newItemsExpanded);\n };\n\n #updateViews = (newItemsList: ItemNode[]) => {\n this.nodeVersionsListTreeModel = convertItemsListToTreeViewModel(\n newItemsList,\n this.checkboxType\n );\n\n this.nodeListFlattenedTreeModel =\n convertItemsNodeListToFlattenedTreeViewModel(\n newItemsList,\n this.checkboxType\n );\n };\n\n #viewItemsAsChangedHandler = async (event: CustomEvent<string>) => {\n const selectedViewType = event.detail as NodesVersionsViewType;\n this.nodesVersionsViewType = selectedViewType;\n if (this.nodesVersionsViewType === \"tree\") {\n await this.#toggleAndSelectNodesInModelItems(this.#selectedNodesIds);\n await this.#toggleCheckedNodesInModelItems(this.checkedNodesIds);\n }\n this.#updateViews(this.#updatedModelList);\n };\n\n #toggleCheckboxesChangedHandler = (\n event: ChCheckboxCustomEvent<string> | InputEvent\n ) => {\n this.toggleCheckboxes = event.detail === TOGGLE_CHECKBOXES_CHECKED_VALUE;\n };\n\n #scrollIntoActiveVersionNode = async () => {\n const doScrollIntoView =\n this.#treeViewRenderEl && this.activeItemNode?.path;\n if (doScrollIntoView) {\n await this.#treeViewRenderEl.scrollIntoVisible(this.activeItemNode.path);\n }\n\n if (this.activeItemCallback) {\n await this.activeItemCallback();\n }\n };\n\n render() {\n return (\n <Host class={{ \"widget\": true, \"has-footer\": this.renderFooter }}>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n <section class=\"section\">\n <header\n part=\"header\"\n class=\"header dialog-header field-group spacing-body-block-start spacing-body-inline\"\n >\n <div class=\"header__first-row field-group\">\n <div class=\"field field-inline\">\n <span>\n {/*\n WA: this span prevents field-inline applying padding-block-start on the label\n TODO: See how to ignore padding-block-start when using field-inline with a control\n that is not an input, combo-box, etc..\n */}\n <label class=\"label\" htmlFor=\"view-mode\">\n Select view mode:\n </label>\n </span>\n <ch-radio-group-render\n class=\"radio-group dummy-control-block-size\"\n id=\"view-mode\"\n model={this.#viewItemsAsModel}\n onChange={this.#viewItemsAsChangedHandler}\n value={this.#viewItemsAsModel[0].value}\n ></ch-radio-group-render>\n </div>\n\n {this.checkboxType !== \"none\" && this.showToggleCheckboxes && (\n <ch-checkbox\n class=\"checkbox dummy-control-block-size\"\n caption=\"Toggle Checkboxes\"\n id=\"toggle-checkboxes\"\n checkedValue={TOGGLE_CHECKBOXES_CHECKED_VALUE}\n value={TOGGLE_CHECKBOXES_CHECKED_VALUE}\n onInput={this.#toggleCheckboxesChangedHandler}\n ></ch-checkbox>\n )}\n </div>\n\n <div\n class={{\n \"field-group\": true,\n \"header__second-row\": true,\n \"header__second-row--one-row\": !this.showActiveItemLink\n }}\n >\n <ch-edit\n class=\"input\"\n placeholder={\n this.#_componentLocale.header.searchPatternPlaceholder\n }\n startImgSrc={SYSTEM_SEARCH_ICON}\n onInput={this.#patternSearchValueChangedHandler}\n accessibleName=\"search pattern\"\n ></ch-edit>\n {this.activeItemNode && this.showActiveItemLink && (\n <div class=\"active-item\">\n <span\n class=\"active-item__icon-container\"\n // make this span the icon container, to prevent icon state changes when\n // interacting with div.active-item\n >\n <ch-image\n class=\"icon-m active-item__icon\"\n src={\n this.activeItemNode.iconStart ||\n ACTIVE_ITEM_DEFAULT_ICON\n }\n containerRef={null}\n ></ch-image>\n </span>\n {this.#_componentLocale.header.activeItem}\n <button\n class=\"active-item__link\"\n onClick={this.#scrollIntoActiveVersionNode}\n >\n {this.activeItemNode.caption}\n </button>\n </div>\n )}\n </div>\n </header>\n\n <div class=\"spacing-body-inline-start trees\">\n {this.useLoader && this.loading ? (\n <gx-ide-loader\n loaderTitle={this.#_componentLocale.loader.title}\n description={this.#_componentLocale.loader.description}\n show\n ></gx-ide-loader>\n ) : (\n <ch-tree-view-render\n class=\"tree-view\"\n model={\n this.nodesVersionsViewType === \"tree\"\n ? this.nodeVersionsListTreeModel\n : this.nodeListFlattenedTreeModel\n }\n show-lines={\n this.nodesVersionsViewType === \"tree\" ? \"all\" : \"none\"\n }\n expandableButton={\n this.nodesVersionsViewType === \"tree\" ? \"decorative\" : \"no\"\n }\n onItemContextmenu={this.#contextMenuHandler}\n onCheckedItemsChange={this.#checkedItemsChangeHandler}\n onSelectedItemsChange={this.#selectedItemsChangeHandler}\n expandOnClick={this.expandOnClick}\n multiSelection={this.multiSelection}\n filter={this.searchPatternValue}\n filterType=\"caption\"\n toggleCheckboxes={this.toggleCheckboxes}\n ref={(el: HTMLChTreeViewRenderElement) => {\n this.#treeViewRenderEl = el as HTMLChTreeViewRenderElement;\n }}\n ></ch-tree-view-render>\n )}\n </div>\n {this.renderFooter && this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type CheckboxType = \"none\" | \"all\" | \"leaf\" | \"custom\";\n\nexport type DialogAction = {\n name: string;\n callback: DialogActionCallback;\n};\n\nexport type DialogActionCallback = (...args: any[]) => void;\n\nexport type ItemCommon = {\n icon: string;\n expanded: boolean;\n};\n\nexport type ItemNode = {\n active?: boolean;\n checkbox?: boolean;\n checked?: boolean;\n expanded?: boolean;\n iconStart?: string;\n iconEnd?: string;\n id: string;\n name: string;\n guid?: string;\n nodes?: ItemNode[];\n parts?: string;\n selected?: boolean;\n type?: ItemType;\n order?: number;\n};\n\nexport type ActiveNode = {\n caption: string;\n iconStart?: string;\n path: string[]; // for using the scrollIntoVisible method of the tree-view-render\n};\n\nexport type ItemType = {\n id: string;\n name: string;\n};\n\ntype NodesVersionsViewType = \"tree\" | \"list\";\n"],"mappings":";;;;;;;;;;;;;;AAIO,MAAMA,IAA2BC,EAAY;EAClDC,UAAU;EACVC,MAAM;EACNC,WAAW;;;AAGN,MAAMC,+CAA+C,CAC1DC,GACAC;EAEA,MAAMC,IAAuD;EAE7D,MAAMC,cAAeC;;IACnB,MAAMC,IACJD,EAAKE,WAAWF,EAAKG,YACjBb,IACAU,EAAKG;IACX,MAAMC,OAAQC,IAAAL,EAAKM,WAAK,QAAAD,WAAA,aAAAA,EAAEE;IAC1B,MAAMC,IACJX,MAAiB,SAChBA,MAAiB,YAAYG,EAAKQ,YAClCX,MAAiB,UAAUO;IAC9B,MAAMK,IAAWC,KAAKC,UAAU;MAC9BC,aAAaZ,EAAKa;;IAEpBf,EAAgCgB,KAAK;MACnCC,SAASf,EAAKP;MACde,UAAUA;MACVQ,SAAShB,EAAKgB;MACdf,aAAaA;MACbgB,WAAWjB,EAAKkB;MAChBC,UAAUnB,EAAKmB;MACfC,IAAIpB,EAAKoB,GAAGC;MACZC,OAAO;MACPlB,MAAMA;MACNmB,UAAUd;MACVe,OAAOxB,EAAKwB;MACZC,UAAUzB,EAAKyB;MACfC,OAAO1B,EAAK0B;;IAGd,IAAI1B,EAAKM,OAAO;MACdN,EAAKM,MAAMqB,SAAQC,KAAa7B,YAAY6B;;;EAIhDhC,EAAU+B,SAAQ3B,KAAQD,YAAYC;EACtC,OAAOF;AAA+B;;AAGjC,MAAM+B,kCAAkC,CAC7CjC,GACAC;EAEA,MAAMiC,IAA8C;EACpDlC,EAAU+B,SAAQ3B;;IAChB,MAAMC,IACJD,EAAKE,WAAWF,EAAKG,YACjBb,IACAU,EAAKG;IACX,MAAMC,OAAQC,IAAAL,EAAKM,WAAK,QAAAD,WAAA,aAAAA,EAAEE;IAC1B,MAAMC,IACJX,MAAiB,SAChBA,MAAiB,YAAYG,EAAKQ,YAClCX,MAAiB,UAAUO;IAC9B,MAAMe,IAAWnB,EAAKmB;IACtB,MAAMhB,IAAYF;IAClB,MAAMiB,IAAUlB,EAAKkB;IACrB,MAAMT,IAAWC,KAAKC,UAAU;MAC9BC,aAAaZ,EAAKa;;IAEpB,MAAMa,IAAQK,SAAS/B,EAAKoB;IAC5BU,EAAuBhB,KAAK;MAC1BC,SAASf,EAAKP;MACde,UAAUA;MACVQ,SAAShB,EAAKgB;MACdf,aAAaE;MACbc,WAAWC;MACXC,UAAUA;MACVC,IAAIpB,EAAKoB,GAAGC;MACZC,QAAQlB,IACJyB,gCAAgC7B,EAAKM,OAAOT,KAC5C;MACJO,MAAMA;MACNmB,UAAUd;MACVe,OAAOxB,EAAKwB;MACZE,OAAOA;MACPD,UAAUzB,EAAKyB;;AACf;EAGJ,OAAOK;AAAsB;;AAG/B,MAAME,eAAe,CAACZ,GAAYpB;EAChC,IAAIA,EAAKoB,OAAOA,GAAI;IAClB,OAAOpB;;EAGT,IAAIA,EAAKM,OAAO;IACd,KAAK,MAAM2B,KAAYjC,EAAKM,OAAO;MACjC,MAAM4B,IAASF,aAAaZ,GAAIa;MAChC,IAAIC,GAAQ;QACV,OAAOA;;;;EAIb,OAAO;AAAI;;AAGb,SAASC,gBAAgBC,GAAwBhB;EAC/C,KAAK,MAAMpB,KAAQoC,GAAY;IAC7B,MAAMF,IAASF,aAAaZ,GAAIpB;IAChC,IAAIkC,GAAQ;MACV,OAAOA;;;EAGX,OAAO;AACT;;AACA,MAAMG,0BAA2BzC;EAC/B,MAAM0C,UAAWL;;IACfA,EAASjB,UAAU;IACnB,KAAIX,IAAA4B,EAAS3B,WAAK,QAAAD,WAAA,aAAAA,EAAEE,QAAQ;MAC1B0B,EAAS3B,MAAMqB,SAAQC,KAAaU,QAAQV;;;EAIhDhC,EAAU+B,SAAQ3B,KAAQsC,QAAQtC;EAClC,OAAOJ;AAAS;;AAGX,MAAM2C,mBAAoB3C;EAC/B,MAAM4C,WAAYP;;IAChBA,EAASR,WAAW;IACpB,KAAIpB,IAAA4B,EAAS3B,WAAK,QAAAD,WAAA,aAAAA,EAAEE,QAAQ;MAC1B0B,EAAS3B,MAAMqB,SAAQC,KAAaY,SAASZ;;;EAIjDhC,EAAU+B,SAAQ3B,KAAQwC,SAASxC;AAAM;;AAGpC,MAAMyC,aAAa,CACxB7C,GACA8C;EAEAL,wBAAwBzC;EACxB8C,EAAWf,SAAQP;IACjB,MAAMuB,IAAWR,gBAAgBvC,GAAWwB;IAC5C,IAAIuB,GAAU;MACZA,EAAS3B,UAAU;;;EAIvB,OAAOpB;AAAS;;AAGX,MAAMgD,cAAc,CACzBhD,GACA8C;EAEAA,EAAWf,SAAQP;IACjB,MAAMuB,IAAWR,gBAAgBvC,GAAWwB;IAC5C,IAAIuB,GAAU;MACZA,EAASxB,WAAW;;;EAIxB,OAAOvB;AAAS;;AAGX,MAAMiD,cAAc,CACzBjD,GACAkD;EAEAA,EAAYnB,SAAQP;IAClB,MAAMuB,IAAWR,gBAAgBvC,GAAWwB;IAC5C,IAAIuB,GAAU;MACZA,EAASlB,WAAW;;;EAGxB,OAAO7B;AAAS;;AAGlB,SAASmD,aAAa/C,GAAgBoB;;;IAEpC,IAAIpB,EAAKoB,OAAOA,GAAI;IAClB,OAAO;;;IAIT,KAAIf,IAAAL,EAAKM,WAAK,QAAAD,WAAA,aAAAA,EAAEE,QAAQ;IACtB,KAAK,MAAMyC,KAAQhD,EAAKM,OAAO;MAC7B,MAAM2C,IAAUF,aAAaC,GAAM5B;MACnC,IAAI6B,MAAY,MAAM;;QAEpB,OAAO,EAACjD,EAAKoB,OAAO6B;;;;EAI1B,OAAO;AACT;;AAEO,MAAMC,qBAAqB,CAChC5B,GACA6B;EAEA,MAAMF,IAAoB;EAC1B,KAAK,MAAM7B,KAAM+B,GAAK;IACpB,KAAK,MAAMC,KAAY9B,GAAO;MAC5B,MAAM+B,IAAUN,aAAaK,GAAUhC;MACvC,IAAIiC,MAAY,MAAM;QACpBA,EAAQ1B,SAAQO;UACde,EAAQnC,KAAKoB;AAAO;;;;EAK5B,OAAOe;AAAO;;;;;;GAQT,OAAMK,sBAAuBhD;;EAElC,MAAMiD,qBAAqB,CACzBC,GACAC,IAAwB;;IAGxB,KAAKD,KAAYA,EAASjD,WAAW,GAAG;MACtC,OAAO;;;QAIT,KAAK,MAAMyC,KAAQQ,GAAU;;MAE3B,MAAME,IAAW,KAAID,GAAaT,EAAK5B;;YAGvC,IAAI4B,EAAK9C,WAAW,MAAM;QACxB,OAAO;UACLa,SAASiC,EAAKvD;UACdU,WAAW6C,EAAK7C;UAChBwD,MAAMD;;;;YAKV,IAAIV,EAAK1C,SAAS0C,EAAK1C,MAAMC,SAAS,GAAG;QACvC,MAAM2B,IAASqB,mBAAmBP,EAAK1C,OAAOoD;;gBAE9C,IAAIxB,MAAW,MAAM;UACnB,OAAOA;;;;;QAMb,OAAO;AAAI;;IAIb,OAAOqB,mBAAmBjD;AAAM;;AC9QlC,MAAMsD,IAAmB;;;;;;;;;;;;;;;;;ACkCzB,MAAMC,IAA8B,EAClC,qBACA,uBACA,sBACA,wBACA,oBACA,gBACA,iBACA;;AAGF,MAAMC,IAAqBvE,EAAY;EACrCC,UAAU;EACVC,MAAM;EACNC,WAAW;;;AAGb,MAAMqE,IAAyC;;AAC/C,MAAMC,IAAyC;;AAE/C,MAAMC,IAAkC;;MAQ3BC,IAAkB;;;;IAC7BC,EAAAC,IAAAC,WAAA;IACAC,EAAAF,IAAAC,WAAA;IACAE,EAAAH,IAAAC,MAA8B;IAC9BG,EAAAJ,IAAAC,MAAgBI,EACd;IAEFC,EAAAN,IAAAC,MAAgC;IAChCM,EAAAP,IAAAC,WAAA;IACAO,EAAAR,IAAAC,WAAA;IAgNAQ,EAAAT,IAAAC,OAAiB;MACf,IAAIA,KAAKS,gBAAgB;QACvBT,KAAKS;;;IAITC,EAAAX,IAAAC,OAA6BW,MAC3BC;MAEA,IAAIC,IAA4B;MAChCD,EAAEE,OAAOxD,SAAQqB;QACf,IAAIA,EAAKhD,KAAKgB,SAAS;UACrBkE,EAAgBpE,KAAKkC,EAAKhD,KAAKoB;;;MAInC,IAAIiD,KAAKe,cAAc;;QAErB,IAAIC,IAA+B;;gBAEnC,IAAIH,EAAgB3E,SAAS8D,KAAKa,gBAAgB3E,QAAQ;;UAExD8E,IACEH,EAAgBI,MAAKlE,MAAOiD,KAAKa,gBAAgBK,SAASnE,QAC1D;eACG,IAAI8D,EAAgB3E,SAAS8D,KAAKa,gBAAgB3E,QAAQ;;UAE/D8E,IACEhB,KAAKa,gBAAgBI,MAAKlE,MAAO8D,EAAgBK,SAASnE,QAC1D;;;gBAIJ,IAAIiD,KAAKe,gBAAgBF,EAAgB3E,SAAS,GAAG;;UAEnD2E,IAAkBG,IACd,EAACA,MACD,EAACH,EAAgB;;oBAErBM,EAAAnB,MAAIO,GAAA,KAAmBa,sBACrBC,MAAMC,KAAKV,EAAEE,OAAOS,QAAQC,QAAOzE,KAAMA,MAAO8D,EAAgB,MAChE;YAAElE,SAAS;;;;MAKjBqD,KAAKa,kBAAkBA;MACvBY,EAAAzB,MAAIK,GAAqBjC,WAAW4B,KAAKzE,WAAWyE,KAAKa,kBAAgB;MAEzE,IAAIb,KAAK0B,gBAAgB;QACvB1B,KAAK0B,eAAe1B,KAAKa;;;IAI7Bc,EAAA5B,IAAAC,OAAkB;MAChB,IAAIA,KAAK4B,iBAAiB;QACxB5B,KAAK4B,gBAAgB5B,KAAKa;;;IAI9BgB,EAAA9B,IAAAC,OAAsBW,MACpBC;MAOA,IAAIZ,KAAK8B,yBAAyB;QAChC,IAAIC;QACJ,MAAMC,IAAab,EAAAnB,MAAIE,GAAA,KAAmBe,MAAKlE,KAAMA,MAAO6D,EAAEE,OAAO/D;QACrE,KAAKoE,EAAAnB,MAAIE,GAAA,KAAmBhE,WAAW8F,GAAY;gBAC3Cb,EAAAnB,MAAIO,GAAA,KAAmBa,sBAC3BD,EAAAnB,MAAIE,GAAA,MACJ;YAAE9C,UAAU;;gBAER+D,EAAAnB,MAAIO,GAAA,KAAmBa,sBAAsB,EAACR,EAAEE,OAAO/D,MAAK;YAChEK,UAAU;;UAEZ2E,IAAO;YACLE,SAASrB,EAAEE,OAAOoB,iBAAiBD;YACnCE,SAASvB,EAAEE,OAAOoB,iBAAiBC;YACnCC,WAAW,EAACxB,EAAEE,OAAO/D;;eAElB;UACLgF,IAAO;YACLE,SAASrB,EAAEE,OAAOoB,iBAAiBD;YACnCE,SAASvB,EAAEE,OAAOoB,iBAAiBC;YACnCC,WAAWjB,EAAAnB,MAAIE,GAAA;;;QAGnBF,KAAK8B,wBAAwBC;;;IAIjCM,EAAAtC,IAAAC,OACEsC,KAEO;MACLA,EAAStC,KAAKa,iBAAiBM,EAAAnB,MAAIE,GAAA;AAAmB;IAI1DqC,EAAAxC,IAAAC,OACEwC;MAEAxC,KAAKyC,qBAAqBD,EAAM1B,OAAO9D;AAAU;IAGnD0F,EAAA3C,IAAAC,OAAuB,MAEnB2C,EAAA,aACG3C,KAAK4C,cAAcC,KAAIC,KAEpBH,EAAA;MACEI,OAAO;MACPC,MAAM,iBAAiBF,EAAO1H;MAC9B6H,SAAS9B,EAAAnB,MAAIqC,GAAA,KAAqBa,KAAzBlD,MAA0B8C,EAAOR;MAC1Ca,UAAUnD,KAAKoD;OAEdN,EAAO1H;IAQpBiI,EAAAtD,IAAAC,OAAgB;;MACd,OACE2C,EAAA;QAAQI,OAAM;SACX5B,EAAAnB,MAAI0C,GAAA,KAAqBQ,KAAzBlD,OACD2C,EAAA;QAAKI,OAAM;SACR/C,KAAKS,kBACJkC,EAAA;QACEI,OAAO;QACPC,MAAM;QACNC,SAAS9B,EAAAnB,MAAIQ,GAAA;SAEZW,EAAAnB,MAAIF,GAAA,KAAmBwD,OAAOC,SAGlCvD,KAAK4B,mBACJe,EAAA;QACEI,OAAO;QACPC,MAAM;QACNC,SAAS9B,EAAAnB,MAAI2B,GAAA;QACbwB,UAAUnD,KAAKoD,aAAWpH,IAAAgE,KAAKa,qBAAe,QAAA7E,WAAA,aAAAA,EAAEE,YAAW;SAE1DiF,EAAAnB,MAAIF,GAAA,KAAmBwD,OAAOE;AAI9B;IAIbC,EAAA1D,IAAAC,OACEY;MAEA,MAAM8C,IAA6B;MACnCxF,iBAAiB8B,KAAKzE;MACtBqF,EAAEE,OAAOxD,SAAQqB;QACf+E,EAAiBjH,KAAKkC,EAAKhD,KAAKoB;AAAG;MAErC0E,EAAAzB,MAAIE,GAAqBwD,GAAgB;MACzC,IAAI1D,KAAK2D,kBAAkB;QACzB3D,KAAK2D,iBAAiBxC,EAAAnB,MAAIE,GAAA;;MAG5BuB,EAAAzB,MAAIK,GAAqB7B,YAAYwB,KAAKzE,WAAWmI,IAAiB;AAAA;IAGxEE,EAAA7D,IAAAC,OAAoCW,MAAOkD;MACzC,MAAMC,IAAgBjF,mBAAmBmB,KAAKzE,WAAWsI;MACzD,MAAME,IAAmBvF,YAAYwB,KAAKzE,WAAWsI;MACrD,MAAMG,IAAmBzF,YAAYwF,GAAkBD;MACvD3C,EAAAnB,MAAIiE,GAAA,KAAaf,KAAjBlD,MAAkBgE;AAAiB;IAGrCE,EAAAnE,IAAAC,OAAkCW,MAAOkD;MACvC,MAAMC,IAAgBjF,mBAAmBmB,KAAKzE,WAAWsI;MACzD,MAAMG,IAAmBzF,YAAYyB,KAAKzE,WAAWuI;MACrD3C,EAAAnB,MAAIiE,GAAA,KAAaf,KAAjBlD,MAAkBgE;AAAiB;IAGrCC,EAAAlE,IAAAC,OAAgBmE;MACdnE,KAAKoE,4BAA4B5G,gCAC/B2G,GACAnE,KAAKxE;MAGPwE,KAAKqE,6BACH/I,6CACE6I,GACAnE,KAAKxE;AACN;IAGL8I,EAAAvE,IAAAC,OAA6BW,MAAO6B;MAClC,MAAM+B,IAAmB/B,EAAM1B;MAC/Bd,KAAKwE,wBAAwBD;MAC7B,IAAIvE,KAAKwE,0BAA0B,QAAQ;cACnCrD,EAAAnB,MAAI4D,GAAA,KAAkCV,KAAtClD,MAAuCmB,EAAAnB,MAAIE,GAAA;cAC3CiB,EAAAnB,MAAIkE,GAAA,KAAgChB,KAApClD,MAAqCA,KAAKa;;MAElDM,EAAAnB,MAAIiE,GAAA,KAAaf,KAAjBlD,MAAkBmB,EAAAnB,MAAIK,GAAA;AAAmB;IAG3CoE,EAAA1E,IAAAC,OACEwC;MAEAxC,KAAK0E,mBAAmBlC,EAAM1B,WAAWlB;AAA+B;IAG1E+E,EAAA5E,IAAAC,OAA+BW;;MAC7B,MAAMiE,IACJzD,EAAAnB,MAAIO,GAAA,UAAsBvE,IAAAgE,KAAK6E,oBAAc,QAAA7I,WAAA,aAAAA,EAAEsD;MACjD,IAAIsF,GAAkB;cACdzD,EAAAnB,MAAIO,GAAA,KAAmBuE,kBAAkB9E,KAAK6E,eAAevF;;MAGrE,IAAIU,KAAK+E,oBAAoB;cACrB/E,KAAK+E;;;;2BAnasB;wBAKJ;sCAK0B;mBAK/B;iCAK4B;qCAKE;8BAKpB;;qBAUL;;;;yBAoBS;;;yBAeO;;;gCAiBA;0BAKL;wBAKF;8BAKM;qBAKT;;;EAOvC,uBAAMC;IACJvD,EAAAzB,MAAIF,SAA2BmF,EAAOC,oBAAoBlF,KAAKmF,KAAG;IAClEnF,KAAK0E,mBAAmB1E,KAAKoF;IAC7B3D,EAAAzB,MAAIM,GAAqB,EACvB;MAAE+E,OAAO3F;MAAiBhD,SAASyE,EAAAnB,MAAIF,GAAA,KAAmBwF,KAAKC;OAC/D;MAAEF,OAAO1F;MAAiBjD,SAAS;SACpC;IACDsD,KAAKwF,eACHxF,KAAK4C,cAAc1G,SAAS,OAC1B8D,KAAKS,oBACLT,KAAK4B;IAETT,EAAAnB,MAAIyF,GAAA,KAAAC,GAAWxC,KAAflD;;EAIF,iBAAM2F;UACExE,EAAAnB,MAAIyF,GAAA,KAAAC,GAAWxC,KAAflD;;;;SAOR,sBAAM4F,CAAiBA;IACrB,IAAIA,GAAkB;MACpBzE,EAAAnB,MAAIC,GAAA,KAAgB4F,UAAU;WACzB;MACL1E,EAAAnB,MAAIC,GAAA,KAAgB4F,UAAU;;;;;SAQlC,qBAAMC,CAAgBjC;;IAEpB1C,EAAAnB,MAAIO,GAAA,KAAmBa,sBAAsBD,EAAAnB,MAAIE,GAAA,MAAoB;MACnE9C,UAAU;;;QAGZ+D,EAAAnB,MAAIO,GAAA,KAAmBa,sBAAsByC,GAAkB;MAC7DzG,UAAU;;;;;SAQd,wBAAM2I,CAAmBC;;IAEvB7E,EAAAnB,MAAIO,GAAA,KAAmBa,sBAAsBpB,KAAKa,iBAAiB;MACjElE,SAAS;;;QAGXwE,EAAAnB,MAAIO,GAAA,KAAmBa,sBAAsB4E,GAAiB;MAC5DrJ,SAAS;;IAEXqD,KAAKa,kBAAkBmF;;EAoPzB,MAAAC;IACE,OACEtD,EAACuD,GAAI;MAACnD,OAAO;QAAEoD,QAAU;QAAM,cAAcnG,KAAKwF;;OAChD7C,EAAA;MAAUyD,OAAO5G;QACjBmD,EAAA;MACE0D,KAAKlF,EAAAnB,MAAIG,GAAA;MACTmG,KAAMnB,KACH1D,EAAAzB,MAAIC,GAAkBkF,GAA4B;QAGvDxC,EAAA;MAASI,OAAM;OACbJ,EAAA;MACEK,MAAK;MACLD,OAAM;OAENJ,EAAA;MAAKI,OAAM;OACTJ,EAAA;MAAKI,OAAM;OACTJ,EAAA,cAMEA,EAAA;MAAOI,OAAM;MAAQwD,SAAQ;OAAW,uBAI1C5D,EAAA;MACEI,OAAM;MACNhG,IAAG;MACHqJ,OAAOjF,EAAAnB,MAAIM,GAAA;MACXkG,UAAUrF,EAAAnB,MAAIsE,GAAA;MACde,OAAOlE,EAAAnB,MAAIM,GAAA,KAAmB,GAAG+E;SAIpCrF,KAAKxE,iBAAiB,UAAUwE,KAAKoF,wBACpCzC,EAAA;MACEI,OAAM;MACNrG,SAAQ;MACRK,IAAG;MACH0J,cAAc7G;MACdyF,OAAOzF;MACP8G,SAASvF,EAAAnB,MAAIyE,GAAA;SAKnB9B,EAAA;MACEI,OAAO;QACL,eAAe;QACf,sBAAsB;QACtB,gCAAgC/C,KAAK2G;;OAGvChE,EAAA;MACEI,OAAM;MACN6D,aACEzF,EAAAnB,MAAIF,GAAA,KAAmB+G,OAAOC;MAEhClL,aAAa6D;MACbiH,SAASvF,EAAAnB,MAAIuC,GAAA;MACbwE,gBAAe;QAEhB/G,KAAK6E,kBAAkB7E,KAAK2G,sBAC3BhE,EAAA;MAAKI,OAAM;OACTJ,EAAA;MACEI,OAAM;OAINJ,EAAA;MACEI,OAAM;MACNsD,KACErG,KAAK6E,eAAe/I,aACpBb;MAEF+L,cAAc;SAGjB7F,EAAAnB,MAAIF,GAAA,KAAmB+G,OAAOI,YAC/BtE,EAAA;MACEI,OAAM;MACNE,SAAS9B,EAAAnB,MAAI2E,GAAA;OAEZ3E,KAAK6E,eAAenI,aAO/BiG,EAAA;MAAKI,OAAM;OACR/C,KAAKkH,aAAalH,KAAKoD,UACtBT,EAAA;MACEwE,aAAahG,EAAAnB,MAAIF,GAAA,KAAmBsH,OAAOC;MAC3CC,aAAanG,EAAAnB,MAAIF,GAAA,KAAmBsH,OAAOE;MAC3CC,MAAI;SAGN5E,EAAA;MACEI,OAAM;MACNqD,OACEpG,KAAKwE,0BAA0B,SAC3BxE,KAAKoE,4BACLpE,KAAKqE;MAA0B,cAGnCrE,KAAKwE,0BAA0B,SAAS,QAAQ;MAElDgD,kBACExH,KAAKwE,0BAA0B,SAAS,eAAe;MAEzDiD,mBAAmBtG,EAAAnB,MAAI6B,GAAA;MACvB6F,sBAAsBvG,EAAAnB,MAAIU,GAAA;MAC1BiH,uBAAuBxG,EAAAnB,MAAIyD,GAAA;MAC3BmE,eAAe5H,KAAK4H;MACpBC,gBAAgB7H,KAAK6H;MACrBrG,QAAQxB,KAAKyC;MACbqF,YAAW;MACXpD,kBAAkB1E,KAAK0E;MACvB4B,KAAMnB;QACJ1D,EAAAzB,MAAIO,GAAqB4E,GAAiC;AAAA;SAKjEnF,KAAKwF,gBAAgBrE,EAAAnB,MAAIqD,GAAA,KAAcH,KAAlBlD;;;;;;;;;;;;;;uDAhX9BW,eAAA+E;EACE;IACE1F,KAAKoD,UAAU;IACfpD,KAAKzE,kBAAkByE,KAAK+H;IAC5B5G,EAAAnB,MAAIiE,GAAA,KAAaf,KAAjBlD,MAAkBA,KAAKzE;;QAEvByE,KAAK6E,iBAAiB5F,oBAAoBe,KAAKzE;IAC/C,OAAOyM;IACPC,QAAQD,MAAM,wBAAwBA;;IAEtChI,KAAKoD,UAAU;;AAEnB"}