@genexus/genexus-ide-ui 2.1.2 → 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 (582) 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-splash.cjs.entry.js +1 -1
  88. package/dist/cjs/gx-ide-splash.cjs.entry.js.map +1 -1
  89. package/dist/cjs/gx-ide-start-page.cjs.entry.js +1 -1
  90. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  91. package/dist/cjs/gx-ide-starting-template.cjs.entry.js +1 -1
  92. package/dist/cjs/gx-ide-starting-template.cjs.entry.js.map +1 -1
  93. package/dist/cjs/gx-ide-team-dev-bring-all-changes-selector.cjs.entry.js +1 -1
  94. package/dist/cjs/gx-ide-team-dev-bring-all-changes-selector.cjs.entry.js.map +1 -1
  95. package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js +1 -1
  96. package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js.map +1 -1
  97. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
  98. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  99. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +1 -1
  100. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js.map +1 -1
  101. package/dist/cjs/gx-ide-team-dev-preview.cjs.entry.js +2 -2
  102. package/dist/cjs/gx-ide-team-dev-preview.cjs.entry.js.map +1 -1
  103. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
  104. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js.map +1 -1
  105. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
  106. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
  107. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
  108. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js.map +1 -1
  109. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
  110. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  111. package/dist/cjs/gx-ide-test.cjs.entry.js +1 -1
  112. package/dist/cjs/gx-ide-test.cjs.entry.js.map +1 -1
  113. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +1 -1
  114. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js.map +1 -1
  115. package/dist/cjs/gx-ide-ww-files.cjs.entry.js +1 -1
  116. package/dist/cjs/gx-ide-ww-files.cjs.entry.js.map +1 -1
  117. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  118. package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
  119. package/dist/collection/components/_helpers/comments-viewer/comments-viewer.css +1 -1
  120. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +1 -0
  121. package/dist/collection/components/_helpers/ide-loader/ide-loader.css +4 -0
  122. package/dist/collection/components/_helpers/list-selector/list-selector.css +1 -0
  123. package/dist/collection/components/_starting-template/starting-template.css +4 -0
  124. package/dist/collection/components/_test/test.css +1 -0
  125. package/dist/collection/components/about/about.css +4 -0
  126. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.css +5 -0
  127. package/dist/collection/components/bpm/assign-roles/bpm-assign-roles.css +1 -0
  128. package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.css +1 -0
  129. package/dist/collection/components/bpm/import-files/bpm-import-files.css +1 -0
  130. package/dist/collection/components/bpm/import-gxpm/bpm-import-gxpm.css +1 -0
  131. package/dist/collection/components/bpm/objects-selector/bpm-objects-selector.css +1 -0
  132. package/dist/collection/components/bpm/sync-gam-roles/bpm-sync-gam-roles.css +4 -0
  133. package/dist/collection/components/bpm/task-documents/task-documents.css +4 -0
  134. package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.css +1 -0
  135. package/dist/collection/components/curl-inspector/curl-inspector.css +4 -0
  136. package/dist/collection/components/data-selector/data-selector.css +4 -0
  137. package/dist/collection/components/data-type-selector/data-type-selector.css +4 -0
  138. package/dist/collection/components/deployment-tool/deployment-tool.css +1 -0
  139. package/dist/collection/components/design-import/design-import.css +5 -0
  140. package/dist/collection/components/details-acknowledgements/details-acknowledgements.css +4 -0
  141. package/dist/collection/components/file-uploader/file-uploader.css +5 -0
  142. package/dist/collection/components/gam-installation-settings/gam-installation-settings.css +5 -0
  143. package/dist/collection/components/json-import/json-import.css +4 -0
  144. package/dist/collection/components/kb-manager-export/kb-manager-export.css +4 -0
  145. package/dist/collection/components/kb-manager-import/kb-manager-import.css +4 -0
  146. package/dist/collection/components/launchpad/native-apps/launchpad-native-apps.css +4 -0
  147. package/dist/collection/components/modules/edit-module-server/edit-module-server.css +4 -0
  148. package/dist/collection/components/name-picker/name-picker.css +4 -0
  149. package/dist/collection/components/navigation-report/navigation-report.css +4 -0
  150. package/dist/collection/components/new-environment/new-environment.css +4 -0
  151. package/dist/collection/components/new-kb/new-kb.css +4 -0
  152. package/dist/collection/components/new-object/new-object.css +4 -0
  153. package/dist/collection/components/new-version/new-version.css +4 -0
  154. package/dist/collection/components/object-selector/object-selector.css +4 -0
  155. package/dist/collection/components/open-api-import/open-api-import.css +4 -0
  156. package/dist/collection/components/references/references.css +1 -0
  157. package/dist/collection/components/restore-version/restore-version.css +7 -14
  158. package/dist/collection/components/restore-version/restore-version.js +4 -3
  159. package/dist/collection/components/restore-version/restore-version.js.map +1 -1
  160. package/dist/collection/components/select-kb-items/select-kb-items.css +4 -0
  161. package/dist/collection/components/select-user-team/select-user-team.css +4 -0
  162. package/dist/collection/components/splash/splash.css +4 -0
  163. package/dist/collection/components/start-page/start-page.css +4 -0
  164. package/dist/collection/components/team-dev/bring-all-changes-selector/bring-all-changes-selector.css +4 -0
  165. package/dist/collection/components/team-dev/bring-changes/bring-changes.css +4 -0
  166. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.css +4 -0
  167. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.css +4 -0
  168. package/dist/collection/components/team-dev/history/history.css +4 -0
  169. package/dist/collection/components/team-dev/preview/team-dev-preview.css +1 -0
  170. package/dist/collection/components/team-dev/preview/team-dev-preview.js +1 -1
  171. package/dist/collection/components/team-dev/preview/team-dev-preview.js.map +1 -1
  172. package/dist/collection/components/team-dev/select-recent-comment/select-recent-comment.css +5 -0
  173. package/dist/collection/components/team-dev/server-selector/server-selector.css +4 -0
  174. package/dist/collection/components/team-dev/share-kb/share-kb.css +4 -0
  175. package/dist/collection/components/team-dev/update/update.css +4 -0
  176. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +4 -0
  177. package/dist/collection/components/team-dev/update-to-revision/update-to-revision.css +4 -0
  178. package/dist/collection/components/team-dev/version-control/commit/commit.css +4 -0
  179. package/dist/collection/components/wf-settings/wf-settings.css +1 -0
  180. package/dist/collection/components/ww-files/ww-files.css +4 -0
  181. package/dist/collection/components/ww-images/ww-images.css +4 -0
  182. package/dist/components/bpm-objects-selector.js +1 -1
  183. package/dist/components/bpm-objects-selector.js.map +1 -1
  184. package/dist/components/gx-ide-about.js +1 -1
  185. package/dist/components/gx-ide-about.js.map +1 -1
  186. package/dist/components/gx-ide-bpm-app-declaration.js +1 -1
  187. package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
  188. package/dist/components/gx-ide-bpm-assign-roles.js +1 -1
  189. package/dist/components/gx-ide-bpm-assign-roles.js.map +1 -1
  190. package/dist/components/gx-ide-bpm-export-xpdl.js +1 -1
  191. package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
  192. package/dist/components/gx-ide-bpm-import-files.js +1 -1
  193. package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
  194. package/dist/components/gx-ide-bpm-import-gxpm.js +1 -1
  195. package/dist/components/gx-ide-bpm-import-gxpm.js.map +1 -1
  196. package/dist/components/gx-ide-bpm-sync-gam-roles.js +1 -1
  197. package/dist/components/gx-ide-bpm-sync-gam-roles.js.map +1 -1
  198. package/dist/components/gx-ide-bpm-task-documents.js +1 -1
  199. package/dist/components/gx-ide-bpm-task-documents.js.map +1 -1
  200. package/dist/components/gx-ide-bpm-timer-duration.js +1 -1
  201. package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
  202. package/dist/components/gx-ide-comments-viewer.js +1 -1
  203. package/dist/components/gx-ide-comments-viewer.js.map +1 -1
  204. package/dist/components/gx-ide-connect-gx-server.js +1 -1
  205. package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
  206. package/dist/components/gx-ide-create-kb-from-server.js +1 -1
  207. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  208. package/dist/components/gx-ide-curl-inspector.js +1 -1
  209. package/dist/components/gx-ide-curl-inspector.js.map +1 -1
  210. package/dist/components/gx-ide-data-selector.js +1 -1
  211. package/dist/components/gx-ide-data-selector.js.map +1 -1
  212. package/dist/components/gx-ide-data-type-selector.js +1 -1
  213. package/dist/components/gx-ide-data-type-selector.js.map +1 -1
  214. package/dist/components/gx-ide-deployment-tool.js +1 -1
  215. package/dist/components/gx-ide-deployment-tool.js.map +1 -1
  216. package/dist/components/gx-ide-design-import.js +1 -1
  217. package/dist/components/gx-ide-design-import.js.map +1 -1
  218. package/dist/components/gx-ide-details-acknowledgements.js +1 -1
  219. package/dist/components/gx-ide-details-acknowledgements.js.map +1 -1
  220. package/dist/components/gx-ide-edit-module-server.js +1 -1
  221. package/dist/components/gx-ide-edit-module-server.js.map +1 -1
  222. package/dist/components/gx-ide-empty-state2.js +1 -1
  223. package/dist/components/gx-ide-empty-state2.js.map +1 -1
  224. package/dist/components/gx-ide-file-uploader.js +1 -1
  225. package/dist/components/gx-ide-file-uploader.js.map +1 -1
  226. package/dist/components/gx-ide-gam-installation-settings.js +1 -1
  227. package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
  228. package/dist/components/gx-ide-json-import.js +1 -1
  229. package/dist/components/gx-ide-json-import.js.map +1 -1
  230. package/dist/components/gx-ide-kb-manager-export.js +1 -1
  231. package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
  232. package/dist/components/gx-ide-kb-manager-import.js +1 -1
  233. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  234. package/dist/components/gx-ide-name-picker.js +1 -1
  235. package/dist/components/gx-ide-name-picker.js.map +1 -1
  236. package/dist/components/gx-ide-navigation-report.js +1 -1
  237. package/dist/components/gx-ide-navigation-report.js.map +1 -1
  238. package/dist/components/gx-ide-new-environment.js +1 -1
  239. package/dist/components/gx-ide-new-environment.js.map +1 -1
  240. package/dist/components/gx-ide-new-kb.js +1 -1
  241. package/dist/components/gx-ide-new-kb.js.map +1 -1
  242. package/dist/components/gx-ide-new-object.js +1 -1
  243. package/dist/components/gx-ide-new-object.js.map +1 -1
  244. package/dist/components/gx-ide-new-version.js +1 -1
  245. package/dist/components/gx-ide-new-version.js.map +1 -1
  246. package/dist/components/gx-ide-object-selector.js +1 -1
  247. package/dist/components/gx-ide-object-selector.js.map +1 -1
  248. package/dist/components/gx-ide-open-api-import.js +1 -1
  249. package/dist/components/gx-ide-open-api-import.js.map +1 -1
  250. package/dist/components/gx-ide-references.js +1 -1
  251. package/dist/components/gx-ide-references.js.map +1 -1
  252. package/dist/components/gx-ide-restore-version.js +5 -4
  253. package/dist/components/gx-ide-restore-version.js.map +1 -1
  254. package/dist/components/gx-ide-select-user-team.js +1 -1
  255. package/dist/components/gx-ide-select-user-team.js.map +1 -1
  256. package/dist/components/gx-ide-server-selector.js +1 -1
  257. package/dist/components/gx-ide-server-selector.js.map +1 -1
  258. package/dist/components/gx-ide-share-kb.js +1 -1
  259. package/dist/components/gx-ide-share-kb.js.map +1 -1
  260. package/dist/components/gx-ide-splash.js +1 -1
  261. package/dist/components/gx-ide-splash.js.map +1 -1
  262. package/dist/components/gx-ide-start-page.js +1 -1
  263. package/dist/components/gx-ide-start-page.js.map +1 -1
  264. package/dist/components/gx-ide-starting-template.js +1 -1
  265. package/dist/components/gx-ide-starting-template.js.map +1 -1
  266. package/dist/components/gx-ide-team-dev-bring-all-changes-selector.js +1 -1
  267. package/dist/components/gx-ide-team-dev-bring-all-changes-selector.js.map +1 -1
  268. package/dist/components/gx-ide-team-dev-bring-changes.js +1 -1
  269. package/dist/components/gx-ide-team-dev-bring-changes.js.map +1 -1
  270. package/dist/components/gx-ide-team-dev-commit.js +1 -1
  271. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  272. package/dist/components/gx-ide-team-dev-history.js +1 -1
  273. package/dist/components/gx-ide-team-dev-history.js.map +1 -1
  274. package/dist/components/gx-ide-team-dev-preview.js +2 -2
  275. package/dist/components/gx-ide-team-dev-preview.js.map +1 -1
  276. package/dist/components/gx-ide-team-dev-select-recent-comment.js +1 -1
  277. package/dist/components/gx-ide-team-dev-select-recent-comment.js.map +1 -1
  278. package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
  279. package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
  280. package/dist/components/gx-ide-team-dev-update-to-revision.js +1 -1
  281. package/dist/components/gx-ide-team-dev-update-to-revision.js.map +1 -1
  282. package/dist/components/gx-ide-team-dev-update.js +1 -1
  283. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  284. package/dist/components/gx-ide-test.js +1 -1
  285. package/dist/components/gx-ide-test.js.map +1 -1
  286. package/dist/components/gx-ide-wf-settings.js +1 -1
  287. package/dist/components/gx-ide-wf-settings.js.map +1 -1
  288. package/dist/components/gx-ide-ww-files.js +1 -1
  289. package/dist/components/gx-ide-ww-files.js.map +1 -1
  290. package/dist/components/gx-ide-ww-images.js +1 -1
  291. package/dist/components/gx-ide-ww-images.js.map +1 -1
  292. package/dist/components/ide-loader.js +1 -1
  293. package/dist/components/ide-loader.js.map +1 -1
  294. package/dist/components/launchpad-native-apps.js +1 -1
  295. package/dist/components/launchpad-native-apps.js.map +1 -1
  296. package/dist/components/list-selector.js +1 -1
  297. package/dist/components/list-selector.js.map +1 -1
  298. package/dist/components/select-kb-items.js +1 -1
  299. package/dist/components/select-kb-items.js.map +1 -1
  300. package/dist/esm/gx-ide-about.entry.js +1 -1
  301. package/dist/esm/gx-ide-about.entry.js.map +1 -1
  302. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
  303. package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
  304. package/dist/esm/gx-ide-bpm-assign-roles.entry.js +1 -1
  305. package/dist/esm/gx-ide-bpm-assign-roles.entry.js.map +1 -1
  306. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +1 -1
  307. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
  308. package/dist/esm/gx-ide-bpm-import-files.entry.js +1 -1
  309. package/dist/esm/gx-ide-bpm-import-files.entry.js.map +1 -1
  310. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +1 -1
  311. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js.map +1 -1
  312. package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
  313. package/dist/esm/gx-ide-bpm-objects-selector.entry.js.map +1 -1
  314. package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js +1 -1
  315. package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js.map +1 -1
  316. package/dist/esm/gx-ide-bpm-task-documents.entry.js +1 -1
  317. package/dist/esm/gx-ide-bpm-task-documents.entry.js.map +1 -1
  318. package/dist/esm/gx-ide-bpm-timer-duration.entry.js +1 -1
  319. package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
  320. package/dist/esm/gx-ide-comments-viewer.entry.js +1 -1
  321. package/dist/esm/gx-ide-comments-viewer.entry.js.map +1 -1
  322. package/dist/esm/gx-ide-connect-gx-server.entry.js +1 -1
  323. package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
  324. package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
  325. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  326. package/dist/esm/gx-ide-curl-inspector.entry.js +1 -1
  327. package/dist/esm/gx-ide-curl-inspector.entry.js.map +1 -1
  328. package/dist/esm/gx-ide-data-selector.entry.js +1 -1
  329. package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
  330. package/dist/esm/gx-ide-data-type-selector.entry.js +1 -1
  331. package/dist/esm/gx-ide-data-type-selector.entry.js.map +1 -1
  332. package/dist/esm/gx-ide-deployment-tool.entry.js +1 -1
  333. package/dist/esm/gx-ide-deployment-tool.entry.js.map +1 -1
  334. package/dist/esm/gx-ide-design-import.entry.js +1 -1
  335. package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
  336. package/dist/esm/gx-ide-details-acknowledgements.entry.js +1 -1
  337. package/dist/esm/gx-ide-details-acknowledgements.entry.js.map +1 -1
  338. package/dist/esm/gx-ide-edit-module-server.entry.js +1 -1
  339. package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
  340. package/dist/esm/gx-ide-empty-state.entry.js +1 -1
  341. package/dist/esm/gx-ide-empty-state.entry.js.map +1 -1
  342. package/dist/esm/gx-ide-file-uploader.entry.js +1 -1
  343. package/dist/esm/gx-ide-file-uploader.entry.js.map +1 -1
  344. package/dist/esm/gx-ide-gam-installation-settings.entry.js +1 -1
  345. package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
  346. package/dist/esm/gx-ide-json-import.entry.js +1 -1
  347. package/dist/esm/gx-ide-json-import.entry.js.map +1 -1
  348. package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
  349. package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
  350. package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
  351. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  352. package/dist/esm/gx-ide-launchpad-apis_3.entry.js +1 -1
  353. package/dist/esm/gx-ide-launchpad-apis_3.entry.js.map +1 -1
  354. package/dist/esm/gx-ide-list-selector_2.entry.js +1 -1
  355. package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
  356. package/dist/esm/gx-ide-loader.entry.js +1 -1
  357. package/dist/esm/gx-ide-loader.entry.js.map +1 -1
  358. package/dist/esm/gx-ide-name-picker.entry.js +1 -1
  359. package/dist/esm/gx-ide-name-picker.entry.js.map +1 -1
  360. package/dist/esm/gx-ide-navigation-report.entry.js +1 -1
  361. package/dist/esm/gx-ide-navigation-report.entry.js.map +1 -1
  362. package/dist/esm/gx-ide-new-environment.entry.js +1 -1
  363. package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
  364. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  365. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  366. package/dist/esm/gx-ide-new-object.entry.js +1 -1
  367. package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
  368. package/dist/esm/gx-ide-new-version.entry.js +1 -1
  369. package/dist/esm/gx-ide-new-version.entry.js.map +1 -1
  370. package/dist/esm/gx-ide-object-selector.entry.js +1 -1
  371. package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
  372. package/dist/esm/gx-ide-open-api-import.entry.js +1 -1
  373. package/dist/esm/gx-ide-open-api-import.entry.js.map +1 -1
  374. package/dist/esm/gx-ide-references.entry.js +1 -1
  375. package/dist/esm/gx-ide-references.entry.js.map +1 -1
  376. package/dist/esm/gx-ide-restore-version.entry.js +5 -4
  377. package/dist/esm/gx-ide-restore-version.entry.js.map +1 -1
  378. package/dist/esm/gx-ide-select-kb-items.entry.js +1 -1
  379. package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
  380. package/dist/esm/gx-ide-select-user-team.entry.js +1 -1
  381. package/dist/esm/gx-ide-select-user-team.entry.js.map +1 -1
  382. package/dist/esm/gx-ide-server-selector.entry.js +1 -1
  383. package/dist/esm/gx-ide-server-selector.entry.js.map +1 -1
  384. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  385. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  386. package/dist/esm/gx-ide-splash.entry.js +1 -1
  387. package/dist/esm/gx-ide-splash.entry.js.map +1 -1
  388. package/dist/esm/gx-ide-start-page.entry.js +1 -1
  389. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  390. package/dist/esm/gx-ide-starting-template.entry.js +1 -1
  391. package/dist/esm/gx-ide-starting-template.entry.js.map +1 -1
  392. package/dist/esm/gx-ide-team-dev-bring-all-changes-selector.entry.js +1 -1
  393. package/dist/esm/gx-ide-team-dev-bring-all-changes-selector.entry.js.map +1 -1
  394. package/dist/esm/gx-ide-team-dev-bring-changes.entry.js +1 -1
  395. package/dist/esm/gx-ide-team-dev-bring-changes.entry.js.map +1 -1
  396. package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
  397. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  398. package/dist/esm/gx-ide-team-dev-history.entry.js +1 -1
  399. package/dist/esm/gx-ide-team-dev-history.entry.js.map +1 -1
  400. package/dist/esm/gx-ide-team-dev-preview.entry.js +2 -2
  401. package/dist/esm/gx-ide-team-dev-preview.entry.js.map +1 -1
  402. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
  403. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js.map +1 -1
  404. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
  405. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
  406. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
  407. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js.map +1 -1
  408. package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
  409. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  410. package/dist/esm/gx-ide-test.entry.js +1 -1
  411. package/dist/esm/gx-ide-test.entry.js.map +1 -1
  412. package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
  413. package/dist/esm/gx-ide-wf-settings.entry.js.map +1 -1
  414. package/dist/esm/gx-ide-ww-files.entry.js +1 -1
  415. package/dist/esm/gx-ide-ww-files.entry.js.map +1 -1
  416. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  417. package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
  418. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  419. package/dist/genexus-ide-ui/{p-5929f575.entry.js → p-00705e1c.entry.js} +2 -2
  420. package/dist/genexus-ide-ui/p-00705e1c.entry.js.map +1 -0
  421. package/dist/genexus-ide-ui/{p-18c3c961.entry.js → p-056955be.entry.js} +17 -17
  422. package/dist/genexus-ide-ui/p-056955be.entry.js.map +1 -0
  423. package/dist/genexus-ide-ui/{p-3ff33154.entry.js → p-0620e8f2.entry.js} +33 -33
  424. package/dist/genexus-ide-ui/p-0620e8f2.entry.js.map +1 -0
  425. package/dist/genexus-ide-ui/{p-4af50a00.entry.js → p-06c31f23.entry.js} +2 -2
  426. package/dist/genexus-ide-ui/p-06c31f23.entry.js.map +1 -0
  427. package/dist/genexus-ide-ui/{p-76fdea52.entry.js → p-0be24413.entry.js} +2 -2
  428. package/dist/genexus-ide-ui/p-0be24413.entry.js.map +1 -0
  429. package/dist/genexus-ide-ui/{p-8019e064.entry.js → p-0e4daeb7.entry.js} +11 -11
  430. package/dist/genexus-ide-ui/p-0e4daeb7.entry.js.map +1 -0
  431. package/dist/genexus-ide-ui/{p-840c09d2.entry.js → p-123ef674.entry.js} +2 -2
  432. package/dist/genexus-ide-ui/{p-70cd77bc.entry.js → p-217bd2d7.entry.js} +2 -2
  433. package/dist/genexus-ide-ui/p-217bd2d7.entry.js.map +1 -0
  434. package/dist/genexus-ide-ui/{p-d6e7a813.entry.js → p-24247ec3.entry.js} +11 -11
  435. package/dist/genexus-ide-ui/p-24247ec3.entry.js.map +1 -0
  436. package/dist/genexus-ide-ui/{p-af2f9983.entry.js → p-2b3f161f.entry.js} +21 -21
  437. package/dist/genexus-ide-ui/p-2b3f161f.entry.js.map +1 -0
  438. package/dist/genexus-ide-ui/{p-750eb88a.entry.js → p-34577955.entry.js} +9 -9
  439. package/dist/genexus-ide-ui/p-34577955.entry.js.map +1 -0
  440. package/dist/genexus-ide-ui/{p-bdaae26a.entry.js → p-35c2a2f9.entry.js} +2 -2
  441. package/dist/genexus-ide-ui/p-35c2a2f9.entry.js.map +1 -0
  442. package/dist/genexus-ide-ui/{p-ee77b260.entry.js → p-37812762.entry.js} +8 -8
  443. package/dist/genexus-ide-ui/p-37812762.entry.js.map +1 -0
  444. package/dist/genexus-ide-ui/{p-0a7cbbd0.entry.js → p-3bbdad29.entry.js} +2 -2
  445. package/dist/genexus-ide-ui/p-3bbdad29.entry.js.map +1 -0
  446. package/dist/genexus-ide-ui/{p-f05a137a.entry.js → p-42860e7e.entry.js} +71 -71
  447. package/dist/genexus-ide-ui/p-42860e7e.entry.js.map +1 -0
  448. package/dist/genexus-ide-ui/{p-168d3c83.entry.js → p-4431f46f.entry.js} +2 -2
  449. package/dist/genexus-ide-ui/{p-24cf1cd2.entry.js → p-4bafe061.entry.js} +39 -39
  450. package/dist/genexus-ide-ui/p-4bafe061.entry.js.map +1 -0
  451. package/dist/genexus-ide-ui/{p-e4116b36.entry.js → p-4d7433e0.entry.js} +2 -2
  452. package/dist/genexus-ide-ui/p-4d7433e0.entry.js.map +1 -0
  453. package/dist/genexus-ide-ui/{p-dcfae3da.entry.js → p-4f58397f.entry.js} +53 -53
  454. package/dist/genexus-ide-ui/p-4f58397f.entry.js.map +1 -0
  455. package/dist/genexus-ide-ui/{p-2567883a.entry.js → p-508c4bee.entry.js} +2 -2
  456. package/dist/genexus-ide-ui/{p-8cee1076.entry.js → p-55cb0614.entry.js} +14 -14
  457. package/dist/genexus-ide-ui/p-55cb0614.entry.js.map +1 -0
  458. package/dist/genexus-ide-ui/{p-6b430ac1.entry.js → p-5727fce7.entry.js} +2 -2
  459. package/dist/genexus-ide-ui/p-5727fce7.entry.js.map +1 -0
  460. package/dist/genexus-ide-ui/{p-520c3763.entry.js → p-572fdc25.entry.js} +2 -2
  461. package/dist/genexus-ide-ui/p-572fdc25.entry.js.map +1 -0
  462. package/dist/genexus-ide-ui/{p-a50c520c.entry.js → p-5864a82d.entry.js} +18 -18
  463. package/dist/genexus-ide-ui/p-5864a82d.entry.js.map +1 -0
  464. package/dist/genexus-ide-ui/{p-2a59b523.entry.js → p-60db2f02.entry.js} +2 -2
  465. package/dist/genexus-ide-ui/p-60db2f02.entry.js.map +1 -0
  466. package/dist/genexus-ide-ui/{p-178805d6.entry.js → p-632d3a74.entry.js} +2 -2
  467. package/dist/genexus-ide-ui/p-632d3a74.entry.js.map +1 -0
  468. package/dist/genexus-ide-ui/{p-36462e51.entry.js → p-63abf7e8.entry.js} +41 -41
  469. package/dist/genexus-ide-ui/p-63abf7e8.entry.js.map +1 -0
  470. package/dist/genexus-ide-ui/{p-bb5a5c23.entry.js → p-69e7d46b.entry.js} +12 -12
  471. package/dist/genexus-ide-ui/p-69e7d46b.entry.js.map +1 -0
  472. package/dist/genexus-ide-ui/{p-1d3da80d.entry.js → p-7b76b0e4.entry.js} +2 -2
  473. package/dist/genexus-ide-ui/p-7b76b0e4.entry.js.map +1 -0
  474. package/dist/genexus-ide-ui/{p-875b8615.entry.js → p-83a7e6fb.entry.js} +6 -6
  475. package/dist/genexus-ide-ui/p-83a7e6fb.entry.js.map +1 -0
  476. package/dist/genexus-ide-ui/{p-dbac8ae2.entry.js → p-886dc9c1.entry.js} +2 -2
  477. package/dist/genexus-ide-ui/{p-79d4490e.entry.js → p-90a50197.entry.js} +58 -58
  478. package/dist/genexus-ide-ui/p-90a50197.entry.js.map +1 -0
  479. package/dist/genexus-ide-ui/{p-49c1d667.entry.js → p-90b2307f.entry.js} +7 -7
  480. package/dist/genexus-ide-ui/p-90b2307f.entry.js.map +1 -0
  481. package/dist/genexus-ide-ui/{p-38d3adf1.entry.js → p-944a589f.entry.js} +21 -21
  482. package/dist/genexus-ide-ui/p-944a589f.entry.js.map +1 -0
  483. package/dist/genexus-ide-ui/{p-ca47bb29.entry.js → p-98820155.entry.js} +2 -2
  484. package/dist/genexus-ide-ui/{p-ca47bb29.entry.js.map → p-98820155.entry.js.map} +1 -1
  485. package/dist/genexus-ide-ui/{p-27786355.entry.js → p-98dbb43d.entry.js} +25 -25
  486. package/dist/genexus-ide-ui/p-98dbb43d.entry.js.map +1 -0
  487. package/dist/genexus-ide-ui/{p-b167052a.entry.js → p-9a10fa97.entry.js} +2 -2
  488. package/dist/genexus-ide-ui/{p-d0e61bdc.entry.js → p-9ca0c042.entry.js} +2 -2
  489. package/dist/genexus-ide-ui/p-9ca0c042.entry.js.map +1 -0
  490. package/dist/genexus-ide-ui/{p-c31f9478.entry.js → p-aad714a5.entry.js} +31 -31
  491. package/dist/genexus-ide-ui/p-aad714a5.entry.js.map +1 -0
  492. package/dist/genexus-ide-ui/{p-f61bde09.entry.js → p-af267991.entry.js} +49 -49
  493. package/dist/genexus-ide-ui/p-af267991.entry.js.map +1 -0
  494. package/dist/genexus-ide-ui/{p-22c0058b.entry.js → p-b5f2603f.entry.js} +11 -11
  495. package/dist/genexus-ide-ui/p-b5f2603f.entry.js.map +1 -0
  496. package/dist/genexus-ide-ui/{p-0dfa813a.entry.js → p-b6d59827.entry.js} +16 -16
  497. package/dist/genexus-ide-ui/p-b6d59827.entry.js.map +1 -0
  498. package/dist/genexus-ide-ui/{p-885e5d1c.entry.js → p-c2f2d79f.entry.js} +2 -2
  499. package/dist/genexus-ide-ui/p-c2f2d79f.entry.js.map +1 -0
  500. package/dist/genexus-ide-ui/{p-14c82d16.entry.js → p-c3a355c6.entry.js} +48 -48
  501. package/dist/genexus-ide-ui/p-c3a355c6.entry.js.map +1 -0
  502. package/dist/genexus-ide-ui/{p-1356ec09.entry.js → p-cd9e9e2b.entry.js} +2 -2
  503. package/dist/genexus-ide-ui/p-cd9e9e2b.entry.js.map +1 -0
  504. package/dist/genexus-ide-ui/{p-fa8cb0d8.entry.js → p-cdd2e79d.entry.js} +2 -2
  505. package/dist/genexus-ide-ui/{p-60bbf1b4.entry.js → p-d68412ac.entry.js} +8 -8
  506. package/dist/genexus-ide-ui/{p-a8465dff.entry.js → p-d761587f.entry.js} +4 -4
  507. package/dist/genexus-ide-ui/{p-a8465dff.entry.js.map → p-d761587f.entry.js.map} +1 -1
  508. package/dist/genexus-ide-ui/{p-b2966a6b.entry.js → p-d7964c12.entry.js} +2 -2
  509. package/dist/genexus-ide-ui/{p-8735d37c.entry.js → p-dbf9a97d.entry.js} +2 -2
  510. package/dist/genexus-ide-ui/{p-14823abe.entry.js → p-e0fb6257.entry.js} +9 -9
  511. package/dist/genexus-ide-ui/p-e0fb6257.entry.js.map +1 -0
  512. package/dist/genexus-ide-ui/{p-734d5fa1.entry.js → p-e32f5b19.entry.js} +2 -2
  513. package/dist/genexus-ide-ui/{p-af3cc463.entry.js → p-e3ff125f.entry.js} +2 -2
  514. package/dist/genexus-ide-ui/{p-899ec74e.entry.js → p-e883cd82.entry.js} +35 -35
  515. package/dist/genexus-ide-ui/p-e883cd82.entry.js.map +1 -0
  516. package/dist/genexus-ide-ui/{p-e4c250eb.entry.js → p-ebb56b65.entry.js} +23 -23
  517. package/dist/genexus-ide-ui/p-ebb56b65.entry.js.map +1 -0
  518. package/dist/genexus-ide-ui/{p-b44a875d.entry.js → p-f1b452fb.entry.js} +2 -2
  519. package/dist/genexus-ide-ui/p-f1b452fb.entry.js.map +1 -0
  520. package/dist/genexus-ide-ui/{p-ebfc64a5.entry.js → p-fb5dd0a2.entry.js} +10 -10
  521. package/dist/genexus-ide-ui/p-fb5dd0a2.entry.js.map +1 -0
  522. package/dist/genexus-ide-ui/{p-392bdfaa.entry.js → p-fb64e0b1.entry.js} +20 -20
  523. package/dist/genexus-ide-ui/p-fb64e0b1.entry.js.map +1 -0
  524. package/dist/genexus-ide-ui/{p-747fbbd8.entry.js → p-fdaeb19a.entry.js} +2 -2
  525. package/package.json +1 -1
  526. package/dist/genexus-ide-ui/p-0a7cbbd0.entry.js.map +0 -1
  527. package/dist/genexus-ide-ui/p-0dfa813a.entry.js.map +0 -1
  528. package/dist/genexus-ide-ui/p-1356ec09.entry.js.map +0 -1
  529. package/dist/genexus-ide-ui/p-14823abe.entry.js.map +0 -1
  530. package/dist/genexus-ide-ui/p-14c82d16.entry.js.map +0 -1
  531. package/dist/genexus-ide-ui/p-178805d6.entry.js.map +0 -1
  532. package/dist/genexus-ide-ui/p-18c3c961.entry.js.map +0 -1
  533. package/dist/genexus-ide-ui/p-1d3da80d.entry.js.map +0 -1
  534. package/dist/genexus-ide-ui/p-22c0058b.entry.js.map +0 -1
  535. package/dist/genexus-ide-ui/p-24cf1cd2.entry.js.map +0 -1
  536. package/dist/genexus-ide-ui/p-27786355.entry.js.map +0 -1
  537. package/dist/genexus-ide-ui/p-2a59b523.entry.js.map +0 -1
  538. package/dist/genexus-ide-ui/p-36462e51.entry.js.map +0 -1
  539. package/dist/genexus-ide-ui/p-38d3adf1.entry.js.map +0 -1
  540. package/dist/genexus-ide-ui/p-392bdfaa.entry.js.map +0 -1
  541. package/dist/genexus-ide-ui/p-3ff33154.entry.js.map +0 -1
  542. package/dist/genexus-ide-ui/p-49c1d667.entry.js.map +0 -1
  543. package/dist/genexus-ide-ui/p-4af50a00.entry.js.map +0 -1
  544. package/dist/genexus-ide-ui/p-520c3763.entry.js.map +0 -1
  545. package/dist/genexus-ide-ui/p-5929f575.entry.js.map +0 -1
  546. package/dist/genexus-ide-ui/p-6b430ac1.entry.js.map +0 -1
  547. package/dist/genexus-ide-ui/p-70cd77bc.entry.js.map +0 -1
  548. package/dist/genexus-ide-ui/p-750eb88a.entry.js.map +0 -1
  549. package/dist/genexus-ide-ui/p-76fdea52.entry.js.map +0 -1
  550. package/dist/genexus-ide-ui/p-79d4490e.entry.js.map +0 -1
  551. package/dist/genexus-ide-ui/p-8019e064.entry.js.map +0 -1
  552. package/dist/genexus-ide-ui/p-875b8615.entry.js.map +0 -1
  553. package/dist/genexus-ide-ui/p-885e5d1c.entry.js.map +0 -1
  554. package/dist/genexus-ide-ui/p-899ec74e.entry.js.map +0 -1
  555. package/dist/genexus-ide-ui/p-8cee1076.entry.js.map +0 -1
  556. package/dist/genexus-ide-ui/p-a50c520c.entry.js.map +0 -1
  557. package/dist/genexus-ide-ui/p-af2f9983.entry.js.map +0 -1
  558. package/dist/genexus-ide-ui/p-b44a875d.entry.js.map +0 -1
  559. package/dist/genexus-ide-ui/p-bb5a5c23.entry.js.map +0 -1
  560. package/dist/genexus-ide-ui/p-bdaae26a.entry.js.map +0 -1
  561. package/dist/genexus-ide-ui/p-c31f9478.entry.js.map +0 -1
  562. package/dist/genexus-ide-ui/p-d0e61bdc.entry.js.map +0 -1
  563. package/dist/genexus-ide-ui/p-d6e7a813.entry.js.map +0 -1
  564. package/dist/genexus-ide-ui/p-dcfae3da.entry.js.map +0 -1
  565. package/dist/genexus-ide-ui/p-e4116b36.entry.js.map +0 -1
  566. package/dist/genexus-ide-ui/p-e4c250eb.entry.js.map +0 -1
  567. package/dist/genexus-ide-ui/p-ebfc64a5.entry.js.map +0 -1
  568. package/dist/genexus-ide-ui/p-ee77b260.entry.js.map +0 -1
  569. package/dist/genexus-ide-ui/p-f05a137a.entry.js.map +0 -1
  570. package/dist/genexus-ide-ui/p-f61bde09.entry.js.map +0 -1
  571. /package/dist/genexus-ide-ui/{p-840c09d2.entry.js.map → p-123ef674.entry.js.map} +0 -0
  572. /package/dist/genexus-ide-ui/{p-168d3c83.entry.js.map → p-4431f46f.entry.js.map} +0 -0
  573. /package/dist/genexus-ide-ui/{p-2567883a.entry.js.map → p-508c4bee.entry.js.map} +0 -0
  574. /package/dist/genexus-ide-ui/{p-dbac8ae2.entry.js.map → p-886dc9c1.entry.js.map} +0 -0
  575. /package/dist/genexus-ide-ui/{p-b167052a.entry.js.map → p-9a10fa97.entry.js.map} +0 -0
  576. /package/dist/genexus-ide-ui/{p-fa8cb0d8.entry.js.map → p-cdd2e79d.entry.js.map} +0 -0
  577. /package/dist/genexus-ide-ui/{p-60bbf1b4.entry.js.map → p-d68412ac.entry.js.map} +0 -0
  578. /package/dist/genexus-ide-ui/{p-b2966a6b.entry.js.map → p-d7964c12.entry.js.map} +0 -0
  579. /package/dist/genexus-ide-ui/{p-8735d37c.entry.js.map → p-dbf9a97d.entry.js.map} +0 -0
  580. /package/dist/genexus-ide-ui/{p-734d5fa1.entry.js.map → p-e32f5b19.entry.js.map} +0 -0
  581. /package/dist/genexus-ide-ui/{p-af3cc463.entry.js.map → p-e3ff125f.entry.js.map} +0 -0
  582. /package/dist/genexus-ide-ui/{p-747fbbd8.entry.js.map → p-fdaeb19a.entry.js.map} +0 -0
@@ -1 +1 @@
1
- {"file":"gx-ide-launchpad-apis.gx-ide-launchpad-native-apps.gx-ide-launchpad-web-apps.entry.cjs.js","mappings":"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","names":["CSS_BUNDLES","__classPrivateFieldSet","Locale","index","h","Host","__classPrivateFieldGet","getAssetPath","getIconPath"],"sources":["src/components/launchpad/apis/launchpad-apis.scss?tag=gx-ide-launchpad-apis&encapsulation=shadow","src/components/launchpad/apis/launchpad-apis.tsx","src/components/launchpad/native-apps/launchpad-native-apps.scss?tag=gx-ide-launchpad-native-apps&encapsulation=shadow","src/components/launchpad/native-apps/launchpad-native-apps.tsx","src/components/launchpad/web-apps/launchpad-web-apps.scss?tag=gx-ide-launchpad-web-apps&encapsulation=shadow","src/components/launchpad/web-apps/launchpad-web-apps.tsx"],"sourcesContent":[":host {\n display: block;\n block-size: 100%;\n overflow: auto;\n background-color: var(--ch-color-surface-primary);\n color: var(--ch-color-text-primary);\n}\n\n.main {\n overflow: auto;\n display: block;\n}\n\n.apis-container {\n padding: 24px;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-gap-xl);\n max-width: 100%;\n}\n\n.api-item {\n background: var(--ch-color-surface-secondary);\n border: 1px solid var(--color-border-neutral-default);\n border-radius: 0;\n overflow: hidden;\n transition: all var(--timing-fast) ease;\n width: 100%;\n max-width: 100%;\n display: flex;\n flex-direction: column;\n min-height: 64px;\n\n &:hover {\n box-shadow: var(--color-accent-surface-elevation-2);\n transform: translateY(-2px);\n border-color: var(--color-border-primary-hover);\n }\n}\n\n.api-header {\n padding: 16px;\n background: transparent;\n border-bottom: 1px solid var(--color-border-neutral-default);\n flex-shrink: 0;\n\n .api-name {\n margin: 0;\n color: var(--color-text-neutral-default);\n word-break: break-all;\n overflow-wrap: break-word;\n }\n}\n\n.api-content {\n overflow: hidden;\n}\n\n.no-apis,\n.no-data {\n color: var(--color-text-neutral-disabled);\n font-style: italic;\n text-align: center;\n padding: 16px;\n\n p {\n font-size: var(--font-size-body-m);\n font-weight: var(--font-style-semi-bold);\n line-height: var(--line-height-spacious);\n }\n}\n","import {\n Component,\n Host,\n Prop,\n Element,\n h,\n Event,\n EventEmitter\n} from \"@stencil/core\";\n\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { AccordionModel } from \"@genexus/chameleon-controls-library\";\n\nimport { Locale } from \"../../../common/locale\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/accordion\",\n \"utils/elevation\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\"\n];\n\n@Component({\n tag: \"gx-ide-launchpad-apis\",\n styleUrl: \"launchpad-apis.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/launchpad-apis\"]\n})\nexport class GxIdeLaunchpadApis {\n #componentLocale: any;\n #ACCORDION_MODEL: AccordionModel = [];\n\n @Prop() apis: Array<any>;\n @Element() element: HTMLElement;\n\n /**\n * Callback function for object selection (passed from parent)\n */\n @Prop() onObjectSelected?: (event: any) => void;\n\n /**\n * Event emitted when copying to clipboard\n */\n @Event() copyToClipboard: EventEmitter<{ url: string }>;\n\n async componentWillLoad() {\n try {\n this.#componentLocale = await Locale.getComponentStrings(this.element);\n } catch (error) {\n console.error(\"Error loading locale:\", error);\n this.#componentLocale = {};\n }\n\n this.initializeAccordionModel();\n }\n\n /**\n * Initialize accordion model with dynamic sections for each API\n */\n private initializeAccordionModel() {\n if (!this.apis || !Array.isArray(this.apis)) {\n this.#ACCORDION_MODEL = [];\n return;\n }\n\n this.#ACCORDION_MODEL = this.apis\n .map((api: any, index: number) => {\n let url: string;\n\n if (typeof api === \"string\") {\n url = api;\n } else if (api && typeof api === \"object\" && api.url) {\n url = api.url.toString();\n } else {\n return null;\n }\n\n const lastSlash = url.lastIndexOf(\"/\");\n const name = url.substring(lastSlash + 1, url.length).toUpperCase();\n\n return {\n id: `api-${index}`,\n caption: name,\n expanded: true\n };\n })\n .filter(Boolean);\n }\n\n renderApis() {\n if (!this.apis || !Array.isArray(this.apis)) {\n return null;\n }\n\n return this.apis\n .map((api: any, index: number) => {\n let apiData: any;\n\n if (typeof api === \"string\") {\n apiData = { url: api };\n } else if (api && typeof api === \"object\" && api.url) {\n apiData = api;\n } else {\n return null;\n }\n\n return (\n <div\n key={`api-${index}`}\n slot={`api-${index}`}\n class=\"api-content spacing-body\"\n >\n <gx-ide-launchpad-api\n data={apiData}\n onObjectSelected={(event: any) =>\n this.handleObjectSelection(event)\n }\n onCopyToClipboard={(event: any) =>\n this.handleCopyToClipboard(event)\n }\n ></gx-ide-launchpad-api>\n </div>\n );\n })\n .filter(Boolean);\n }\n\n /**\n * Handles object selection from subcomponents\n */\n private handleObjectSelection(event: any) {\n if (this.onObjectSelected) {\n this.onObjectSelected(event);\n }\n }\n\n /**\n * Handles copy to clipboard from subcomponents\n */\n private handleCopyToClipboard(event: any) {\n this.copyToClipboard.emit({ url: event.detail.url });\n }\n\n render() {\n if (!this.apis || this.apis.length === 0) {\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"no-data\">\n <p class=\"body-regular-s\">\n {this.#componentLocale?.noApis || \"No APIs available\"}\n </p>\n </div>\n </Host>\n );\n }\n\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <div class=\"main\">\n <ch-accordion-render\n class=\"accordion-filled-header elevation-2 apis-accordion\"\n model={this.#ACCORDION_MODEL}\n >\n {this.renderApis()}\n </ch-accordion-render>\n </div>\n </Host>\n );\n }\n}\n","@use \"../common.scss\" as *;\n\n:host {\n display: block;\n block-size: 100%;\n overflow: auto;\n}\n\n.main {\n overflow: auto;\n display: block;\n}\n\nch-accordion-render {\n inline-size: 100%;\n block-size: 100%;\n}\n\n.native-apps-accordion {\n inline-size: 100%;\n block-size: 100%;\n}\n\n/* WA: Platform Section */\n.platform-section {\n display: flex;\n align-items: center;\n gap: var(--spacing-gap-l);\n}\n\n.app__apple-store {\n height: 32px; // This should equal the button height in Mercury\n cursor: pointer;\n transition: opacity var(--timing-fast) ease;\n\n &:hover {\n opacity: 0.8;\n }\n}\n\n.platform-grid {\n --card-min-inline-size: 360px;\n @extend %appCardsContainer;\n}\n\n.object-card {\n @extend %appCard;\n}\n\n.card-content {\n display: flex;\n gap: var(--spacing-gap-xl);\n flex: 1;\n width: 100%;\n\n &:focus {\n outline: none;\n }\n}\n\n.info-section {\n flex: 1;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n width: 100%;\n}\n\n.app-info {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-gap-xs);\n flex: 1;\n}\n\n.name {\n color: var(--color-text-neutral-default);\n}\n\n.description {\n color: var(--color-text-neutral-disabled);\n margin: 0;\n line-height: var(--line-height-relaxed);\n}\n\n/* Copy button styles handled by Mercury components/button bundle */\n\n/* QR Dialog Styles */\n.dialog {\n --ch-dialog-block-size: 400px;\n --ch-dialog-inline-size: 350px;\n --ch-dialog-min-block-size: 400px;\n --ch-dialog-min-inline-size: 350px;\n}\n.qr-container {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.card-actions {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding-top: 12px;\n border-top: 1px solid var(--color-border-neutral-default);\n}\n\n/* No Data States */\n.no-data,\n.no-results {\n color: var(--color-text-neutral-disabled);\n font-style: italic;\n text-align: center;\n padding: 16px;\n\n p {\n font-size: var(--font-size-body-m);\n font-weight: var(--font-style-semi-bold);\n line-height: var(--line-height-spacious);\n }\n}\n\n/* Responsive Design */\n@media (max-width: 768px) {\n .platform-grid {\n justify-content: center;\n }\n\n .card-content {\n flex-direction: column;\n gap: var(--spacing-gap-l);\n }\n\n .card-actions {\n flex-direction: column;\n gap: var(--spacing-gap-l);\n align-items: stretch;\n }\n}\n\n@media (max-width: 480px) {\n .main {\n padding: 12px;\n }\n\n .object-card {\n padding: 12px;\n }\n\n .platform-grid {\n gap: var(--spacing-gap-l);\n padding: 12px;\n }\n}\n\n.android:after {\n content: \"\";\n display: block;\n}\n","import {\n Component,\n h,\n Prop,\n State,\n Event,\n EventEmitter,\n Element,\n getAssetPath\n} from \"@stencil/core\";\n\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport { AccordionModel } from \"@genexus/chameleon-controls-library\";\n\nimport { Locale } from \"../../../common/locale\";\n\nconst IOS_ID = \"ios\";\nconst ANDROID_ID = \"android\";\n\nconst APP_STORE_BADGE = getAssetPath(\n \"./gx-ide-assets/launchpad-native-apps/images/app-store-badge.svg\"\n);\nconst ANDROID_LOGO = getAssetPath(\n \"./gx-ide-assets/launchpad-native-apps/images/android-logo.svg\"\n);\nconst MAC_LOGO = getAssetPath(\n \"./gx-ide-assets/launchpad-native-apps/images/mac-logo.svg\"\n);\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/accordion\",\n \"components/button\",\n \"components/dialog\",\n \"components/icon\",\n \"utils/elevation\",\n \"utils/layout\",\n \"utils/spacing\",\n \"utils/typography\"\n];\n\nconst QR_ICON = getIconPath({\n category: \"system\",\n name: \"qr-code\",\n colorType: \"interactive\"\n});\n\n@Component({\n tag: \"gx-ide-launchpad-native-apps\",\n styleUrl: \"launchpad-native-apps.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/launchpad-native-apps\"]\n})\nexport class GxIdeLaunchpadNativeApps {\n #componentLocale: any;\n #ACCORDION_MODEL: AccordionModel = [];\n #timeoutIds: Set<number> = new Set();\n\n @Element() el: HTMLGxIdeLaunchpadNativeAppsElement;\n\n /**\n * Array of platform sections (ios, android)\n */\n @Prop() readonly objects: PlatformSection[] = [];\n\n /**\n * Filter value for searching objects\n */\n @State() filterValue: string = \"\";\n\n /**\n * Sorting order for recent objects table\n */\n @State() order: { orderCriteria: string | null; ascending: boolean | null } =\n {\n orderCriteria: null,\n ascending: null\n };\n\n /**\n * Current page for pagination\n */\n @State() page: number = 1;\n\n /**\n * Items per page for pagination\n */\n @State() perPage: number = 10;\n\n /**\n * Event emitted when copying to clipboard - like the original version\n */\n @Event() copyToClipboard: EventEmitter<{ url: string }>;\n\n /**\n * Event emitted when opening app store - like the original version\n */\n @Event() openOnTheAppStore: EventEmitter<{ url: string }>;\n\n /**\n * Callback function for object selection (passed from parent)\n */\n @Prop() onObjectSelected?: (event: any) => void;\n\n /**\n * State to track copied messages for each object\n */\n @State() showCopiedMessage: { [key: string]: boolean } = {};\n\n /**\n * State to control QR dialog visibility\n */\n @State() showQRDialog: boolean = false;\n\n /**\n * State to store the selected object for QR display\n */\n @State() selectedObjectForQR: NativeAppObject | null = null;\n\n async componentWillLoad() {\n try {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n } catch (error) {\n console.error(\"Error loading locale:\", error);\n this.#componentLocale = {};\n }\n\n this.#ACCORDION_MODEL = [\n {\n id: IOS_ID,\n caption: \"iOS\",\n expanded: true\n },\n {\n id: ANDROID_ID,\n caption: \"Android\",\n expanded: true\n }\n ];\n }\n\n #getQRFillColor(): string {\n const computedStyle = getComputedStyle(document.documentElement);\n return (\n computedStyle.getPropertyValue(\"--color-text-neutral-default\").trim() ||\n computedStyle.getPropertyValue(\"--color-neutral-400\").trim() ||\n \"#49566d\"\n );\n }\n\n #getQRBackgroundColor(): string {\n const computedStyle = getComputedStyle(document.documentElement);\n return (\n computedStyle.getPropertyValue(\"--color-neutral-1600\").trim() || \"#ffffff\"\n );\n }\n\n #getCopyIcon(): string {\n return getIconPath({\n category: \"system\",\n name: \"copy\",\n colorType: \"primary\"\n });\n }\n\n /**\n * Copies text to clipboard and emits event - like the original version\n */\n #copyToClipboardFunc(object: NativeAppObject) {\n this.copyToClipboard.emit({\n url: object.url\n });\n\n if (object.url) {\n navigator.clipboard\n .writeText(object.url)\n .then(() => {\n const objectKey = `${object.name}-${object.url}`;\n\n this.showCopiedMessage = {\n ...this.showCopiedMessage,\n [objectKey]: true\n };\n\n const timeoutId = window.setTimeout(() => {\n this.showCopiedMessage = {\n ...this.showCopiedMessage,\n [objectKey]: false\n };\n this.#timeoutIds.delete(timeoutId);\n }, 2000);\n\n this.#timeoutIds.add(timeoutId);\n })\n .catch(err => {\n console.error(\"Failed to copy text: \", err);\n });\n }\n }\n\n /**\n * Opens app store and emits event - like the original version\n */\n #openAppStoreFunc(object: NativeAppObject) {\n this.openOnTheAppStore.emit({\n url: object.url\n });\n\n if (object.url) {\n window.open(object.url, \"_blank\");\n }\n }\n\n /**\n * Handles QR button click\n */\n #handleQRClick(object: NativeAppObject) {\n this.selectedObjectForQR = object;\n this.showQRDialog = true;\n }\n\n /**\n * Handles closing QR dialog\n */\n #handleCloseQRDialog() {\n this.showQRDialog = false;\n this.selectedObjectForQR = null;\n }\n\n /**\n * Handles object click and calls parent callback\n */\n #handleObjectClick(object: NativeAppObject) {\n if (object.key && this.onObjectSelected) {\n // Send the full key object as string in format \"type|id\"\n const keyString = `${object.key.type}|${object.key.id}`;\n this.onObjectSelected({ detail: { key: keyString } });\n }\n }\n\n /**\n * Cleanup method to prevent memory leaks\n */\n disconnectedCallback() {\n if (this.#timeoutIds) {\n this.#timeoutIds.forEach(timeoutId => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n });\n this.#timeoutIds.clear();\n }\n }\n\n /**\n * Renders platform section (iOS or Android) with grid layout like the original version\n */\n #renderPlatformSection(platformType: string) {\n const platformIcon =\n platformType === IOS_ID ? (\n <img src={MAC_LOGO} alt=\"Apple iOS Logo\"></img>\n ) : (\n <img src={ANDROID_LOGO} alt=\"Android Logo\"></img>\n );\n\n const platformSection = this.objects.find(obj => obj.type === platformType);\n\n if (!platformSection || platformSection.objects.length === 0) {\n return (\n <div class=\"no-results\">\n <p class=\"body-regular-s\">\n {this.#componentLocale?.noPlatformApps?.replace(\n \"{platformType}\",\n platformType\n ) || `No ${platformType} applications available`}\n </p>\n </div>\n );\n }\n\n return (\n <div class=\"platform-grid\">\n {platformSection.objects.map((object, index) => (\n <div\n key={index}\n class=\"object-card elevation-1\"\n tabindex=\"0\"\n onClick={() => this.#handleObjectClick(object)}\n >\n <div class=\"card-content\">\n <div class=\"info-section\">\n <div class=\"app-info\">\n <h1 class=\"name body-semi-bold-s\">{object.name}</h1>\n {object.description && (\n <p class=\"description body-regular-xs\">\n {object.description}\n </p>\n )}\n </div>\n </div>\n </div>\n <div class=\"card-actions\">\n {object.url && (\n <div class=\"platform-section\">\n {object[\"app-store-badge\"] ? (\n <img\n src={APP_STORE_BADGE}\n alt=\"Download on the App Store\"\n class=\"app__apple-store\"\n onClick={() => this.#openAppStoreFunc(object)}\n />\n ) : (\n platformIcon\n )}\n <button\n class=\"button-secondary button-icon-and-text\"\n onClick={() => this.#handleQRClick(object)}\n aria-label=\"Show QR Code\"\n >\n <ch-image class=\"icon-m\" src={QR_ICON} type=\"mask\" />\n {this.#componentLocale?.showQR || \"Show QR\"}\n </button>\n </div>\n )}\n <button\n class=\"button-tertiary button-icon-and-text copy-button\"\n onClick={() => this.#copyToClipboardFunc(object)}\n aria-label=\"Copy to clipboard\"\n >\n <ch-image class=\"icon-m\" src={this.#getCopyIcon()} />\n {this.showCopiedMessage[`${object.name}-${object.url}`]\n ? this.#componentLocale?.copied || \"Copied!\"\n : this.#componentLocale?.copy || \"Copy\"}\n </button>\n </div>\n </div>\n ))}\n {\n // WA: Prevent card take full width if there is only one card\n platformSection.objects.length === 1 && <div></div>\n }\n </div>\n );\n }\n\n render() {\n if (!this.objects || this.objects.length === 0) {\n <div class=\"no-data\">\n <p class=\"body-regular-s\">\n {this.#componentLocale?.noData ||\n \"No native applications data available\"}\n </p>\n </div>;\n }\n\n return [\n <ch-theme model={CSS_BUNDLES}></ch-theme>,\n <div class=\"main\">\n <ch-accordion-render\n class=\"accordion-filled-header elevation-1 native-apps-accordion\"\n model={this.#ACCORDION_MODEL}\n >\n <div slot={IOS_ID} class=\"accordion-content spacing-body\">\n {this.#renderPlatformSection(IOS_ID)}\n </div>\n <div slot={ANDROID_ID} class=\"accordion-content spacing-body\">\n {this.#renderPlatformSection(ANDROID_ID)}\n </div>\n </ch-accordion-render>\n </div>,\n <ch-dialog\n class=\"dialog\"\n show={this.showQRDialog}\n show-header={true}\n closable={true}\n close-button-accessible-name=\"Close QR code\"\n onDialogClosed={() => this.#handleCloseQRDialog()}\n >\n {this.selectedObjectForQR && (\n <div class=\"qr-container\">\n <ch-qr\n value={this.selectedObjectForQR.url || \"\"}\n size={200}\n error-correction-level=\"Low\"\n class=\"qr-code\"\n fill={this.#getQRFillColor()}\n background={this.#getQRBackgroundColor()}\n ></ch-qr>\n </div>\n )}\n </ch-dialog>\n ];\n }\n}\n\ninterface NativeAppObject {\n \"name\": string;\n \"module\"?: string;\n \"type\"?: string;\n \"description\"?: string;\n \"platform\"?: string;\n \"url\"?: string;\n \"generator\"?: string;\n \"app-store-badge\"?: boolean;\n \"key\"?: {\n type: string;\n id: string;\n };\n}\n\ninterface PlatformSection {\n type: string;\n objects: NativeAppObject[];\n}\n","@use \"../common.scss\" as *;\n\n:host {\n display: block;\n block-size: 100%;\n overflow: auto;\n}\n\n.main {\n overflow: auto;\n display: block;\n}\n\n.input-filter {\n inline-size: 33%;\n min-inline-size: 300px;\n}\n\nch-accordion-render {\n inline-size: 100%;\n block-size: 100%;\n}\n\n.accordion-content {\n inline-size: 100%;\n overflow-x: auto;\n min-width: 0;\n}\n\n.web-apps-accordion {\n inline-size: 100%;\n block-size: 100%;\n}\n\n/* WA: Responsive cards with CSS Grid - cards stretch to fill available width */\n.main-objects-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(267px, 1fr));\n gap: var(--spacing-gap-l);\n align-items: stretch;\n}\n\n.object-card {\n inline-size: 100%; // Adapt to grid column width\n @extend %appCard;\n @extend %appCardInteractive;\n border-width: 1px;\n border-style: solid;\n\n &.elevation-1 {\n --elevation-border-color: var(\n --color-accent-surface-elevation-1\n ); // Overwrite elevation border color\n }\n}\n\n.card-header {\n $commonGap: 8px;\n\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n flex-shrink: 0;\n\n .left {\n display: flex;\n flex-direction: column;\n flex: 1;\n gap: $commonGap;\n\n .name {\n color: var(--color-text-neutral-default);\n font-weight: var(--font-style-regular); //WA\n }\n\n .module {\n color: var(--ch-color-text-secondary);\n margin: 0;\n }\n }\n\n .right {\n .type-container {\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n gap: $commonGap;\n }\n }\n\n .type {\n margin: 0;\n color: var(--color-text-neutral-disabled);\n }\n}\n\n.card-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-top: auto;\n padding-top: 12px;\n border-top: 1px solid var(--color-border-surface-on-elevation-1);\n flex-shrink: 0;\n\n .description {\n margin: 0;\n line-height: var(--line-height-relaxed);\n color: var(--color-text-neutral-default);\n }\n\n .angular-icon {\n inline-size: 14px;\n block-size: 14px;\n opacity: 0.8;\n }\n}\n\n.no-results,\n.no-objects {\n color: var(--color-text-neutral-disabled);\n text-align: center;\n padding: 16px;\n}\n\n.recent-objects-grid-container {\n .cell-content {\n display: flex;\n align-items: center;\n gap: var(--spacing-gap-m);\n }\n}\n\n.tabular-grid-scroll-container {\n max-block-size: 400px;\n overflow-y: auto;\n overflow-x: hidden;\n\n // WA: Use thin scrollbar\n scrollbar-width: thin;\n}\n\n/* Override global CSS for vertical layout */\n:host {\n display: block !important;\n}\n\n.header {\n display: block !important;\n inline-size: 100% !important;\n float: none !important;\n clear: both !important;\n}\n\n.field {\n display: block !important;\n inline-size: 100% !important;\n float: none !important;\n clear: both !important;\n}\n\n.main {\n display: block !important;\n inline-size: 100% !important;\n float: none !important;\n clear: both !important;\n}\n","import {\n Component,\n Host,\n Prop,\n Element,\n State,\n h,\n Event,\n EventEmitter,\n Listen,\n getAssetPath\n} from \"@stencil/core\";\n\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../../common/locale\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/edit\",\n \"components/accordion\",\n \"components/tabular-grid\",\n \"components/icon\",\n \"chameleon/scrollbar\",\n \"utils/layout\",\n \"utils/form\",\n \"utils/typography\",\n \"utils/spacing\",\n \"utils/elevation\"\n];\nconst ANGULAR_LOGO = getAssetPath(\n \"./gx-ide-assets/launchpad-web-apps/images/angular-logo.svg\"\n);\nconst ACCORDION_RECENT_OBJECTS_ID = \"recent-objects\";\n\nconst COLUMN_NAME = \"name\";\nconst COLUMN_MODULE = \"module\";\nconst COLUMN_TYPE = \"type\";\nconst COLUMN_DESCRIPTION = \"description\";\n\n@Component({\n tag: \"gx-ide-launchpad-web-apps\",\n styleUrl: \"launchpad-web-apps.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/launchpad-web-apps\"]\n})\nexport class GxIdeLaunchpadWebApps {\n #componentLocale: any;\n\n @Element() el: HTMLGxIdeLaunchpadWebAppsElement;\n\n /**\n * Array of types of web objects organized by category\n */\n @Prop() readonly objects: ObjectType[] = [];\n\n /**\n * Callback function for object selection (passed from parent)\n */\n @Prop() onObjectSelected?: (event: any) => void;\n\n /**\n * Event emitted when copying to clipboard\n */\n @Event() copyToClipboard: EventEmitter<{ url: string }>;\n\n /**\n * Filter value for searching objects\n */\n @State() filterValue: string = \"\";\n\n /**\n * State to control if recent objects accordion is expanded\n */\n @State() recentObjectsExpanded: boolean = true;\n\n /**\n * Sorting order for recent objects table\n */\n @State() order: { orderCriteria: string | null; ascending: boolean | null } =\n {\n orderCriteria: null,\n ascending: null\n };\n\n async componentWillLoad() {\n try {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n } catch (error) {\n console.error(\"Error loading locale:\", error);\n this.#componentLocale = {};\n }\n }\n\n @Listen(\"expandedChange\")\n handleAccordionExpandedChange(e: CustomEvent) {\n if (e.detail.id === ACCORDION_RECENT_OBJECTS_ID) {\n this.recentObjectsExpanded = e.detail.expanded;\n }\n }\n\n /**\n * Filters objects based on search criteria\n */\n #filterObjects(object: WebAppObject): boolean {\n if (!this.filterValue) return true;\n\n const filterV = this.filterValue.toLowerCase();\n return (\n (object.module && object.module.toLowerCase().includes(filterV)) ||\n (object.name && object.name.toLowerCase().includes(filterV)) ||\n (object.type && object.type.toLowerCase().includes(filterV)) ||\n (object.description && object.description.toLowerCase().includes(filterV))\n );\n }\n\n /**\n * Sorts recent objects\n */\n #sortRecentObjects = (a: WebAppObject, b: WebAppObject): number => {\n if (this.order.orderCriteria) {\n const orderCriteriaA =\n this.#getObjectValue(a, this.order.orderCriteria)?.toUpperCase() || \"\";\n const orderCriteriaB =\n this.#getObjectValue(b, this.order.orderCriteria)?.toUpperCase() || \"\";\n if (orderCriteriaA < orderCriteriaB) {\n return this.order.ascending ? -1 : 1;\n }\n if (orderCriteriaA > orderCriteriaB) {\n return this.order.ascending ? 1 : -1;\n }\n }\n return 0;\n };\n\n /**\n * Helper function to safely get object values\n */\n #getObjectValue(obj: WebAppObject, key: string): string {\n switch (key) {\n case \"name\":\n return obj.name || \"\";\n case \"module\":\n return obj.module || \"\";\n case \"type\":\n return obj.type || \"\";\n case \"description\":\n return obj.description || \"\";\n default:\n return \"\";\n }\n }\n\n /**\n * Handles column sort changes\n */\n #handleColumnSortChanged = (e: CustomEvent) => {\n const { columnId, sortDirection } = e.detail;\n this.order = {\n orderCriteria: columnId,\n ascending: sortDirection === \"asc\"\n };\n };\n\n #getObjectTypeIcon(object: WebAppObject): string {\n const iconMap: Record<string, string> = {\n \"36e32e2d-023e-4188-95df-d13573bac2e0:API\": getIconPath({\n category: \"objects\",\n name: \"api\"\n }),\n \"2a9e9aba-d2de-4801-ae7f-5e3819222daf:Data Provider\": getIconPath({\n category: \"objects\",\n name: \"data-provider\"\n }),\n \"9bdcc055-174e-4af6-96cb-a2ceef6c5f09:Menu\": getIconPath({\n category: \"objects\",\n name: \"dashboard\"\n }),\n \"9bdcc055-174e-4af6-96cb-a2ceef6c5f09:Dashboard\": getIconPath({\n category: \"objects\",\n name: \"dashboard\"\n }),\n \"0eee17f4-cef9-4988-aed4-c2da632be85b:Mini App\": getIconPath({\n category: \"objects\",\n name: \"mini-app\"\n }),\n \"d82625fd-5892-40b0-99c9-5c8559c197fc:Panel\": getIconPath({\n category: \"objects\",\n name: \"panel-for-sd\"\n }),\n \"d82625fd-5892-40b0-99c9-5c8559c197fc:SDPanel\": getIconPath({\n category: \"objects\",\n name: \"panel-for-sd\"\n }),\n \"84a12160-f59b-4ad7-a683-ea4481ac23e9:Procedure\": getIconPath({\n category: \"objects\",\n name: \"procedure\"\n }),\n \"a7e6cce5-1171-49e9-a6a0-07f137eedc07:Super App\": getIconPath({\n category: \"objects\",\n name: \"super-app\"\n }),\n \"1db606f2-af09-4cf9-a3b5-b481519d28f6:Transaction\": getIconPath({\n category: \"objects\",\n name: \"transaction\"\n }),\n \"c9584656-94b6-4ccd-890f-332d11fc2c25:Web Panel\": getIconPath({\n category: \"objects\",\n name: \"webpanel\"\n }),\n \"c9584656-94b6-4ccd-890f-332d11fc2c25:WebPanel\": getIconPath({\n category: \"objects\",\n name: \"webpanel\"\n }),\n \"c9584656-94b6-4ccd-890f-332d11fc2c25:Web Component\": getIconPath({\n category: \"objects\",\n name: \"web-component\"\n }),\n \"c9584656-94b6-4ccd-890f-332d11fc2c25:WebComponent\": getIconPath({\n category: \"objects\",\n name: \"web-component\"\n }),\n \"15cf49b5-fc38-4899-91b5-395d02d79889:Work With\": getIconPath({\n category: \"patterns\",\n name: \"workwith-for-sd\"\n }),\n \"15cf49b5-fc38-4899-91b5-395d02d79889:WorkWith\": getIconPath({\n category: \"patterns\",\n name: \"workwith-for-sd\"\n }),\n \"API\": getIconPath({ category: \"objects\", name: \"api\" }),\n \"Data Provider\": getIconPath({\n category: \"objects\",\n name: \"data-provider\"\n }),\n \"Menu\": getIconPath({ category: \"objects\", name: \"dashboard\" }),\n \"Dashboard\": getIconPath({ category: \"objects\", name: \"dashboard\" }),\n \"Mini App\": getIconPath({ category: \"objects\", name: \"mini-app\" }),\n \"Panel\": getIconPath({ category: \"objects\", name: \"panel-for-sd\" }),\n \"SDPanel\": getIconPath({ category: \"objects\", name: \"panel-for-sd\" }),\n \"Procedure\": getIconPath({ category: \"objects\", name: \"procedure\" }),\n \"Super App\": getIconPath({ category: \"objects\", name: \"super-app\" }),\n \"Transaction\": getIconPath({ category: \"objects\", name: \"transaction\" }),\n \"Web Panel\": getIconPath({ category: \"objects\", name: \"webpanel\" }),\n \"WebPanel\": getIconPath({ category: \"objects\", name: \"webpanel\" }),\n \"Web Component\": getIconPath({\n category: \"objects\",\n name: \"web-component\"\n }),\n \"WebComponent\": getIconPath({\n category: \"objects\",\n name: \"web-component\"\n }),\n \"Work With\": getIconPath({\n category: \"patterns\",\n name: \"workwith-for-sd\"\n }),\n \"WorkWith\": getIconPath({ category: \"patterns\", name: \"workwith-for-sd\" })\n };\n\n if (object.key?.type) {\n const fullKey = `${object.key.type}:${object.type}`;\n if (iconMap[fullKey]) {\n return iconMap[fullKey];\n }\n }\n\n if (iconMap[object.type]) {\n return iconMap[object.type];\n }\n\n return getIconPath({ category: \"objects\", name: \"object\" });\n }\n\n /**\n * Handles object click and calls parent callback\n */\n #handleObjectClick(object: WebAppObject) {\n if (object.key && this.onObjectSelected) {\n // Send the full key object as string in format \"type|id\"\n const keyString = `${object.key.type}|${object.key.id}`;\n this.onObjectSelected({ detail: { key: keyString } });\n }\n }\n\n /**\n * Renders main objects section\n */\n #renderMainObjects() {\n const mainObjects =\n this.objects.find(obj => obj.type === \"main\")?.objects || [];\n const filteredObjects = mainObjects.filter(obj => this.#filterObjects(obj));\n\n if (mainObjects.length === 0) {\n return (\n <div class=\"no-results\">\n <p class=\"body-regular-s\">\n {this.#componentLocale?.noMainObjects ||\n \"There are no main objects to display\"}\n </p>\n </div>\n );\n }\n\n if (filteredObjects.length === 0) {\n return (\n <div class=\"no-results\">\n <p class=\"body-regular-s\">\n {this.#componentLocale?.noObjectsMatchSearch}\n </p>\n </div>\n );\n }\n\n return (\n <div class=\"main-objects-grid\">\n {filteredObjects.map((object, index) => (\n <button\n key={index}\n class=\"object-card elevation-1\"\n onClick={() => this.#handleObjectClick(object)}\n >\n <div class=\"card-header\">\n <div class=\"left\">\n <h1 class=\"name body-semi-bold-s\">{object.name}</h1>\n <h3 class=\"module body-regular-xs\">{object.module}</h3>\n <p class=\"type body-italic-xs\">{object.type}</p>\n </div>\n <div class=\"right\">\n <div class=\"type-container\">\n <ch-image\n class=\"type-icon icon-m\"\n src={this.#getObjectTypeIcon(object)}\n />\n </div>\n </div>\n </div>\n {(object.description || object.angular) && (\n <footer class=\"card-footer\">\n <div class=\"left\">\n {object.description && (\n <p class=\"description body-regular-xs\">\n {object.description}\n </p>\n )}\n </div>\n <div class=\"right\">\n {object.angular && (\n <img src={ANGULAR_LOGO} alt=\"Angular Logotype\" />\n )}\n </div>\n </footer>\n )}\n </button>\n ))}\n {\n // WA: Add empty divs to ensure a minimum of 4 grid items for proper layout\n filteredObjects.length < 4 &&\n Array.from({ length: 4 - filteredObjects.length }).map(\n (_, index) => <div key={`empty-${index}`}></div>\n )\n }\n </div>\n );\n }\n\n /**\n * Renders recent objects section\n */\n #renderRecentObjects() {\n const recentObjects =\n this.objects.find(obj => obj.type === \"recent\")?.objects || [];\n const filteredObjects = recentObjects.filter(obj =>\n this.#filterObjects(obj)\n );\n\n if (recentObjects.length === 0) {\n return (\n <div class=\"no-objects\">\n <p class=\"body-regular-s\">{this.#componentLocale?.noRecentObjects}</p>\n </div>\n );\n }\n\n if (filteredObjects.length === 0) {\n return (\n <div class=\"no-objects\">\n <p class=\"body-regular-s\">\n {this.#componentLocale?.noObjectsMatchSearch}\n </p>\n </div>\n );\n }\n\n const sortedObjects = [...filteredObjects].sort(this.#sortRecentObjects);\n\n return (\n <div class=\"recent-objects-grid-container\">\n <div class=\"tabular-grid-scroll-container\">\n <ch-tabular-grid class=\"tabular-grid elevation-2\">\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId={COLUMN_NAME}\n columnName={this.#componentLocale?.columns?.name || \"Name\"}\n columnNameHidden={false}\n settingable={false}\n sortable\n onColumnSortChanged={this.#handleColumnSortChanged}\n size=\"25%\"\n resizable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId={COLUMN_MODULE}\n columnName={this.#componentLocale?.columns?.module || \"Module\"}\n columnNameHidden={false}\n settingable={false}\n sortable\n onColumnSortChanged={this.#handleColumnSortChanged}\n size=\"20%\"\n resizable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId={COLUMN_TYPE}\n columnName={this.#componentLocale?.columns?.type || \"Type\"}\n columnNameHidden={false}\n settingable={false}\n sortable\n onColumnSortChanged={this.#handleColumnSortChanged}\n size=\"20%\"\n resizable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId={COLUMN_DESCRIPTION}\n columnName={\n this.#componentLocale?.columns?.description || \"Description\"\n }\n columnNameHidden={false}\n settingable={false}\n sortable={false}\n size=\"35%\"\n resizable={false}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {sortedObjects.map((obj, index) => (\n <ch-tabular-grid-row\n rowid={obj.key?.id || index.toString()}\n class=\"tabular-grid-row\"\n onClick={() => this.#handleObjectClick(obj)}\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <div class=\"cell-content\">\n <ch-image\n class=\"object-icon icon-m\"\n src={this.#getObjectTypeIcon(obj)}\n />\n <span class=\"object-name\">{obj.name || \"Unnamed\"}</span>\n </div>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.module || \"\"}\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-row>\n ))}\n </ch-tabular-grid-rowset>\n </ch-tabular-grid>\n </div>\n </div>\n );\n }\n\n render() {\n if (!this.objects || this.objects.length === 0) {\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"no-data\">\n <p class=\"body-regular-s\">\n {this.#componentLocale?.noData ||\n \"No web applications data available\"}\n </p>\n </div>\n </Host>\n );\n }\n\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <header class=\"header dialog-header\">\n <div class=\"field field-block\">\n <ch-edit\n class=\"input input-filter\"\n id=\"filter\"\n placeholder={this.#componentLocale?.search || \"Search\"}\n value={this.filterValue}\n accessibleName={this.#componentLocale?.search || \"Search\"}\n onInput={e => (this.filterValue = String(e.detail))}\n />\n </div>\n </header>\n\n <div class=\"main\">\n <ch-accordion-render\n class=\"accordion-filled-header elevation-1 web-apps-accordion\"\n model={[\n {\n id: \"main-objects\",\n caption: \"Main Objects\",\n expanded: true\n },\n {\n id: ACCORDION_RECENT_OBJECTS_ID,\n caption: \"Recent Objects\",\n expanded: this.recentObjectsExpanded\n }\n ]}\n >\n <div slot=\"main-objects\" class=\"accordion-content spacing-body\">\n {this.#renderMainObjects()}\n </div>\n <div\n slot={ACCORDION_RECENT_OBJECTS_ID}\n class=\"accordion-content spacing-body\"\n >\n {this.#renderRecentObjects()}\n </div>\n </ch-accordion-render>\n </div>\n </Host>\n );\n }\n}\n\ninterface WebAppObject {\n name: string;\n module: string;\n type: string;\n description?: string;\n url?: string;\n key?: {\n type: string;\n id: string;\n };\n angular?: boolean;\n}\n\ninterface ObjectType {\n type: \"main\" | \"recent\";\n objects: WebAppObject[];\n}\n"],"version":3}
1
+ {"file":"gx-ide-launchpad-apis.gx-ide-launchpad-native-apps.gx-ide-launchpad-web-apps.entry.cjs.js","mappings":"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","names":["CSS_BUNDLES","__classPrivateFieldSet","Locale","index","h","Host","__classPrivateFieldGet","getAssetPath","getIconPath"],"sources":["src/components/launchpad/apis/launchpad-apis.scss?tag=gx-ide-launchpad-apis&encapsulation=shadow","src/components/launchpad/apis/launchpad-apis.tsx","src/components/launchpad/native-apps/launchpad-native-apps.scss?tag=gx-ide-launchpad-native-apps&encapsulation=shadow","src/components/launchpad/native-apps/launchpad-native-apps.tsx","src/components/launchpad/web-apps/launchpad-web-apps.scss?tag=gx-ide-launchpad-web-apps&encapsulation=shadow","src/components/launchpad/web-apps/launchpad-web-apps.tsx"],"sourcesContent":[":host {\n display: block;\n block-size: 100%;\n overflow: auto;\n background-color: var(--ch-color-surface-primary);\n color: var(--ch-color-text-primary);\n}\n\n.main {\n overflow: auto;\n display: block;\n}\n\n.apis-container {\n padding: 24px;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-gap-xl);\n max-width: 100%;\n}\n\n.api-item {\n background: var(--ch-color-surface-secondary);\n border: 1px solid var(--color-border-neutral-default);\n border-radius: 0;\n overflow: hidden;\n transition: all var(--timing-fast) ease;\n width: 100%;\n max-width: 100%;\n display: flex;\n flex-direction: column;\n min-height: 64px;\n\n &:hover {\n box-shadow: var(--color-accent-surface-elevation-2);\n transform: translateY(-2px);\n border-color: var(--color-border-primary-hover);\n }\n}\n\n.api-header {\n padding: 16px;\n background: transparent;\n border-bottom: 1px solid var(--color-border-neutral-default);\n flex-shrink: 0;\n\n .api-name {\n margin: 0;\n color: var(--color-text-neutral-default);\n word-break: break-all;\n overflow-wrap: break-word;\n }\n}\n\n.api-content {\n overflow: hidden;\n}\n\n.no-apis,\n.no-data {\n color: var(--color-text-neutral-disabled);\n font-style: italic;\n text-align: center;\n padding: 16px;\n\n p {\n font-size: var(--font-size-body-m);\n font-weight: var(--font-style-semi-bold);\n line-height: var(--line-height-spacious);\n }\n}\n","import {\n Component,\n Host,\n Prop,\n Element,\n h,\n Event,\n EventEmitter\n} from \"@stencil/core\";\n\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { AccordionModel } from \"@genexus/chameleon-controls-library\";\n\nimport { Locale } from \"../../../common/locale\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/accordion\",\n \"utils/elevation\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\"\n];\n\n@Component({\n tag: \"gx-ide-launchpad-apis\",\n styleUrl: \"launchpad-apis.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/launchpad-apis\"]\n})\nexport class GxIdeLaunchpadApis {\n #componentLocale: any;\n #ACCORDION_MODEL: AccordionModel = [];\n\n @Prop() apis: Array<any>;\n @Element() element: HTMLElement;\n\n /**\n * Callback function for object selection (passed from parent)\n */\n @Prop() onObjectSelected?: (event: any) => void;\n\n /**\n * Event emitted when copying to clipboard\n */\n @Event() copyToClipboard: EventEmitter<{ url: string }>;\n\n async componentWillLoad() {\n try {\n this.#componentLocale = await Locale.getComponentStrings(this.element);\n } catch (error) {\n console.error(\"Error loading locale:\", error);\n this.#componentLocale = {};\n }\n\n this.initializeAccordionModel();\n }\n\n /**\n * Initialize accordion model with dynamic sections for each API\n */\n private initializeAccordionModel() {\n if (!this.apis || !Array.isArray(this.apis)) {\n this.#ACCORDION_MODEL = [];\n return;\n }\n\n this.#ACCORDION_MODEL = this.apis\n .map((api: any, index: number) => {\n let url: string;\n\n if (typeof api === \"string\") {\n url = api;\n } else if (api && typeof api === \"object\" && api.url) {\n url = api.url.toString();\n } else {\n return null;\n }\n\n const lastSlash = url.lastIndexOf(\"/\");\n const name = url.substring(lastSlash + 1, url.length).toUpperCase();\n\n return {\n id: `api-${index}`,\n caption: name,\n expanded: true\n };\n })\n .filter(Boolean);\n }\n\n renderApis() {\n if (!this.apis || !Array.isArray(this.apis)) {\n return null;\n }\n\n return this.apis\n .map((api: any, index: number) => {\n let apiData: any;\n\n if (typeof api === \"string\") {\n apiData = { url: api };\n } else if (api && typeof api === \"object\" && api.url) {\n apiData = api;\n } else {\n return null;\n }\n\n return (\n <div\n key={`api-${index}`}\n slot={`api-${index}`}\n class=\"api-content spacing-body\"\n >\n <gx-ide-launchpad-api\n data={apiData}\n onObjectSelected={(event: any) =>\n this.handleObjectSelection(event)\n }\n onCopyToClipboard={(event: any) =>\n this.handleCopyToClipboard(event)\n }\n ></gx-ide-launchpad-api>\n </div>\n );\n })\n .filter(Boolean);\n }\n\n /**\n * Handles object selection from subcomponents\n */\n private handleObjectSelection(event: any) {\n if (this.onObjectSelected) {\n this.onObjectSelected(event);\n }\n }\n\n /**\n * Handles copy to clipboard from subcomponents\n */\n private handleCopyToClipboard(event: any) {\n this.copyToClipboard.emit({ url: event.detail.url });\n }\n\n render() {\n if (!this.apis || this.apis.length === 0) {\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"no-data\">\n <p class=\"body-regular-s\">\n {this.#componentLocale?.noApis || \"No APIs available\"}\n </p>\n </div>\n </Host>\n );\n }\n\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <div class=\"main\">\n <ch-accordion-render\n class=\"accordion-filled-header elevation-2 apis-accordion\"\n model={this.#ACCORDION_MODEL}\n >\n {this.renderApis()}\n </ch-accordion-render>\n </div>\n </Host>\n );\n }\n}\n","@use \"../common.scss\" as *;\n@import \"../../../global/temporary-mercury-overrides/_button.scss\";\n\n:host {\n display: block;\n block-size: 100%;\n overflow: auto;\n}\n\n.main {\n overflow: auto;\n display: block;\n}\n\nch-accordion-render {\n inline-size: 100%;\n block-size: 100%;\n}\n\n.native-apps-accordion {\n inline-size: 100%;\n block-size: 100%;\n}\n\n/* WA: Platform Section */\n.platform-section {\n display: flex;\n align-items: center;\n gap: var(--spacing-gap-l);\n}\n\n.app__apple-store {\n height: 32px; // This should equal the button height in Mercury\n cursor: pointer;\n transition: opacity var(--timing-fast) ease;\n\n &:hover {\n opacity: 0.8;\n }\n}\n\n.platform-grid {\n --card-min-inline-size: 360px;\n @extend %appCardsContainer;\n}\n\n.object-card {\n @extend %appCard;\n}\n\n.card-content {\n display: flex;\n gap: var(--spacing-gap-xl);\n flex: 1;\n width: 100%;\n\n &:focus {\n outline: none;\n }\n}\n\n.info-section {\n flex: 1;\n display: flex;\n flex-direction: column;\n justify-content: space-between;\n width: 100%;\n}\n\n.app-info {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-gap-xs);\n flex: 1;\n}\n\n.name {\n color: var(--color-text-neutral-default);\n}\n\n.description {\n color: var(--color-text-neutral-disabled);\n margin: 0;\n line-height: var(--line-height-relaxed);\n}\n\n/* Copy button styles handled by Mercury components/button bundle */\n\n/* QR Dialog Styles */\n.dialog {\n --ch-dialog-block-size: 400px;\n --ch-dialog-inline-size: 350px;\n --ch-dialog-min-block-size: 400px;\n --ch-dialog-min-inline-size: 350px;\n}\n.qr-container {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n\n.card-actions {\n display: flex;\n justify-content: space-between;\n align-items: center;\n padding-top: 12px;\n border-top: 1px solid var(--color-border-neutral-default);\n}\n\n/* No Data States */\n.no-data,\n.no-results {\n color: var(--color-text-neutral-disabled);\n font-style: italic;\n text-align: center;\n padding: 16px;\n\n p {\n font-size: var(--font-size-body-m);\n font-weight: var(--font-style-semi-bold);\n line-height: var(--line-height-spacious);\n }\n}\n\n/* Responsive Design */\n@media (max-width: 768px) {\n .platform-grid {\n justify-content: center;\n }\n\n .card-content {\n flex-direction: column;\n gap: var(--spacing-gap-l);\n }\n\n .card-actions {\n flex-direction: column;\n gap: var(--spacing-gap-l);\n align-items: stretch;\n }\n}\n\n@media (max-width: 480px) {\n .main {\n padding: 12px;\n }\n\n .object-card {\n padding: 12px;\n }\n\n .platform-grid {\n gap: var(--spacing-gap-l);\n padding: 12px;\n }\n}\n\n.android:after {\n content: \"\";\n display: block;\n}\n","import {\n Component,\n h,\n Prop,\n State,\n Event,\n EventEmitter,\n Element,\n getAssetPath\n} from \"@stencil/core\";\n\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport { AccordionModel } from \"@genexus/chameleon-controls-library\";\n\nimport { Locale } from \"../../../common/locale\";\n\nconst IOS_ID = \"ios\";\nconst ANDROID_ID = \"android\";\n\nconst APP_STORE_BADGE = getAssetPath(\n \"./gx-ide-assets/launchpad-native-apps/images/app-store-badge.svg\"\n);\nconst ANDROID_LOGO = getAssetPath(\n \"./gx-ide-assets/launchpad-native-apps/images/android-logo.svg\"\n);\nconst MAC_LOGO = getAssetPath(\n \"./gx-ide-assets/launchpad-native-apps/images/mac-logo.svg\"\n);\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/accordion\",\n \"components/button\",\n \"components/dialog\",\n \"components/icon\",\n \"utils/elevation\",\n \"utils/layout\",\n \"utils/spacing\",\n \"utils/typography\"\n];\n\nconst QR_ICON = getIconPath({\n category: \"system\",\n name: \"qr-code\",\n colorType: \"interactive\"\n});\n\n@Component({\n tag: \"gx-ide-launchpad-native-apps\",\n styleUrl: \"launchpad-native-apps.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/launchpad-native-apps\"]\n})\nexport class GxIdeLaunchpadNativeApps {\n #componentLocale: any;\n #ACCORDION_MODEL: AccordionModel = [];\n #timeoutIds: Set<number> = new Set();\n\n @Element() el: HTMLGxIdeLaunchpadNativeAppsElement;\n\n /**\n * Array of platform sections (ios, android)\n */\n @Prop() readonly objects: PlatformSection[] = [];\n\n /**\n * Filter value for searching objects\n */\n @State() filterValue: string = \"\";\n\n /**\n * Sorting order for recent objects table\n */\n @State() order: { orderCriteria: string | null; ascending: boolean | null } =\n {\n orderCriteria: null,\n ascending: null\n };\n\n /**\n * Current page for pagination\n */\n @State() page: number = 1;\n\n /**\n * Items per page for pagination\n */\n @State() perPage: number = 10;\n\n /**\n * Event emitted when copying to clipboard - like the original version\n */\n @Event() copyToClipboard: EventEmitter<{ url: string }>;\n\n /**\n * Event emitted when opening app store - like the original version\n */\n @Event() openOnTheAppStore: EventEmitter<{ url: string }>;\n\n /**\n * Callback function for object selection (passed from parent)\n */\n @Prop() onObjectSelected?: (event: any) => void;\n\n /**\n * State to track copied messages for each object\n */\n @State() showCopiedMessage: { [key: string]: boolean } = {};\n\n /**\n * State to control QR dialog visibility\n */\n @State() showQRDialog: boolean = false;\n\n /**\n * State to store the selected object for QR display\n */\n @State() selectedObjectForQR: NativeAppObject | null = null;\n\n async componentWillLoad() {\n try {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n } catch (error) {\n console.error(\"Error loading locale:\", error);\n this.#componentLocale = {};\n }\n\n this.#ACCORDION_MODEL = [\n {\n id: IOS_ID,\n caption: \"iOS\",\n expanded: true\n },\n {\n id: ANDROID_ID,\n caption: \"Android\",\n expanded: true\n }\n ];\n }\n\n #getQRFillColor(): string {\n const computedStyle = getComputedStyle(document.documentElement);\n return (\n computedStyle.getPropertyValue(\"--color-text-neutral-default\").trim() ||\n computedStyle.getPropertyValue(\"--color-neutral-400\").trim() ||\n \"#49566d\"\n );\n }\n\n #getQRBackgroundColor(): string {\n const computedStyle = getComputedStyle(document.documentElement);\n return (\n computedStyle.getPropertyValue(\"--color-neutral-1600\").trim() || \"#ffffff\"\n );\n }\n\n #getCopyIcon(): string {\n return getIconPath({\n category: \"system\",\n name: \"copy\",\n colorType: \"primary\"\n });\n }\n\n /**\n * Copies text to clipboard and emits event - like the original version\n */\n #copyToClipboardFunc(object: NativeAppObject) {\n this.copyToClipboard.emit({\n url: object.url\n });\n\n if (object.url) {\n navigator.clipboard\n .writeText(object.url)\n .then(() => {\n const objectKey = `${object.name}-${object.url}`;\n\n this.showCopiedMessage = {\n ...this.showCopiedMessage,\n [objectKey]: true\n };\n\n const timeoutId = window.setTimeout(() => {\n this.showCopiedMessage = {\n ...this.showCopiedMessage,\n [objectKey]: false\n };\n this.#timeoutIds.delete(timeoutId);\n }, 2000);\n\n this.#timeoutIds.add(timeoutId);\n })\n .catch(err => {\n console.error(\"Failed to copy text: \", err);\n });\n }\n }\n\n /**\n * Opens app store and emits event - like the original version\n */\n #openAppStoreFunc(object: NativeAppObject) {\n this.openOnTheAppStore.emit({\n url: object.url\n });\n\n if (object.url) {\n window.open(object.url, \"_blank\");\n }\n }\n\n /**\n * Handles QR button click\n */\n #handleQRClick(object: NativeAppObject) {\n this.selectedObjectForQR = object;\n this.showQRDialog = true;\n }\n\n /**\n * Handles closing QR dialog\n */\n #handleCloseQRDialog() {\n this.showQRDialog = false;\n this.selectedObjectForQR = null;\n }\n\n /**\n * Handles object click and calls parent callback\n */\n #handleObjectClick(object: NativeAppObject) {\n if (object.key && this.onObjectSelected) {\n // Send the full key object as string in format \"type|id\"\n const keyString = `${object.key.type}|${object.key.id}`;\n this.onObjectSelected({ detail: { key: keyString } });\n }\n }\n\n /**\n * Cleanup method to prevent memory leaks\n */\n disconnectedCallback() {\n if (this.#timeoutIds) {\n this.#timeoutIds.forEach(timeoutId => {\n if (timeoutId) {\n clearTimeout(timeoutId);\n }\n });\n this.#timeoutIds.clear();\n }\n }\n\n /**\n * Renders platform section (iOS or Android) with grid layout like the original version\n */\n #renderPlatformSection(platformType: string) {\n const platformIcon =\n platformType === IOS_ID ? (\n <img src={MAC_LOGO} alt=\"Apple iOS Logo\"></img>\n ) : (\n <img src={ANDROID_LOGO} alt=\"Android Logo\"></img>\n );\n\n const platformSection = this.objects.find(obj => obj.type === platformType);\n\n if (!platformSection || platformSection.objects.length === 0) {\n return (\n <div class=\"no-results\">\n <p class=\"body-regular-s\">\n {this.#componentLocale?.noPlatformApps?.replace(\n \"{platformType}\",\n platformType\n ) || `No ${platformType} applications available`}\n </p>\n </div>\n );\n }\n\n return (\n <div class=\"platform-grid\">\n {platformSection.objects.map((object, index) => (\n <div\n key={index}\n class=\"object-card elevation-1\"\n tabindex=\"0\"\n onClick={() => this.#handleObjectClick(object)}\n >\n <div class=\"card-content\">\n <div class=\"info-section\">\n <div class=\"app-info\">\n <h1 class=\"name body-semi-bold-s\">{object.name}</h1>\n {object.description && (\n <p class=\"description body-regular-xs\">\n {object.description}\n </p>\n )}\n </div>\n </div>\n </div>\n <div class=\"card-actions\">\n {object.url && (\n <div class=\"platform-section\">\n {object[\"app-store-badge\"] ? (\n <img\n src={APP_STORE_BADGE}\n alt=\"Download on the App Store\"\n class=\"app__apple-store\"\n onClick={() => this.#openAppStoreFunc(object)}\n />\n ) : (\n platformIcon\n )}\n <button\n class=\"button-secondary button-icon-and-text\"\n onClick={() => this.#handleQRClick(object)}\n aria-label=\"Show QR Code\"\n >\n <ch-image class=\"icon-m\" src={QR_ICON} type=\"mask\" />\n {this.#componentLocale?.showQR || \"Show QR\"}\n </button>\n </div>\n )}\n <button\n class=\"button-tertiary button-icon-and-text copy-button\"\n onClick={() => this.#copyToClipboardFunc(object)}\n aria-label=\"Copy to clipboard\"\n >\n <ch-image class=\"icon-m\" src={this.#getCopyIcon()} />\n {this.showCopiedMessage[`${object.name}-${object.url}`]\n ? this.#componentLocale?.copied || \"Copied!\"\n : this.#componentLocale?.copy || \"Copy\"}\n </button>\n </div>\n </div>\n ))}\n {\n // WA: Prevent card take full width if there is only one card\n platformSection.objects.length === 1 && <div></div>\n }\n </div>\n );\n }\n\n render() {\n if (!this.objects || this.objects.length === 0) {\n <div class=\"no-data\">\n <p class=\"body-regular-s\">\n {this.#componentLocale?.noData ||\n \"No native applications data available\"}\n </p>\n </div>;\n }\n\n return [\n <ch-theme model={CSS_BUNDLES}></ch-theme>,\n <div class=\"main\">\n <ch-accordion-render\n class=\"accordion-filled-header elevation-1 native-apps-accordion\"\n model={this.#ACCORDION_MODEL}\n >\n <div slot={IOS_ID} class=\"accordion-content spacing-body\">\n {this.#renderPlatformSection(IOS_ID)}\n </div>\n <div slot={ANDROID_ID} class=\"accordion-content spacing-body\">\n {this.#renderPlatformSection(ANDROID_ID)}\n </div>\n </ch-accordion-render>\n </div>,\n <ch-dialog\n class=\"dialog\"\n show={this.showQRDialog}\n show-header={true}\n closable={true}\n close-button-accessible-name=\"Close QR code\"\n onDialogClosed={() => this.#handleCloseQRDialog()}\n >\n {this.selectedObjectForQR && (\n <div class=\"qr-container\">\n <ch-qr\n value={this.selectedObjectForQR.url || \"\"}\n size={200}\n error-correction-level=\"Low\"\n class=\"qr-code\"\n fill={this.#getQRFillColor()}\n background={this.#getQRBackgroundColor()}\n ></ch-qr>\n </div>\n )}\n </ch-dialog>\n ];\n }\n}\n\ninterface NativeAppObject {\n \"name\": string;\n \"module\"?: string;\n \"type\"?: string;\n \"description\"?: string;\n \"platform\"?: string;\n \"url\"?: string;\n \"generator\"?: string;\n \"app-store-badge\"?: boolean;\n \"key\"?: {\n type: string;\n id: string;\n };\n}\n\ninterface PlatformSection {\n type: string;\n objects: NativeAppObject[];\n}\n","@use \"../common.scss\" as *;\n\n:host {\n display: block;\n block-size: 100%;\n overflow: auto;\n}\n\n.main {\n overflow: auto;\n display: block;\n}\n\n.input-filter {\n inline-size: 33%;\n min-inline-size: 300px;\n}\n\nch-accordion-render {\n inline-size: 100%;\n block-size: 100%;\n}\n\n.accordion-content {\n inline-size: 100%;\n overflow-x: auto;\n min-width: 0;\n}\n\n.web-apps-accordion {\n inline-size: 100%;\n block-size: 100%;\n}\n\n/* WA: Responsive cards with CSS Grid - cards stretch to fill available width */\n.main-objects-grid {\n display: grid;\n grid-template-columns: repeat(auto-fit, minmax(267px, 1fr));\n gap: var(--spacing-gap-l);\n align-items: stretch;\n}\n\n.object-card {\n inline-size: 100%; // Adapt to grid column width\n @extend %appCard;\n @extend %appCardInteractive;\n border-width: 1px;\n border-style: solid;\n\n &.elevation-1 {\n --elevation-border-color: var(\n --color-accent-surface-elevation-1\n ); // Overwrite elevation border color\n }\n}\n\n.card-header {\n $commonGap: 8px;\n\n display: flex;\n justify-content: space-between;\n align-items: flex-start;\n flex-shrink: 0;\n\n .left {\n display: flex;\n flex-direction: column;\n flex: 1;\n gap: $commonGap;\n\n .name {\n color: var(--color-text-neutral-default);\n font-weight: var(--font-style-regular); //WA\n }\n\n .module {\n color: var(--ch-color-text-secondary);\n margin: 0;\n }\n }\n\n .right {\n .type-container {\n display: flex;\n flex-direction: column;\n align-items: flex-end;\n gap: $commonGap;\n }\n }\n\n .type {\n margin: 0;\n color: var(--color-text-neutral-disabled);\n }\n}\n\n.card-footer {\n display: flex;\n justify-content: space-between;\n align-items: center;\n margin-top: auto;\n padding-top: 12px;\n border-top: 1px solid var(--color-border-surface-on-elevation-1);\n flex-shrink: 0;\n\n .description {\n margin: 0;\n line-height: var(--line-height-relaxed);\n color: var(--color-text-neutral-default);\n }\n\n .angular-icon {\n inline-size: 14px;\n block-size: 14px;\n opacity: 0.8;\n }\n}\n\n.no-results,\n.no-objects {\n color: var(--color-text-neutral-disabled);\n text-align: center;\n padding: 16px;\n}\n\n.recent-objects-grid-container {\n .cell-content {\n display: flex;\n align-items: center;\n gap: var(--spacing-gap-m);\n }\n}\n\n.tabular-grid-scroll-container {\n max-block-size: 400px;\n overflow-y: auto;\n overflow-x: hidden;\n\n // WA: Use thin scrollbar\n scrollbar-width: thin;\n}\n\n/* Override global CSS for vertical layout */\n:host {\n display: block !important;\n}\n\n.header {\n display: block !important;\n inline-size: 100% !important;\n float: none !important;\n clear: both !important;\n}\n\n.field {\n display: block !important;\n inline-size: 100% !important;\n float: none !important;\n clear: both !important;\n}\n\n.main {\n display: block !important;\n inline-size: 100% !important;\n float: none !important;\n clear: both !important;\n}\n","import {\n Component,\n Host,\n Prop,\n Element,\n State,\n h,\n Event,\n EventEmitter,\n Listen,\n getAssetPath\n} from \"@stencil/core\";\n\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../../common/locale\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/edit\",\n \"components/accordion\",\n \"components/tabular-grid\",\n \"components/icon\",\n \"chameleon/scrollbar\",\n \"utils/layout\",\n \"utils/form\",\n \"utils/typography\",\n \"utils/spacing\",\n \"utils/elevation\"\n];\nconst ANGULAR_LOGO = getAssetPath(\n \"./gx-ide-assets/launchpad-web-apps/images/angular-logo.svg\"\n);\nconst ACCORDION_RECENT_OBJECTS_ID = \"recent-objects\";\n\nconst COLUMN_NAME = \"name\";\nconst COLUMN_MODULE = \"module\";\nconst COLUMN_TYPE = \"type\";\nconst COLUMN_DESCRIPTION = \"description\";\n\n@Component({\n tag: \"gx-ide-launchpad-web-apps\",\n styleUrl: \"launchpad-web-apps.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/launchpad-web-apps\"]\n})\nexport class GxIdeLaunchpadWebApps {\n #componentLocale: any;\n\n @Element() el: HTMLGxIdeLaunchpadWebAppsElement;\n\n /**\n * Array of types of web objects organized by category\n */\n @Prop() readonly objects: ObjectType[] = [];\n\n /**\n * Callback function for object selection (passed from parent)\n */\n @Prop() onObjectSelected?: (event: any) => void;\n\n /**\n * Event emitted when copying to clipboard\n */\n @Event() copyToClipboard: EventEmitter<{ url: string }>;\n\n /**\n * Filter value for searching objects\n */\n @State() filterValue: string = \"\";\n\n /**\n * State to control if recent objects accordion is expanded\n */\n @State() recentObjectsExpanded: boolean = true;\n\n /**\n * Sorting order for recent objects table\n */\n @State() order: { orderCriteria: string | null; ascending: boolean | null } =\n {\n orderCriteria: null,\n ascending: null\n };\n\n async componentWillLoad() {\n try {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n } catch (error) {\n console.error(\"Error loading locale:\", error);\n this.#componentLocale = {};\n }\n }\n\n @Listen(\"expandedChange\")\n handleAccordionExpandedChange(e: CustomEvent) {\n if (e.detail.id === ACCORDION_RECENT_OBJECTS_ID) {\n this.recentObjectsExpanded = e.detail.expanded;\n }\n }\n\n /**\n * Filters objects based on search criteria\n */\n #filterObjects(object: WebAppObject): boolean {\n if (!this.filterValue) return true;\n\n const filterV = this.filterValue.toLowerCase();\n return (\n (object.module && object.module.toLowerCase().includes(filterV)) ||\n (object.name && object.name.toLowerCase().includes(filterV)) ||\n (object.type && object.type.toLowerCase().includes(filterV)) ||\n (object.description && object.description.toLowerCase().includes(filterV))\n );\n }\n\n /**\n * Sorts recent objects\n */\n #sortRecentObjects = (a: WebAppObject, b: WebAppObject): number => {\n if (this.order.orderCriteria) {\n const orderCriteriaA =\n this.#getObjectValue(a, this.order.orderCriteria)?.toUpperCase() || \"\";\n const orderCriteriaB =\n this.#getObjectValue(b, this.order.orderCriteria)?.toUpperCase() || \"\";\n if (orderCriteriaA < orderCriteriaB) {\n return this.order.ascending ? -1 : 1;\n }\n if (orderCriteriaA > orderCriteriaB) {\n return this.order.ascending ? 1 : -1;\n }\n }\n return 0;\n };\n\n /**\n * Helper function to safely get object values\n */\n #getObjectValue(obj: WebAppObject, key: string): string {\n switch (key) {\n case \"name\":\n return obj.name || \"\";\n case \"module\":\n return obj.module || \"\";\n case \"type\":\n return obj.type || \"\";\n case \"description\":\n return obj.description || \"\";\n default:\n return \"\";\n }\n }\n\n /**\n * Handles column sort changes\n */\n #handleColumnSortChanged = (e: CustomEvent) => {\n const { columnId, sortDirection } = e.detail;\n this.order = {\n orderCriteria: columnId,\n ascending: sortDirection === \"asc\"\n };\n };\n\n #getObjectTypeIcon(object: WebAppObject): string {\n const iconMap: Record<string, string> = {\n \"36e32e2d-023e-4188-95df-d13573bac2e0:API\": getIconPath({\n category: \"objects\",\n name: \"api\"\n }),\n \"2a9e9aba-d2de-4801-ae7f-5e3819222daf:Data Provider\": getIconPath({\n category: \"objects\",\n name: \"data-provider\"\n }),\n \"9bdcc055-174e-4af6-96cb-a2ceef6c5f09:Menu\": getIconPath({\n category: \"objects\",\n name: \"dashboard\"\n }),\n \"9bdcc055-174e-4af6-96cb-a2ceef6c5f09:Dashboard\": getIconPath({\n category: \"objects\",\n name: \"dashboard\"\n }),\n \"0eee17f4-cef9-4988-aed4-c2da632be85b:Mini App\": getIconPath({\n category: \"objects\",\n name: \"mini-app\"\n }),\n \"d82625fd-5892-40b0-99c9-5c8559c197fc:Panel\": getIconPath({\n category: \"objects\",\n name: \"panel-for-sd\"\n }),\n \"d82625fd-5892-40b0-99c9-5c8559c197fc:SDPanel\": getIconPath({\n category: \"objects\",\n name: \"panel-for-sd\"\n }),\n \"84a12160-f59b-4ad7-a683-ea4481ac23e9:Procedure\": getIconPath({\n category: \"objects\",\n name: \"procedure\"\n }),\n \"a7e6cce5-1171-49e9-a6a0-07f137eedc07:Super App\": getIconPath({\n category: \"objects\",\n name: \"super-app\"\n }),\n \"1db606f2-af09-4cf9-a3b5-b481519d28f6:Transaction\": getIconPath({\n category: \"objects\",\n name: \"transaction\"\n }),\n \"c9584656-94b6-4ccd-890f-332d11fc2c25:Web Panel\": getIconPath({\n category: \"objects\",\n name: \"webpanel\"\n }),\n \"c9584656-94b6-4ccd-890f-332d11fc2c25:WebPanel\": getIconPath({\n category: \"objects\",\n name: \"webpanel\"\n }),\n \"c9584656-94b6-4ccd-890f-332d11fc2c25:Web Component\": getIconPath({\n category: \"objects\",\n name: \"web-component\"\n }),\n \"c9584656-94b6-4ccd-890f-332d11fc2c25:WebComponent\": getIconPath({\n category: \"objects\",\n name: \"web-component\"\n }),\n \"15cf49b5-fc38-4899-91b5-395d02d79889:Work With\": getIconPath({\n category: \"patterns\",\n name: \"workwith-for-sd\"\n }),\n \"15cf49b5-fc38-4899-91b5-395d02d79889:WorkWith\": getIconPath({\n category: \"patterns\",\n name: \"workwith-for-sd\"\n }),\n \"API\": getIconPath({ category: \"objects\", name: \"api\" }),\n \"Data Provider\": getIconPath({\n category: \"objects\",\n name: \"data-provider\"\n }),\n \"Menu\": getIconPath({ category: \"objects\", name: \"dashboard\" }),\n \"Dashboard\": getIconPath({ category: \"objects\", name: \"dashboard\" }),\n \"Mini App\": getIconPath({ category: \"objects\", name: \"mini-app\" }),\n \"Panel\": getIconPath({ category: \"objects\", name: \"panel-for-sd\" }),\n \"SDPanel\": getIconPath({ category: \"objects\", name: \"panel-for-sd\" }),\n \"Procedure\": getIconPath({ category: \"objects\", name: \"procedure\" }),\n \"Super App\": getIconPath({ category: \"objects\", name: \"super-app\" }),\n \"Transaction\": getIconPath({ category: \"objects\", name: \"transaction\" }),\n \"Web Panel\": getIconPath({ category: \"objects\", name: \"webpanel\" }),\n \"WebPanel\": getIconPath({ category: \"objects\", name: \"webpanel\" }),\n \"Web Component\": getIconPath({\n category: \"objects\",\n name: \"web-component\"\n }),\n \"WebComponent\": getIconPath({\n category: \"objects\",\n name: \"web-component\"\n }),\n \"Work With\": getIconPath({\n category: \"patterns\",\n name: \"workwith-for-sd\"\n }),\n \"WorkWith\": getIconPath({ category: \"patterns\", name: \"workwith-for-sd\" })\n };\n\n if (object.key?.type) {\n const fullKey = `${object.key.type}:${object.type}`;\n if (iconMap[fullKey]) {\n return iconMap[fullKey];\n }\n }\n\n if (iconMap[object.type]) {\n return iconMap[object.type];\n }\n\n return getIconPath({ category: \"objects\", name: \"object\" });\n }\n\n /**\n * Handles object click and calls parent callback\n */\n #handleObjectClick(object: WebAppObject) {\n if (object.key && this.onObjectSelected) {\n // Send the full key object as string in format \"type|id\"\n const keyString = `${object.key.type}|${object.key.id}`;\n this.onObjectSelected({ detail: { key: keyString } });\n }\n }\n\n /**\n * Renders main objects section\n */\n #renderMainObjects() {\n const mainObjects =\n this.objects.find(obj => obj.type === \"main\")?.objects || [];\n const filteredObjects = mainObjects.filter(obj => this.#filterObjects(obj));\n\n if (mainObjects.length === 0) {\n return (\n <div class=\"no-results\">\n <p class=\"body-regular-s\">\n {this.#componentLocale?.noMainObjects ||\n \"There are no main objects to display\"}\n </p>\n </div>\n );\n }\n\n if (filteredObjects.length === 0) {\n return (\n <div class=\"no-results\">\n <p class=\"body-regular-s\">\n {this.#componentLocale?.noObjectsMatchSearch}\n </p>\n </div>\n );\n }\n\n return (\n <div class=\"main-objects-grid\">\n {filteredObjects.map((object, index) => (\n <button\n key={index}\n class=\"object-card elevation-1\"\n onClick={() => this.#handleObjectClick(object)}\n >\n <div class=\"card-header\">\n <div class=\"left\">\n <h1 class=\"name body-semi-bold-s\">{object.name}</h1>\n <h3 class=\"module body-regular-xs\">{object.module}</h3>\n <p class=\"type body-italic-xs\">{object.type}</p>\n </div>\n <div class=\"right\">\n <div class=\"type-container\">\n <ch-image\n class=\"type-icon icon-m\"\n src={this.#getObjectTypeIcon(object)}\n />\n </div>\n </div>\n </div>\n {(object.description || object.angular) && (\n <footer class=\"card-footer\">\n <div class=\"left\">\n {object.description && (\n <p class=\"description body-regular-xs\">\n {object.description}\n </p>\n )}\n </div>\n <div class=\"right\">\n {object.angular && (\n <img src={ANGULAR_LOGO} alt=\"Angular Logotype\" />\n )}\n </div>\n </footer>\n )}\n </button>\n ))}\n {\n // WA: Add empty divs to ensure a minimum of 4 grid items for proper layout\n filteredObjects.length < 4 &&\n Array.from({ length: 4 - filteredObjects.length }).map(\n (_, index) => <div key={`empty-${index}`}></div>\n )\n }\n </div>\n );\n }\n\n /**\n * Renders recent objects section\n */\n #renderRecentObjects() {\n const recentObjects =\n this.objects.find(obj => obj.type === \"recent\")?.objects || [];\n const filteredObjects = recentObjects.filter(obj =>\n this.#filterObjects(obj)\n );\n\n if (recentObjects.length === 0) {\n return (\n <div class=\"no-objects\">\n <p class=\"body-regular-s\">{this.#componentLocale?.noRecentObjects}</p>\n </div>\n );\n }\n\n if (filteredObjects.length === 0) {\n return (\n <div class=\"no-objects\">\n <p class=\"body-regular-s\">\n {this.#componentLocale?.noObjectsMatchSearch}\n </p>\n </div>\n );\n }\n\n const sortedObjects = [...filteredObjects].sort(this.#sortRecentObjects);\n\n return (\n <div class=\"recent-objects-grid-container\">\n <div class=\"tabular-grid-scroll-container\">\n <ch-tabular-grid class=\"tabular-grid elevation-2\">\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId={COLUMN_NAME}\n columnName={this.#componentLocale?.columns?.name || \"Name\"}\n columnNameHidden={false}\n settingable={false}\n sortable\n onColumnSortChanged={this.#handleColumnSortChanged}\n size=\"25%\"\n resizable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId={COLUMN_MODULE}\n columnName={this.#componentLocale?.columns?.module || \"Module\"}\n columnNameHidden={false}\n settingable={false}\n sortable\n onColumnSortChanged={this.#handleColumnSortChanged}\n size=\"20%\"\n resizable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId={COLUMN_TYPE}\n columnName={this.#componentLocale?.columns?.type || \"Type\"}\n columnNameHidden={false}\n settingable={false}\n sortable\n onColumnSortChanged={this.#handleColumnSortChanged}\n size=\"20%\"\n resizable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId={COLUMN_DESCRIPTION}\n columnName={\n this.#componentLocale?.columns?.description || \"Description\"\n }\n columnNameHidden={false}\n settingable={false}\n sortable={false}\n size=\"35%\"\n resizable={false}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {sortedObjects.map((obj, index) => (\n <ch-tabular-grid-row\n rowid={obj.key?.id || index.toString()}\n class=\"tabular-grid-row\"\n onClick={() => this.#handleObjectClick(obj)}\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <div class=\"cell-content\">\n <ch-image\n class=\"object-icon icon-m\"\n src={this.#getObjectTypeIcon(obj)}\n />\n <span class=\"object-name\">{obj.name || \"Unnamed\"}</span>\n </div>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.module || \"\"}\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-row>\n ))}\n </ch-tabular-grid-rowset>\n </ch-tabular-grid>\n </div>\n </div>\n );\n }\n\n render() {\n if (!this.objects || this.objects.length === 0) {\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <div class=\"no-data\">\n <p class=\"body-regular-s\">\n {this.#componentLocale?.noData ||\n \"No web applications data available\"}\n </p>\n </div>\n </Host>\n );\n }\n\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <header class=\"header dialog-header\">\n <div class=\"field field-block\">\n <ch-edit\n class=\"input input-filter\"\n id=\"filter\"\n placeholder={this.#componentLocale?.search || \"Search\"}\n value={this.filterValue}\n accessibleName={this.#componentLocale?.search || \"Search\"}\n onInput={e => (this.filterValue = String(e.detail))}\n />\n </div>\n </header>\n\n <div class=\"main\">\n <ch-accordion-render\n class=\"accordion-filled-header elevation-1 web-apps-accordion\"\n model={[\n {\n id: \"main-objects\",\n caption: \"Main Objects\",\n expanded: true\n },\n {\n id: ACCORDION_RECENT_OBJECTS_ID,\n caption: \"Recent Objects\",\n expanded: this.recentObjectsExpanded\n }\n ]}\n >\n <div slot=\"main-objects\" class=\"accordion-content spacing-body\">\n {this.#renderMainObjects()}\n </div>\n <div\n slot={ACCORDION_RECENT_OBJECTS_ID}\n class=\"accordion-content spacing-body\"\n >\n {this.#renderRecentObjects()}\n </div>\n </ch-accordion-render>\n </div>\n </Host>\n );\n }\n}\n\ninterface WebAppObject {\n name: string;\n module: string;\n type: string;\n description?: string;\n url?: string;\n key?: {\n type: string;\n id: string;\n };\n angular?: boolean;\n}\n\ninterface ObjectType {\n type: \"main\" | \"recent\";\n objects: WebAppObject[];\n}\n"],"version":3}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-75aef097.js');
6
6
 
7
- const listSelectorCss = ":host{display:grid;block-size:100%}.opacity-0{opacity:0}.gxi-hidden{display:none !important}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--font-style-regular);font-size:var(--font-size-body-m);font-family:var(--font-family-body);height:100%;display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.buttons-container{display:flex;gap:var(--spacing-gap-m)}.giu-static-pill-icon-and-text,.giu-static-pill{background-color:var(--elevation-background-color, var(--color-accent-surface-elevation-1));padding-inline:var(--spacing-padding-m);color:var(--color-text-neutral-default);font-size:var(--font-size-body-s);line-height:var(--line-height-relaxed);font-weight:var(--font-style-regular);border-radius:4px;min-block-size:25px;display:inline-grid;align-items:center;pointer-events:none}.giu-static-pill-icon-and-text{display:inline-grid;grid-auto-flow:column;grid-auto-columns:max-content;gap:var(--spacing-gap-m)}.tab-full-width-buttons::part(tab-list block-start),.tab-full-width-buttons::part(tab-list block-end){grid-auto-columns:1fr}.tab-full-width-buttons::part(tab block-start){justify-content:center}.tree-view::part(item__header){--icon__system_warning_warning--disabled:var(\n --icon__system_warning_warning--enabled\n )}.tabular-grid{--focus-outline-width:1px}*,::after,::before{box-sizing:border-box}:host{display:flex;flex-direction:column;max-height:100%;font-size:var(--item__font-size)}.list{border:none;margin:0;padding:0;outline:0;color:var(--color-text-neutral-default);background-color:var(--elevation-background-color, var(--color-accent-surface-elevation-1));border-radius:4px;font-size:var(--font-size-body-m);font-weight:var(--font-style-regular);display:grid;max-height:100%;overflow-y:auto;gap:var(--spacing-gap-xs);padding:var(--spacing-padding-m)}:host([no-list-border]) .list{border:none}";
7
+ const listSelectorCss = ":host{display:grid;block-size:100%}.opacity-0{opacity:0}.gxi-hidden{display:none !important}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--font-style-regular);font-size:var(--font-size-body-m);font-family:var(--font-family-body);height:100%;display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.buttons-container{display:flex;gap:var(--spacing-gap-m)}.giu-static-pill-icon-and-text,.giu-static-pill{background-color:var(--elevation-background-color, var(--color-accent-surface-elevation-1));padding-inline:var(--spacing-padding-m);color:var(--color-text-neutral-default);font-size:var(--font-size-body-s);line-height:var(--line-height-relaxed);font-weight:var(--font-style-regular);border-radius:4px;min-block-size:25px;display:inline-grid;align-items:center;pointer-events:none;inline-size:max-content}.giu-static-pill-icon-and-text{display:inline-grid;grid-auto-flow:column;grid-auto-columns:max-content;gap:var(--spacing-gap-m)}.tab-full-width-buttons::part(tab-list block-start),.tab-full-width-buttons::part(tab-list block-end){grid-auto-columns:1fr}.tab-full-width-buttons::part(tab block-start){justify-content:center}.tree-view::part(item__header){--icon__system_warning_warning--disabled:var(\n --icon__system_warning_warning--enabled\n )}.tabular-grid{--focus-outline-width:1px}*,::after,::before{box-sizing:border-box}:host{display:flex;flex-direction:column;max-height:100%;font-size:var(--item__font-size)}.list{border:none;margin:0;padding:0;outline:0;color:var(--color-text-neutral-default);background-color:var(--elevation-background-color, var(--color-accent-surface-elevation-1));border-radius:4px;font-size:var(--font-size-body-m);font-weight:var(--font-style-regular);display:grid;max-height:100%;overflow-y:auto;gap:var(--spacing-gap-xs);padding:var(--spacing-padding-m)}:host([no-list-border]) .list{border:none}";
8
8
 
9
9
  const CSS_BUNDLES$1 = [
10
10
  "resets/box-sizing",
@@ -1 +1 @@
1
- {"file":"gx-ide-list-selector.gx-ide-list-selector-item.entry.cjs.js","mappings":"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","names":["CSS_BUNDLES","h","Host"],"sources":["src/components/_helpers/list-selector/list-selector.scss?tag=gx-ide-list-selector&encapsulation=shadow","src/components/_helpers/list-selector/list-selector.tsx","src/components/_helpers/list-selector/list-selector-item/list-selector-item.scss?tag=gx-ide-list-selector-item","src/components/_helpers/list-selector/list-selector-item/list-selector-item.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-mixins.scss\";\n@import \"../../../global/gx-ide-common.scss\";\n@include box-sizing;\n\n:host {\n display: flex;\n flex-direction: column;\n max-height: 100%;\n font-size: var(--item__font-size);\n}\n.list {\n // reset defaults\n border: none;\n margin: 0;\n padding: 0;\n outline: 0;\n // /reset defaults\n\n // base component styles\n color: var(--color-text-neutral-default);\n background-color: var(\n --elevation-background-color,\n var(--color-accent-surface-elevation-1)\n );\n border-radius: 4px;\n font-size: var(--font-size-body-m);\n font-weight: var(--font-style-regular);\n // /base component styles\n\n display: grid;\n max-height: 100%;\n overflow-y: auto;\n gap: var(--spacing-gap-xs);\n padding: var(--spacing-padding-m);\n}\n/*no border*/\n:host([no-list-border]) {\n .list {\n border: none;\n }\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Listen,\n // Watch,\n Element,\n Event,\n EventEmitter\n} from \"@stencil/core\";\n\n// Custom Imports\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { ItemData } from \"./list-selector-item/list-selector-item\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-list-selector\",\n styleUrl: \"list-selector.scss\",\n shadow: true\n})\nexport class GxIdeListSelector {\n @Element() el: HTMLGxIdeListSelectorElement;\n\n /**\n * It determines if the list is ordered, or unordered\n */\n @Prop() readonly ordered: boolean = false;\n\n /**\n * Makes the list readonly\n */\n @Prop() readonly readonly: boolean = false;\n\n /**\n * It determines the type of list: single-selection or multi-selection\n */\n @Prop() readonly type: \"single-selection\" | \"multi-selection\" =\n \"single-selection\";\n\n /**\n * Makes the list required\n */\n @Prop() readonly required: boolean = false;\n\n /**\n * The presence of this property will force all the items to not-wrap, and have ellipsis\n */\n @Prop() readonly ellipsis: boolean = false;\n\n /**\n * The value of the initial (or initials) checked list-item/s\n */\n @Prop({ mutable: true }) value: string | string[];\n\n // @Watch(\"value\")\n // valueHandler(newValue: string) {\n // const foundItem = this.getItemByValue(newValue);\n // if (foundItem) {\n // const input = foundItem.querySelector(\"input\");\n // input.checked = true;\n // }\n // }\n\n /**\n * The name of this list. This is a required attribute for the list to work.\n */\n @Prop() readonly listName!: string;\n\n /**\n * Disables the items border\n */\n @Prop() readonly noItemsBorder: boolean = false;\n\n /**\n * Disables the list border\n */\n @Prop({ reflect: true }) readonly noListBorder: boolean = false;\n\n /**\n * Emits the actual selection\n */\n @Event() selectionChanged: EventEmitter<CheckedItemsInfo>;\n\n componentWillLoad() {\n this.evaluateChecked();\n this.evaluateInitialValue();\n }\n\n @Listen(\"itemSelectionChanged\", { capture: true })\n itemSelectionChangedHandler(event: CustomEvent<ItemData>) {\n event.stopPropagation();\n const selectedItem = event.detail;\n if (this.type === \"single-selection\") {\n this.clearPrevSelected(selectedItem);\n }\n const checkedItemsInfo: CheckedItemsInfo = [];\n const checkedItems: HTMLGxIdeListSelectorItemElement[] = this.getChecked();\n const newValue: string | string[] = [];\n checkedItems.forEach(item => {\n const value = item.itemValue;\n newValue.push(value);\n checkedItemsInfo.push({\n itemId: item.itemId,\n itemValue: value,\n itemIcon: item.icon,\n itemChecked: true\n });\n });\n /* update this.value*/\n if (this.type === \"single-selection\" && newValue.length > 0) {\n this.value = newValue[0] || undefined;\n } else {\n /* multi-selection*/\n this.value = newValue;\n }\n /* emit selectionChanged*/\n this.selectionChanged.emit(checkedItemsInfo);\n }\n\n /**\n * It evaluates the checked items, and checks or unchecks if needed\n */\n private evaluateChecked = () => {\n const allListItems = Array.from(\n this.el.querySelectorAll(\"gx-ide-list-selector-item\")\n );\n const checkedItems = allListItems.filter(item => item.itemChecked);\n /**\n * INDEX\n * 1.required and no one checked\n * 2.single-selection, and more than one checked\n */\n\n /* 1.required and no one checked*/\n if (this.required && checkedItems.length === 0) {\n allListItems[0].itemChecked = true;\n } else if (this.type === \"single-selection\" && checkedItems.length > 1) {\n /* 2.single-selection, and more than one checked*/\n checkedItems.forEach((item, i) => {\n if (i !== 0) {\n item.itemChecked = false;\n }\n });\n }\n };\n\n /**\n * It evaluates the initial value/s\n */\n private evaluateInitialValue = () => {\n const checkedItems = this.getChecked();\n if (this.type === \"single-selection\" && checkedItems.length > 0) {\n this.value = checkedItems[0].itemValue;\n } else if (this.type === \"multi-selection\" && checkedItems.length > 0) {\n const values: string[] = [];\n checkedItems.forEach(checked => {\n values.push(checked.itemValue);\n });\n this.value = values;\n }\n };\n\n private getChecked = (): HTMLGxIdeListSelectorItemElement[] => {\n const checkedItems: HTMLGxIdeListSelectorItemElement[] = [];\n const allItems = this.el.querySelectorAll(\"gx-ide-list-selector-item\");\n allItems.forEach(item => {\n if (item.itemChecked) {\n checkedItems.push(item);\n }\n });\n return checkedItems;\n };\n\n private clearPrevSelected = (currentSelected: ItemData) => {\n const allItems = this.el.querySelectorAll(\"gx-ide-list-selector-item\");\n allItems.forEach(item => {\n if (item.itemChecked && item.itemId !== currentSelected.itemId) {\n item.itemChecked = false;\n }\n });\n };\n\n render() {\n const listClases = \"list scrollable\";\n return (\n <Host exportparts=\"input:input\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n {this.ordered ? (\n <ol class={listClases} part=\"list\">\n <slot></slot>\n </ol>\n ) : (\n <ul class={listClases} part=\"list\">\n <slot></slot>\n </ul>\n )}\n </Host>\n );\n }\n}\n\nexport type CheckedItemsInfo = ItemData[];\n","@import \"../../../../global/gx-ide-mixins.scss\";\n@import \"../../../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n\n@include box-sizing;\n\ngx-ide-list-selector-item {\n display: block;\n max-width: 100%;\n display: flex;\n\n &:hover {\n .label {\n background-color: var(--color-accent-item-hover);\n cursor: pointer;\n }\n input:checked + .label {\n border-color: var(--color-accent-item-hover);\n }\n }\n\n &:active {\n .label {\n background-color: transparent;\n color: var(--color-text-primary-pressed);\n }\n }\n}\n\n/*readonly*/\ngx-ide-list-selector-item[readonly]:not([readonly=\"false\"]) {\n .label {\n pointer-events: none;\n background-color: transparent;\n }\n}\n/*ellipsis*/\ngx-ide-list-selector-item[ellipsis]:not([ellipsis=\"false\"]) {\n .label {\n &__description {\n @include ellipsis;\n }\n }\n}\n\ngx-ide-list-selector-item input {\n width: 0;\n height: 0;\n opacity: 0;\n margin: 0;\n\n &:focus + .label {\n @include focus-outline();\n }\n &:checked + .label {\n background-color: var(--color-accent-item-selected);\n }\n &:checked:hover + .label {\n color: var(--color-accent-primary-on-hover);\n }\n}\n\n/*label-wrapper*/\ngx-ide-list-selector-item .label {\n width: 100%;\n border-radius: 4px;\n}\n\n/*label*/\ngx-ide-list-selector-item .label {\n &__index {\n }\n &__wrapper {\n display: flex;\n min-height: 28px; /*this prevents height difference between items that have icons and items that do not*/\n align-items: center;\n gap: var(--spacing-gap-m);\n padding: 4px 8px;\n width: 100%;\n }\n &__description {\n flex: 1;\n display: flex;\n align-items: center;\n gap: var(--spacing-gap-m);\n }\n}\n\n/*no border*/\ngx-ide-list-selector-item[no-border] {\n border-block-start: none;\n}\n\n/*universal slot*/\ngx-ide-list-selector-item .label__universal-slot {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Element\n} from \"@stencil/core\";\n\nimport { MercuryBundles } from \"@genexus/mercury\";\n\nconst CSS_BUNDLES: MercuryBundles = [\"resets/box-sizing\", \"components/icon\"];\n\n@Component({\n tag: \"gx-ide-list-selector-item\",\n styleUrl: \"list-selector-item.scss\",\n shadow: false\n})\nexport class GxIdeListSelectorItem {\n // 1.OWN PROPERTIES | WATCH'S //\n\n private parentIsListSelector: boolean;\n private parentList: HTMLGxIdeListSelectorElement;\n private checked: boolean;\n private name: string;\n private type: string;\n private hasUniversalSlot = false;\n private index: string = undefined;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeListSelectorItemElement;\n\n // 3.STATE() VARIABLES //\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * The item id\n */\n @Prop({ reflect: true }) readonly itemId!: string;\n\n /**\n * The item value, that acts as a label as well\n */\n @Prop() readonly itemValue!: string;\n\n /**\n * This will set the input as checked\n */\n @Prop({ mutable: true }) itemChecked = false;\n\n /**\n * It allows to select the item by clicking on it. It will emit the item-id\n */\n @Prop({ mutable: true, reflect: true }) readonly: boolean;\n\n /**\n * The presence of this property will force the item text to not-wrap, and have ellipsis\n */\n @Prop({ mutable: true, reflect: true }) ellipsis: boolean;\n\n /**\n * The gemini icon name\n */\n @Prop() readonly icon: string;\n\n /**\n * Disables the item border\n */\n @Prop({ mutable: true, reflect: true }) noBorder = false;\n\n /**\n * Displays the universal slot at the end, instead of at the benign\n */\n @Prop({ reflect: true }) readonly universalSlotEnd = false;\n\n // 5.EVENTS (EMIT) //\n\n componentWillLoad() {\n this.evaluateParentIsListSelector();\n this.evaluateType();\n this.evaluateSelectable();\n this.evaluateEllipsis();\n this.evaluateChecked();\n this.evaluateBorder();\n this.evaluateUniversalSlot();\n this.assignName();\n this.evaluateOrderedList();\n }\n\n /**\n * Emits the item data\n */\n @Event() itemSelectionChanged: EventEmitter<ItemData>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n /**\n * Checks if this item parentElement is a gx-ide-list-selector, and assigns a reference\n */\n private evaluateParentIsListSelector = () => {\n const parentList = this.el.parentElement as HTMLGxIdeListSelectorElement;\n this.parentIsListSelector = parentList?.nodeName === \"GX-IDE-LIST-SELECTOR\";\n this.parentIsListSelector && (this.parentList = parentList);\n };\n\n /**\n * Determines the type of item, based on the parent list-selector 'type' property value\n */\n private evaluateType = () => {\n const parentList: HTMLGxIdeListSelectorElement = this.el\n .parentElement as HTMLGxIdeListSelectorElement;\n this.type = parentList.type === \"single-selection\" ? \"radio\" : \"checkbox\";\n };\n\n /**\n * Evaluates if is selectable, considering the parent list-selector 'selectable' property value, only if it is undefined on this item\n */\n private evaluateSelectable = () => {\n if (this.readonly === undefined && this.parentIsListSelector) {\n this.readonly = this.parentList.readonly;\n }\n };\n\n /**\n * Evaluates if text should truncate with ellipsis, considering the parent list-selector 'ellipsis' property value, only if it is undefined on this item\n */\n private evaluateEllipsis = () => {\n if (this.ellipsis === undefined && this.parentIsListSelector) {\n this.ellipsis = this.parentList.ellipsis;\n }\n };\n\n /**\n * Evaluates if this item should be initially checked, only if the parent list-selector listValue equals this item value.\n */\n private evaluateChecked = () => {\n if (\n this.checked === undefined &&\n this.parentIsListSelector &&\n this.parentList.value !== undefined &&\n this.parentList.value === this.itemValue\n ) {\n this.checked = true;\n }\n };\n\n private evaluateBorder = () => {\n if (this.parentIsListSelector) {\n this.noBorder = this.parentList.noItemsBorder;\n }\n };\n\n private evaluateUniversalSlot = () => {\n this.hasUniversalSlot = !!this.el.querySelector(\"[slot=universal]\");\n };\n\n /**\n * Gets the listName required value, that is needed for the list selection to properly work\n */\n private assignName = () => {\n this.parentIsListSelector &&\n this.parentList.listName &&\n (this.name = this.parentList.listName);\n };\n\n private evaluateOrderedList = () => {\n if (this.parentIsListSelector && this.parentList.ordered) {\n let index: number | string =\n Array.from(this.parentList.children).indexOf(this.el) + 1;\n if (index < 10) {\n // This will make descriptions to be nicely aligned, between one digit, and two digit indexes items.\n index = `0${index}`;\n } else {\n index = `${index}`;\n }\n this.index = index;\n }\n };\n\n private onChangeHandler = (e: Event) => {\n this.itemChecked = (e.target as HTMLInputElement).checked;\n this.itemSelectionChanged.emit({\n itemId: this.itemId,\n itemValue: this.itemValue,\n itemIcon: this.icon,\n itemChecked: this.itemChecked\n });\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host role=\"listitem\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <input\n type={this.type}\n id={this.itemId}\n name={this.name}\n value={this.itemValue}\n checked={this.itemChecked}\n onChange={this.onChangeHandler}\n disabled={this.readonly}\n part=\"input\"\n />\n <label class=\"label\" htmlFor={this.itemId} part=\"label\">\n <div class=\"label__wrapper\">\n {this.index ? (\n <span class=\"label__index\">{this.index}. </span>\n ) : null}\n {this.hasUniversalSlot ? (\n <span class=\"label__universal-slot\" part=\"universal-slot\">\n <slot name=\"universal\"></slot>\n </span>\n ) : null}\n {this.icon ? (\n <ch-image class=\"icon-s\" src={this.icon} part=\"icon\"></ch-image>\n ) : null}\n <span class=\"label__description\" part=\"description\">\n {this.itemValue ? this.itemValue : <slot></slot>}\n </span>\n </div>\n </label>\n </Host>\n );\n }\n}\n\nexport type ItemData = {\n itemId: string;\n itemValue: string;\n itemIcon?: string;\n itemChecked: boolean;\n};\n"],"version":3}
1
+ {"file":"gx-ide-list-selector.gx-ide-list-selector-item.entry.cjs.js","mappings":"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","names":["CSS_BUNDLES","h","Host"],"sources":["src/components/_helpers/list-selector/list-selector.scss?tag=gx-ide-list-selector&encapsulation=shadow","src/components/_helpers/list-selector/list-selector.tsx","src/components/_helpers/list-selector/list-selector-item/list-selector-item.scss?tag=gx-ide-list-selector-item","src/components/_helpers/list-selector/list-selector-item/list-selector-item.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-mixins.scss\";\n@import \"../../../global/gx-ide-common.scss\";\n@include box-sizing;\n\n:host {\n display: flex;\n flex-direction: column;\n max-height: 100%;\n font-size: var(--item__font-size);\n}\n.list {\n // reset defaults\n border: none;\n margin: 0;\n padding: 0;\n outline: 0;\n // /reset defaults\n\n // base component styles\n color: var(--color-text-neutral-default);\n background-color: var(\n --elevation-background-color,\n var(--color-accent-surface-elevation-1)\n );\n border-radius: 4px;\n font-size: var(--font-size-body-m);\n font-weight: var(--font-style-regular);\n // /base component styles\n\n display: grid;\n max-height: 100%;\n overflow-y: auto;\n gap: var(--spacing-gap-xs);\n padding: var(--spacing-padding-m);\n}\n/*no border*/\n:host([no-list-border]) {\n .list {\n border: none;\n }\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Listen,\n // Watch,\n Element,\n Event,\n EventEmitter\n} from \"@stencil/core\";\n\n// Custom Imports\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { ItemData } from \"./list-selector-item/list-selector-item\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-list-selector\",\n styleUrl: \"list-selector.scss\",\n shadow: true\n})\nexport class GxIdeListSelector {\n @Element() el: HTMLGxIdeListSelectorElement;\n\n /**\n * It determines if the list is ordered, or unordered\n */\n @Prop() readonly ordered: boolean = false;\n\n /**\n * Makes the list readonly\n */\n @Prop() readonly readonly: boolean = false;\n\n /**\n * It determines the type of list: single-selection or multi-selection\n */\n @Prop() readonly type: \"single-selection\" | \"multi-selection\" =\n \"single-selection\";\n\n /**\n * Makes the list required\n */\n @Prop() readonly required: boolean = false;\n\n /**\n * The presence of this property will force all the items to not-wrap, and have ellipsis\n */\n @Prop() readonly ellipsis: boolean = false;\n\n /**\n * The value of the initial (or initials) checked list-item/s\n */\n @Prop({ mutable: true }) value: string | string[];\n\n // @Watch(\"value\")\n // valueHandler(newValue: string) {\n // const foundItem = this.getItemByValue(newValue);\n // if (foundItem) {\n // const input = foundItem.querySelector(\"input\");\n // input.checked = true;\n // }\n // }\n\n /**\n * The name of this list. This is a required attribute for the list to work.\n */\n @Prop() readonly listName!: string;\n\n /**\n * Disables the items border\n */\n @Prop() readonly noItemsBorder: boolean = false;\n\n /**\n * Disables the list border\n */\n @Prop({ reflect: true }) readonly noListBorder: boolean = false;\n\n /**\n * Emits the actual selection\n */\n @Event() selectionChanged: EventEmitter<CheckedItemsInfo>;\n\n componentWillLoad() {\n this.evaluateChecked();\n this.evaluateInitialValue();\n }\n\n @Listen(\"itemSelectionChanged\", { capture: true })\n itemSelectionChangedHandler(event: CustomEvent<ItemData>) {\n event.stopPropagation();\n const selectedItem = event.detail;\n if (this.type === \"single-selection\") {\n this.clearPrevSelected(selectedItem);\n }\n const checkedItemsInfo: CheckedItemsInfo = [];\n const checkedItems: HTMLGxIdeListSelectorItemElement[] = this.getChecked();\n const newValue: string | string[] = [];\n checkedItems.forEach(item => {\n const value = item.itemValue;\n newValue.push(value);\n checkedItemsInfo.push({\n itemId: item.itemId,\n itemValue: value,\n itemIcon: item.icon,\n itemChecked: true\n });\n });\n /* update this.value*/\n if (this.type === \"single-selection\" && newValue.length > 0) {\n this.value = newValue[0] || undefined;\n } else {\n /* multi-selection*/\n this.value = newValue;\n }\n /* emit selectionChanged*/\n this.selectionChanged.emit(checkedItemsInfo);\n }\n\n /**\n * It evaluates the checked items, and checks or unchecks if needed\n */\n private evaluateChecked = () => {\n const allListItems = Array.from(\n this.el.querySelectorAll(\"gx-ide-list-selector-item\")\n );\n const checkedItems = allListItems.filter(item => item.itemChecked);\n /**\n * INDEX\n * 1.required and no one checked\n * 2.single-selection, and more than one checked\n */\n\n /* 1.required and no one checked*/\n if (this.required && checkedItems.length === 0) {\n allListItems[0].itemChecked = true;\n } else if (this.type === \"single-selection\" && checkedItems.length > 1) {\n /* 2.single-selection, and more than one checked*/\n checkedItems.forEach((item, i) => {\n if (i !== 0) {\n item.itemChecked = false;\n }\n });\n }\n };\n\n /**\n * It evaluates the initial value/s\n */\n private evaluateInitialValue = () => {\n const checkedItems = this.getChecked();\n if (this.type === \"single-selection\" && checkedItems.length > 0) {\n this.value = checkedItems[0].itemValue;\n } else if (this.type === \"multi-selection\" && checkedItems.length > 0) {\n const values: string[] = [];\n checkedItems.forEach(checked => {\n values.push(checked.itemValue);\n });\n this.value = values;\n }\n };\n\n private getChecked = (): HTMLGxIdeListSelectorItemElement[] => {\n const checkedItems: HTMLGxIdeListSelectorItemElement[] = [];\n const allItems = this.el.querySelectorAll(\"gx-ide-list-selector-item\");\n allItems.forEach(item => {\n if (item.itemChecked) {\n checkedItems.push(item);\n }\n });\n return checkedItems;\n };\n\n private clearPrevSelected = (currentSelected: ItemData) => {\n const allItems = this.el.querySelectorAll(\"gx-ide-list-selector-item\");\n allItems.forEach(item => {\n if (item.itemChecked && item.itemId !== currentSelected.itemId) {\n item.itemChecked = false;\n }\n });\n };\n\n render() {\n const listClases = \"list scrollable\";\n return (\n <Host exportparts=\"input:input\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n {this.ordered ? (\n <ol class={listClases} part=\"list\">\n <slot></slot>\n </ol>\n ) : (\n <ul class={listClases} part=\"list\">\n <slot></slot>\n </ul>\n )}\n </Host>\n );\n }\n}\n\nexport type CheckedItemsInfo = ItemData[];\n","@import \"../../../../global/gx-ide-mixins.scss\";\n@import \"../../../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n\n@include box-sizing;\n\ngx-ide-list-selector-item {\n display: block;\n max-width: 100%;\n display: flex;\n\n &:hover {\n .label {\n background-color: var(--color-accent-item-hover);\n cursor: pointer;\n }\n input:checked + .label {\n border-color: var(--color-accent-item-hover);\n }\n }\n\n &:active {\n .label {\n background-color: transparent;\n color: var(--color-text-primary-pressed);\n }\n }\n}\n\n/*readonly*/\ngx-ide-list-selector-item[readonly]:not([readonly=\"false\"]) {\n .label {\n pointer-events: none;\n background-color: transparent;\n }\n}\n/*ellipsis*/\ngx-ide-list-selector-item[ellipsis]:not([ellipsis=\"false\"]) {\n .label {\n &__description {\n @include ellipsis;\n }\n }\n}\n\ngx-ide-list-selector-item input {\n width: 0;\n height: 0;\n opacity: 0;\n margin: 0;\n\n &:focus + .label {\n @include focus-outline();\n }\n &:checked + .label {\n background-color: var(--color-accent-item-selected);\n }\n &:checked:hover + .label {\n color: var(--color-accent-primary-on-hover);\n }\n}\n\n/*label-wrapper*/\ngx-ide-list-selector-item .label {\n width: 100%;\n border-radius: 4px;\n}\n\n/*label*/\ngx-ide-list-selector-item .label {\n &__index {\n }\n &__wrapper {\n display: flex;\n min-height: 28px; /*this prevents height difference between items that have icons and items that do not*/\n align-items: center;\n gap: var(--spacing-gap-m);\n padding: 4px 8px;\n width: 100%;\n }\n &__description {\n flex: 1;\n display: flex;\n align-items: center;\n gap: var(--spacing-gap-m);\n }\n}\n\n/*no border*/\ngx-ide-list-selector-item[no-border] {\n border-block-start: none;\n}\n\n/*universal slot*/\ngx-ide-list-selector-item .label__universal-slot {\n display: flex;\n align-items: center;\n justify-content: center;\n}\n","// Stencil\nimport {\n Component,\n Host,\n h,\n Prop,\n Event,\n EventEmitter,\n Element\n} from \"@stencil/core\";\n\nimport { MercuryBundles } from \"@genexus/mercury\";\n\nconst CSS_BUNDLES: MercuryBundles = [\"resets/box-sizing\", \"components/icon\"];\n\n@Component({\n tag: \"gx-ide-list-selector-item\",\n styleUrl: \"list-selector-item.scss\",\n shadow: false\n})\nexport class GxIdeListSelectorItem {\n // 1.OWN PROPERTIES | WATCH'S //\n\n private parentIsListSelector: boolean;\n private parentList: HTMLGxIdeListSelectorElement;\n private checked: boolean;\n private name: string;\n private type: string;\n private hasUniversalSlot = false;\n private index: string = undefined;\n\n // 2. REFERENCE TO ELEMENTS //\n\n @Element() el: HTMLGxIdeListSelectorItemElement;\n\n // 3.STATE() VARIABLES //\n\n // 4.PUBLIC PROPERTY API | WATCH'S //\n\n /**\n * The item id\n */\n @Prop({ reflect: true }) readonly itemId!: string;\n\n /**\n * The item value, that acts as a label as well\n */\n @Prop() readonly itemValue!: string;\n\n /**\n * This will set the input as checked\n */\n @Prop({ mutable: true }) itemChecked = false;\n\n /**\n * It allows to select the item by clicking on it. It will emit the item-id\n */\n @Prop({ mutable: true, reflect: true }) readonly: boolean;\n\n /**\n * The presence of this property will force the item text to not-wrap, and have ellipsis\n */\n @Prop({ mutable: true, reflect: true }) ellipsis: boolean;\n\n /**\n * The gemini icon name\n */\n @Prop() readonly icon: string;\n\n /**\n * Disables the item border\n */\n @Prop({ mutable: true, reflect: true }) noBorder = false;\n\n /**\n * Displays the universal slot at the end, instead of at the benign\n */\n @Prop({ reflect: true }) readonly universalSlotEnd = false;\n\n // 5.EVENTS (EMIT) //\n\n componentWillLoad() {\n this.evaluateParentIsListSelector();\n this.evaluateType();\n this.evaluateSelectable();\n this.evaluateEllipsis();\n this.evaluateChecked();\n this.evaluateBorder();\n this.evaluateUniversalSlot();\n this.assignName();\n this.evaluateOrderedList();\n }\n\n /**\n * Emits the item data\n */\n @Event() itemSelectionChanged: EventEmitter<ItemData>;\n\n // 6.COMPONENT LIFECYCLE METHODS //\n\n // 7.LISTENERS //\n\n // 8.PUBLIC METHODS API //\n\n // 9.LOCAL METHODS //\n\n /**\n * Checks if this item parentElement is a gx-ide-list-selector, and assigns a reference\n */\n private evaluateParentIsListSelector = () => {\n const parentList = this.el.parentElement as HTMLGxIdeListSelectorElement;\n this.parentIsListSelector = parentList?.nodeName === \"GX-IDE-LIST-SELECTOR\";\n this.parentIsListSelector && (this.parentList = parentList);\n };\n\n /**\n * Determines the type of item, based on the parent list-selector 'type' property value\n */\n private evaluateType = () => {\n const parentList: HTMLGxIdeListSelectorElement = this.el\n .parentElement as HTMLGxIdeListSelectorElement;\n this.type = parentList.type === \"single-selection\" ? \"radio\" : \"checkbox\";\n };\n\n /**\n * Evaluates if is selectable, considering the parent list-selector 'selectable' property value, only if it is undefined on this item\n */\n private evaluateSelectable = () => {\n if (this.readonly === undefined && this.parentIsListSelector) {\n this.readonly = this.parentList.readonly;\n }\n };\n\n /**\n * Evaluates if text should truncate with ellipsis, considering the parent list-selector 'ellipsis' property value, only if it is undefined on this item\n */\n private evaluateEllipsis = () => {\n if (this.ellipsis === undefined && this.parentIsListSelector) {\n this.ellipsis = this.parentList.ellipsis;\n }\n };\n\n /**\n * Evaluates if this item should be initially checked, only if the parent list-selector listValue equals this item value.\n */\n private evaluateChecked = () => {\n if (\n this.checked === undefined &&\n this.parentIsListSelector &&\n this.parentList.value !== undefined &&\n this.parentList.value === this.itemValue\n ) {\n this.checked = true;\n }\n };\n\n private evaluateBorder = () => {\n if (this.parentIsListSelector) {\n this.noBorder = this.parentList.noItemsBorder;\n }\n };\n\n private evaluateUniversalSlot = () => {\n this.hasUniversalSlot = !!this.el.querySelector(\"[slot=universal]\");\n };\n\n /**\n * Gets the listName required value, that is needed for the list selection to properly work\n */\n private assignName = () => {\n this.parentIsListSelector &&\n this.parentList.listName &&\n (this.name = this.parentList.listName);\n };\n\n private evaluateOrderedList = () => {\n if (this.parentIsListSelector && this.parentList.ordered) {\n let index: number | string =\n Array.from(this.parentList.children).indexOf(this.el) + 1;\n if (index < 10) {\n // This will make descriptions to be nicely aligned, between one digit, and two digit indexes items.\n index = `0${index}`;\n } else {\n index = `${index}`;\n }\n this.index = index;\n }\n };\n\n private onChangeHandler = (e: Event) => {\n this.itemChecked = (e.target as HTMLInputElement).checked;\n this.itemSelectionChanged.emit({\n itemId: this.itemId,\n itemValue: this.itemValue,\n itemIcon: this.icon,\n itemChecked: this.itemChecked\n });\n };\n\n // 10.RENDER() FUNCTION //\n\n render() {\n return (\n <Host role=\"listitem\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <input\n type={this.type}\n id={this.itemId}\n name={this.name}\n value={this.itemValue}\n checked={this.itemChecked}\n onChange={this.onChangeHandler}\n disabled={this.readonly}\n part=\"input\"\n />\n <label class=\"label\" htmlFor={this.itemId} part=\"label\">\n <div class=\"label__wrapper\">\n {this.index ? (\n <span class=\"label__index\">{this.index}. </span>\n ) : null}\n {this.hasUniversalSlot ? (\n <span class=\"label__universal-slot\" part=\"universal-slot\">\n <slot name=\"universal\"></slot>\n </span>\n ) : null}\n {this.icon ? (\n <ch-image class=\"icon-s\" src={this.icon} part=\"icon\"></ch-image>\n ) : null}\n <span class=\"label__description\" part=\"description\">\n {this.itemValue ? this.itemValue : <slot></slot>}\n </span>\n </div>\n </label>\n </Host>\n );\n }\n}\n\nexport type ItemData = {\n itemId: string;\n itemValue: string;\n itemIcon?: string;\n itemChecked: boolean;\n};\n"],"version":3}
@@ -4,7 +4,7 @@ Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  const index = require('./index-75aef097.js');
6
6
 
7
- const ideLoaderCss = ".loader__wrapper{position:absolute;border:none;opacity:0;transition:var(--show-transition) opacity;inline-size:100%;block-size:100%;display:flex;background-color:var(--elevation-background-color, var(--color-accent-surface-surface));padding:var(--spacing-padding-xxxl);flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;color:var(--color-text-neutral-default);z-index:99;animation:fadeIn var(--timing-fast) forwards}.loader__wrapper--visible{opacity:1}.loader__spinner{border:4px solid var(--elevation-border-color, var(--color-border-surface-on-surface));border-block-start:4px solid var(--color-border-primary-default);border-radius:50%;animation:spinner 0.6s infinite linear;inline-size:32px;block-size:32px;flex-shrink:0;opacity:1}.loader__content-wrapper{display:flex;text-align:center;flex-direction:column;margin-block-start:16px;gap:var(--spacing-gap-m);max-block-size:400px;opacity:1}.loader__content-wrapper--hidden{display:none}.loader__cancel-button{margin-block-start:8px}@keyframes spinner{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}@keyframes fadeIn{0%{opacity:0}}";
7
+ const ideLoaderCss = "button.button-secondary{border-color:var(--color-border-neutral-default)}.loader__wrapper{position:absolute;border:none;opacity:0;transition:var(--show-transition) opacity;inline-size:100%;block-size:100%;display:flex;background-color:var(--elevation-background-color, var(--color-accent-surface-surface));padding:var(--spacing-padding-xxxl);flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;color:var(--color-text-neutral-default);z-index:99;animation:fadeIn var(--timing-fast) forwards}.loader__wrapper--visible{opacity:1}.loader__spinner{border:4px solid var(--elevation-border-color, var(--color-border-surface-on-surface));border-block-start:4px solid var(--color-border-primary-default);border-radius:50%;animation:spinner 0.6s infinite linear;inline-size:32px;block-size:32px;flex-shrink:0;opacity:1}.loader__content-wrapper{display:flex;text-align:center;flex-direction:column;margin-block-start:16px;gap:var(--spacing-gap-m);max-block-size:400px;opacity:1}.loader__content-wrapper--hidden{display:none}.loader__cancel-button{margin-block-start:8px}@keyframes spinner{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}@keyframes fadeIn{0%{opacity:0}}";
8
8
 
9
9
  var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
10
10
  if (kind === "a" && !f)
@@ -1 +1 @@
1
- {"file":"gx-ide-loader.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,YAAY,GAAG,0mCAA0mC;;;;;;;;;;ACY/nC,MAAM,WAAW,GAAmB;IAClC,mBAAmB;IACnB,mBAAmB;IACnB,kBAAkB;CACnB,CAAC;MAMW,SAAS;;;;QACpB,8CAAiD;QA0CjD,mCAAiB;YACf,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB;YACD,YAAY,CAAC,uBAAA,IAAI,mCAAkB,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;SACnB,EAAC;QAEF,wCAAsB,MACpB,IAAI,CAAC,WAAW,KACdA,qBACEA,oBACE,KAAK,EAAC,wCAAwC,EAC9C,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,uBAAA,IAAI,gCAAe,IAE3B,IAAI,CAAC,WAAW,CACV,CACL,CACP,EAAC;QAEJ,uCAAqB,MACnB,IAAI,CAAC,WAAW,IAAIA,eAAG,KAAK,EAAC,uBAAuB,IAAE,IAAI,CAAC,WAAW,CAAK,EAAC;QAE9E,iCAAe,MACb,IAAI,CAAC,WAAW,IAAIA,eAAG,KAAK,EAAC,gBAAgB,IAAE,IAAI,CAAC,WAAW,CAAK,EAAC;2BA9DhD,IAAI;yBAKU,CAAC,GAAG,EAAE,GAAG,IAAI;;;;;oBAyBlB,KAAK;;IAkCrC,MAAM;QACJ,QACEA,QAACC,UAAI,QACHD,sBAAU,KAAK,EAAE,WAAW,GAAa,EACxC,IAAI,CAAC,IAAI,KACRA,iBACE,KAAK,EAAE;gBACL,CAAC,iBAAiB,GAAG,IAAI;gBACzB,0BAA0B,EAAE,IAAI,CAAC,WAAW;aAC7C,EACD,IAAI,EAAC,gBAAgB,EACrB,OAAO,EAAC,EAAE,IAEVA,iBAAK,KAAK,EAAC,iBAAiB,GAAO,EACnCA,iBACE,KAAK,EAAE;gBACL,yBAAyB,EAAE,IAAI;gBAC/B,iCAAiC,EAC/B,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW;aAC9D,IAEA,uBAAA,IAAI,8BAAa,MAAjB,IAAI,CAAe,EACnB,uBAAA,IAAI,oCAAmB,MAAvB,IAAI,CAAqB,EACzB,uBAAA,IAAI,qCAAoB,MAAxB,IAAI,CAAsB,CACvB,CACF,CACP,CACI,EACP;KACH;;;;;;;","names":["h","Host"],"sources":["src/components/_helpers/ide-loader/ide-loader.scss?tag=gx-ide-loader&encapsulation=shadow","src/components/_helpers/ide-loader/ide-loader.tsx"],"sourcesContent":[".loader {\n &__wrapper {\n position: absolute;\n border: none;\n opacity: 0;\n transition: var(--show-transition) opacity;\n inline-size: 100%;\n block-size: 100%;\n display: flex;\n background-color: var(\n --elevation-background-color,\n var(--color-accent-surface-surface)\n );\n // backdrop-filter: var(); TODO: See if we need to add this.\n padding: var(--spacing-padding-xxxl);\n flex-direction: column;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n color: var(--color-text-neutral-default);\n z-index: 99; // WA to prevent tree-view chevron arrow to appear above.\n animation: fadeIn var(--timing-fast) forwards;\n\n &--visible {\n opacity: 1;\n }\n }\n &__spinner {\n $spinnerSize: 32px;\n border: 4px solid\n var(--elevation-border-color, var(--color-border-surface-on-surface));\n border-block-start: 4px solid var(--color-border-primary-default);\n border-radius: 50%;\n animation: spinner 0.6s infinite linear;\n inline-size: $spinnerSize;\n block-size: $spinnerSize;\n flex-shrink: 0;\n opacity: 1;\n }\n\n &__content-wrapper {\n display: flex;\n text-align: center;\n flex-direction: column;\n margin-block-start: 16px;\n gap: var(--spacing-gap-m);\n max-block-size: 400px;\n &--hidden {\n display: none;\n }\n opacity: 1;\n }\n\n &__cancel-button {\n margin-block-start: 8px;\n }\n}\n\n/*background color animation*/\n\n@keyframes spinner {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n@keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Event,\n EventEmitter\n} from \"@stencil/core\";\n\nimport { MercuryBundles } from \"@genexus/mercury\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"utils/typography\"\n];\n@Component({\n tag: \"gx-ide-loader\",\n styleUrl: \"ide-loader.scss\",\n shadow: true\n})\nexport class IdeLoader {\n #timeoutReference: ReturnType<typeof setTimeout>;\n\n /**\n * shows the '.loader-wrapper'\n */\n @State() showWrapper = true;\n\n /**\n * The time the loader will await before abort.\n */\n @Prop() readonly abortTime: number = 5 * 60 * 1000; // 5 minutes\n\n /**\n * The cancel callback\n */\n @Prop() readonly cancelCallback: IdeLoaderCancelCallback;\n\n /**\n * The cancel button label (optional)\n */\n @Prop() readonly cancelLabel: string;\n\n /**\n * The loader description (optional)\n */\n @Prop() readonly description: string;\n\n /**\n * The loader title (optional)\n */\n @Prop() readonly loaderTitle: string;\n\n /**\n * It shows the loader\n */\n @Prop({ mutable: true }) show = false;\n\n /**\n * This event is emitted when \"show\" is false.\n */\n @Event() loaderFinished: EventEmitter<void>;\n\n #cancelProcess = (): void => {\n if (this.cancelCallback) {\n this.cancelCallback();\n }\n clearTimeout(this.#timeoutReference);\n this.show = false;\n };\n\n #renderCancelButton = (): HTMLButtonElement | null =>\n this.cancelLabel && (\n <div>\n <button\n class=\"button-secondary loader__cancel-button\"\n type=\"button\"\n onClick={this.#cancelProcess}\n >\n {this.cancelLabel}\n </button>\n </div>\n );\n\n #renderDescription = (): HTMLParagraphElement | null =>\n this.description && <p class=\"body-regular-italic-s\">{this.description}</p>;\n\n #renderTitle = (): HTMLParagraphElement | null =>\n this.loaderTitle && <p class=\"body-regular-l\">{this.loaderTitle}</p>;\n\n render() {\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n {this.show && (\n <div\n class={{\n [`loader__wrapper`]: true,\n \"loader__wrapper--visible\": this.showWrapper\n }}\n part=\"loader-wrapper\"\n popover=\"\"\n >\n <div class=\"loader__spinner\"></div>\n <div\n class={{\n \"loader__content-wrapper\": true,\n \"loader__content-wrapper--hidden\":\n !this.description && !this.loaderTitle && !this.cancelLabel\n }}\n >\n {this.#renderTitle()}\n {this.#renderDescription()}\n {this.#renderCancelButton()}\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n\nexport type IdeLoaderCancelCallback = () => void;\n"],"version":3}
1
+ {"file":"gx-ide-loader.entry.cjs.js","mappings":";;;;;;AAAA,MAAM,YAAY,GAAG,mrCAAmrC;;;;;;;;;;ACYxsC,MAAM,WAAW,GAAmB;IAClC,mBAAmB;IACnB,mBAAmB;IACnB,kBAAkB;CACnB,CAAC;MAMW,SAAS;;;;QACpB,8CAAiD;QA0CjD,mCAAiB;YACf,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB;YACD,YAAY,CAAC,uBAAA,IAAI,mCAAkB,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;SACnB,EAAC;QAEF,wCAAsB,MACpB,IAAI,CAAC,WAAW,KACdA,qBACEA,oBACE,KAAK,EAAC,wCAAwC,EAC9C,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,uBAAA,IAAI,gCAAe,IAE3B,IAAI,CAAC,WAAW,CACV,CACL,CACP,EAAC;QAEJ,uCAAqB,MACnB,IAAI,CAAC,WAAW,IAAIA,eAAG,KAAK,EAAC,uBAAuB,IAAE,IAAI,CAAC,WAAW,CAAK,EAAC;QAE9E,iCAAe,MACb,IAAI,CAAC,WAAW,IAAIA,eAAG,KAAK,EAAC,gBAAgB,IAAE,IAAI,CAAC,WAAW,CAAK,EAAC;2BA9DhD,IAAI;yBAKU,CAAC,GAAG,EAAE,GAAG,IAAI;;;;;oBAyBlB,KAAK;;IAkCrC,MAAM;QACJ,QACEA,QAACC,UAAI,QACHD,sBAAU,KAAK,EAAE,WAAW,GAAa,EACxC,IAAI,CAAC,IAAI,KACRA,iBACE,KAAK,EAAE;gBACL,CAAC,iBAAiB,GAAG,IAAI;gBACzB,0BAA0B,EAAE,IAAI,CAAC,WAAW;aAC7C,EACD,IAAI,EAAC,gBAAgB,EACrB,OAAO,EAAC,EAAE,IAEVA,iBAAK,KAAK,EAAC,iBAAiB,GAAO,EACnCA,iBACE,KAAK,EAAE;gBACL,yBAAyB,EAAE,IAAI;gBAC/B,iCAAiC,EAC/B,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW;aAC9D,IAEA,uBAAA,IAAI,8BAAa,MAAjB,IAAI,CAAe,EACnB,uBAAA,IAAI,oCAAmB,MAAvB,IAAI,CAAqB,EACzB,uBAAA,IAAI,qCAAoB,MAAxB,IAAI,CAAsB,CACvB,CACF,CACP,CACI,EACP;KACH;;;;;;;","names":["h","Host"],"sources":["src/components/_helpers/ide-loader/ide-loader.scss?tag=gx-ide-loader&encapsulation=shadow","src/components/_helpers/ide-loader/ide-loader.tsx"],"sourcesContent":["@import \"../../../global/temporary-mercury-overrides/_button.scss\";\n\n.loader {\n &__wrapper {\n position: absolute;\n border: none;\n opacity: 0;\n transition: var(--show-transition) opacity;\n inline-size: 100%;\n block-size: 100%;\n display: flex;\n background-color: var(\n --elevation-background-color,\n var(--color-accent-surface-surface)\n );\n // backdrop-filter: var(); TODO: See if we need to add this.\n padding: var(--spacing-padding-xxxl);\n flex-direction: column;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n color: var(--color-text-neutral-default);\n z-index: 99; // WA to prevent tree-view chevron arrow to appear above.\n animation: fadeIn var(--timing-fast) forwards;\n\n &--visible {\n opacity: 1;\n }\n }\n &__spinner {\n $spinnerSize: 32px;\n border: 4px solid\n var(--elevation-border-color, var(--color-border-surface-on-surface));\n border-block-start: 4px solid var(--color-border-primary-default);\n border-radius: 50%;\n animation: spinner 0.6s infinite linear;\n inline-size: $spinnerSize;\n block-size: $spinnerSize;\n flex-shrink: 0;\n opacity: 1;\n }\n\n &__content-wrapper {\n display: flex;\n text-align: center;\n flex-direction: column;\n margin-block-start: 16px;\n gap: var(--spacing-gap-m);\n max-block-size: 400px;\n &--hidden {\n display: none;\n }\n opacity: 1;\n }\n\n &__cancel-button {\n margin-block-start: 8px;\n }\n}\n\n/*background color animation*/\n\n@keyframes spinner {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n@keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Event,\n EventEmitter\n} from \"@stencil/core\";\n\nimport { MercuryBundles } from \"@genexus/mercury\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"utils/typography\"\n];\n@Component({\n tag: \"gx-ide-loader\",\n styleUrl: \"ide-loader.scss\",\n shadow: true\n})\nexport class IdeLoader {\n #timeoutReference: ReturnType<typeof setTimeout>;\n\n /**\n * shows the '.loader-wrapper'\n */\n @State() showWrapper = true;\n\n /**\n * The time the loader will await before abort.\n */\n @Prop() readonly abortTime: number = 5 * 60 * 1000; // 5 minutes\n\n /**\n * The cancel callback\n */\n @Prop() readonly cancelCallback: IdeLoaderCancelCallback;\n\n /**\n * The cancel button label (optional)\n */\n @Prop() readonly cancelLabel: string;\n\n /**\n * The loader description (optional)\n */\n @Prop() readonly description: string;\n\n /**\n * The loader title (optional)\n */\n @Prop() readonly loaderTitle: string;\n\n /**\n * It shows the loader\n */\n @Prop({ mutable: true }) show = false;\n\n /**\n * This event is emitted when \"show\" is false.\n */\n @Event() loaderFinished: EventEmitter<void>;\n\n #cancelProcess = (): void => {\n if (this.cancelCallback) {\n this.cancelCallback();\n }\n clearTimeout(this.#timeoutReference);\n this.show = false;\n };\n\n #renderCancelButton = (): HTMLButtonElement | null =>\n this.cancelLabel && (\n <div>\n <button\n class=\"button-secondary loader__cancel-button\"\n type=\"button\"\n onClick={this.#cancelProcess}\n >\n {this.cancelLabel}\n </button>\n </div>\n );\n\n #renderDescription = (): HTMLParagraphElement | null =>\n this.description && <p class=\"body-regular-italic-s\">{this.description}</p>;\n\n #renderTitle = (): HTMLParagraphElement | null =>\n this.loaderTitle && <p class=\"body-regular-l\">{this.loaderTitle}</p>;\n\n render() {\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n {this.show && (\n <div\n class={{\n [`loader__wrapper`]: true,\n \"loader__wrapper--visible\": this.showWrapper\n }}\n part=\"loader-wrapper\"\n popover=\"\"\n >\n <div class=\"loader__spinner\"></div>\n <div\n class={{\n \"loader__content-wrapper\": true,\n \"loader__content-wrapper--hidden\":\n !this.description && !this.loaderTitle && !this.cancelLabel\n }}\n >\n {this.#renderTitle()}\n {this.#renderDescription()}\n {this.#renderCancelButton()}\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n\nexport type IdeLoaderCancelCallback = () => void;\n"],"version":3}
@@ -7,7 +7,7 @@ const config = require('./config-3bb95f39.js');
7
7
  const formValidation = require('./form-validation-54acc775.js');
8
8
  const locale = require('./locale-ff30a5f3.js');
9
9
 
10
- const namePickerCss = ":host{display:grid;block-size:100%;grid-template-rows:1fr max-content}.field-group{grid-auto-rows:max-content}.main{overflow:auto}.section{display:contents}.tooltip{position:absolute}";
10
+ const namePickerCss = "button.button-secondary{border-color:var(--color-border-neutral-default)}:host{display:grid;block-size:100%;grid-template-rows:1fr max-content}.field-group{grid-auto-rows:max-content}.main{overflow:auto}.section{display:contents}.tooltip{position:absolute}";
11
11
 
12
12
  var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
13
13
  if (kind === "a" && !f)
@@ -1 +1 @@
1
- {"file":"gx-ide-name-picker.entry.cjs.js","mappings":"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","names":["getAssetPath","clearControlError","validateControls","h","config","Locale","Host"],"sources":["src/components/name-picker/name-picker.scss?tag=gx-ide-name-picker&encapsulation=shadow","src/components/name-picker/name-picker.tsx"],"sourcesContent":[":host {\n display: grid;\n block-size: 100%;\n grid-template-rows: 1fr max-content;\n}\n\n.field-group {\n grid-auto-rows: max-content;\n}\n\n.main {\n overflow: auto;\n}\n\n.section {\n display: contents;\n}\n\n.tooltip {\n position: absolute;\n}\n","import {\n Component,\n Element,\n getAssetPath,\n h,\n Host,\n Prop,\n State,\n Watch\n} from \"@stencil/core\";\n\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { config } from \"../../common/config\";\nimport {\n clearControlError,\n ControlValidation,\n validateControls\n} from \"../../common/form-validation\";\nimport { Locale } from \"../../common/locale\";\nimport { FormSubmitResult } from \"../../components\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/spacing\",\n \"utils/layout\",\n \"chameleon/scrollbar\",\n \"components/button\",\n \"components/edit\",\n \"components/tooltip\"\n];\n\n@Component({\n tag: \"gx-ide-name-picker\",\n styleUrl: \"name-picker.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/name-picker\"]\n})\nexport class GxIdeNamePicker {\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 #inputValueEl!: HTMLChEditElement;\n #shortcutsSrc = getAssetPath(`./gx-ide-assets/name-picker/shortcuts.json`);\n\n @Element() el: HTMLGxIdeNamePickerElement;\n\n /**\n * The input name\n */\n @State() inputValue: string;\n\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * Callback that must be invoked when the 'Cancel' button is pressed.\n */\n @Prop() readonly cancelCallback: () => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Confirm' button is pressed.\n */\n @Prop() readonly confirmCallback: (\n inputValue: string\n ) => Promise<FormSubmitResult>;\n\n /**\n * This property is used to set the initial values of the input field when the component is loaded.\n */\n @Prop() readonly defaultInputValue: string;\n @Watch(\"defaultInputValue\")\n defaultInputValueChanged(newDefaultInputValue: string) {\n this.inputValue = newDefaultInputValue;\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.defaultInputValueChanged(this.defaultInputValue);\n }\n\n componentDidLoad() {\n this.#initializeValidatableControls();\n }\n\n #handleInputValueChange = (event: CustomEvent<string> | InputEvent) => {\n this.inputValue = event.detail as string;\n clearControlError(this.validatableControls, \"input-name\");\n };\n\n #cancelClickHandler = async () => {\n this.cancelCallback();\n };\n\n #confirmClickHandler = async () => {\n const formSubmitResult = await this.confirmCallback(this.inputValue);\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n };\n\n #initializeValidatableControls = () => {\n // populate validatableControls with the controls that could have errors.\n const validatableControls: HTMLElement[] = [this.#inputValueEl];\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 // 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 render() {\n const confirmButtonDisabled =\n !this.inputValue || this.inputValue.length === 0;\n\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 <div class=\"main scrollable field-group spacing-body\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"input-name\">\n {this.#componentLocale.labels.name}\n </label>\n <ch-edit\n type=\"text\"\n id=\"input-name\"\n class=\"input\"\n placeholder={this.#componentLocale.placeHolders.name}\n value={this.inputValue}\n onInput={this.#handleInputValueChange}\n ref={(el: HTMLChEditElement) =>\n (this.#inputValueEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#inputValueEl)}\n </div>\n </div>\n\n <footer class=\"dialog-footer-with-border spacing-body\">\n <div class=\"buttons-spacer\">\n <button\n id=\"cancel-button\"\n class=\"button-secondary\"\n onClick={this.#cancelClickHandler}\n >\n {this.#componentLocale.buttons.cancel}\n </button>\n\n <button\n id=\"confirm-button\"\n class=\"button-primary\"\n onClick={this.#confirmClickHandler}\n disabled={confirmButtonDisabled}\n >\n {this.#componentLocale.buttons.confirm}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"gx-ide-name-picker.entry.cjs.js","mappings":"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","names":["getAssetPath","clearControlError","validateControls","h","config","Locale","Host"],"sources":["src/components/name-picker/name-picker.scss?tag=gx-ide-name-picker&encapsulation=shadow","src/components/name-picker/name-picker.tsx"],"sourcesContent":["@import \"../../global/temporary-mercury-overrides/_button.scss\";\n\n:host {\n display: grid;\n block-size: 100%;\n grid-template-rows: 1fr max-content;\n}\n\n.field-group {\n grid-auto-rows: max-content;\n}\n\n.main {\n overflow: auto;\n}\n\n.section {\n display: contents;\n}\n\n.tooltip {\n position: absolute;\n}\n","import {\n Component,\n Element,\n getAssetPath,\n h,\n Host,\n Prop,\n State,\n Watch\n} from \"@stencil/core\";\n\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { config } from \"../../common/config\";\nimport {\n clearControlError,\n ControlValidation,\n validateControls\n} from \"../../common/form-validation\";\nimport { Locale } from \"../../common/locale\";\nimport { FormSubmitResult } from \"../../components\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/form\",\n \"utils/spacing\",\n \"utils/layout\",\n \"chameleon/scrollbar\",\n \"components/button\",\n \"components/edit\",\n \"components/tooltip\"\n];\n\n@Component({\n tag: \"gx-ide-name-picker\",\n styleUrl: \"name-picker.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/name-picker\"]\n})\nexport class GxIdeNamePicker {\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 #inputValueEl!: HTMLChEditElement;\n #shortcutsSrc = getAssetPath(`./gx-ide-assets/name-picker/shortcuts.json`);\n\n @Element() el: HTMLGxIdeNamePickerElement;\n\n /**\n * The input name\n */\n @State() inputValue: string;\n\n @State() validatableControls = new Map<string, ControlValidation>();\n\n /**\n * Callback that must be invoked when the 'Cancel' button is pressed.\n */\n @Prop() readonly cancelCallback: () => Promise<void>;\n\n /**\n * Callback that must be invoked when the 'Confirm' button is pressed.\n */\n @Prop() readonly confirmCallback: (\n inputValue: string\n ) => Promise<FormSubmitResult>;\n\n /**\n * This property is used to set the initial values of the input field when the component is loaded.\n */\n @Prop() readonly defaultInputValue: string;\n @Watch(\"defaultInputValue\")\n defaultInputValueChanged(newDefaultInputValue: string) {\n this.inputValue = newDefaultInputValue;\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.defaultInputValueChanged(this.defaultInputValue);\n }\n\n componentDidLoad() {\n this.#initializeValidatableControls();\n }\n\n #handleInputValueChange = (event: CustomEvent<string> | InputEvent) => {\n this.inputValue = event.detail as string;\n clearControlError(this.validatableControls, \"input-name\");\n };\n\n #cancelClickHandler = async () => {\n this.cancelCallback();\n };\n\n #confirmClickHandler = async () => {\n const formSubmitResult = await this.confirmCallback(this.inputValue);\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n };\n\n #initializeValidatableControls = () => {\n // populate validatableControls with the controls that could have errors.\n const validatableControls: HTMLElement[] = [this.#inputValueEl];\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 // 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 render() {\n const confirmButtonDisabled =\n !this.inputValue || this.inputValue.length === 0;\n\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 <div class=\"main scrollable field-group spacing-body\">\n <div class=\"field field-block\">\n <label class=\"label\" htmlFor=\"input-name\">\n {this.#componentLocale.labels.name}\n </label>\n <ch-edit\n type=\"text\"\n id=\"input-name\"\n class=\"input\"\n placeholder={this.#componentLocale.placeHolders.name}\n value={this.inputValue}\n onInput={this.#handleInputValueChange}\n ref={(el: HTMLChEditElement) =>\n (this.#inputValueEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n {this.#evaluateTooltipRender(this.#inputValueEl)}\n </div>\n </div>\n\n <footer class=\"dialog-footer-with-border spacing-body\">\n <div class=\"buttons-spacer\">\n <button\n id=\"cancel-button\"\n class=\"button-secondary\"\n onClick={this.#cancelClickHandler}\n >\n {this.#componentLocale.buttons.cancel}\n </button>\n\n <button\n id=\"confirm-button\"\n class=\"button-primary\"\n onClick={this.#confirmClickHandler}\n disabled={confirmButtonDisabled}\n >\n {this.#componentLocale.buttons.confirm}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -22,7 +22,7 @@ const mapNavigationDataToTreeView = (navigationData) => navigationData.map((data
22
22
  };
23
23
  });
24
24
 
25
- const navigationReportCss = ":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}";
25
+ const navigationReportCss = "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}";
26
26
 
27
27
  var __classPrivateFieldSet = (undefined && undefined.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
28
28
  if (kind === "m")