@genexus/genexus-ide-ui 2.1.1 → 2.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (594) hide show
  1. package/dist/cjs/gx-ide-about.cjs.entry.js +1 -1
  2. package/dist/cjs/gx-ide-about.cjs.entry.js.map +1 -1
  3. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +1 -1
  4. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js.map +1 -1
  5. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js +1 -1
  6. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js.map +1 -1
  7. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +1 -1
  8. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js.map +1 -1
  9. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +1 -1
  10. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js.map +1 -1
  11. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +1 -1
  12. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js.map +1 -1
  13. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +1 -1
  14. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js.map +1 -1
  15. package/dist/cjs/gx-ide-bpm-sync-gam-roles.cjs.entry.js +1 -1
  16. package/dist/cjs/gx-ide-bpm-sync-gam-roles.cjs.entry.js.map +1 -1
  17. package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js +1 -1
  18. package/dist/cjs/gx-ide-bpm-task-documents.cjs.entry.js.map +1 -1
  19. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +1 -1
  20. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js.map +1 -1
  21. package/dist/cjs/gx-ide-comments-viewer.cjs.entry.js +1 -1
  22. package/dist/cjs/gx-ide-comments-viewer.cjs.entry.js.map +1 -1
  23. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +1 -1
  24. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js.map +1 -1
  25. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js +1 -1
  26. package/dist/cjs/gx-ide-create-kb-from-server.cjs.entry.js.map +1 -1
  27. package/dist/cjs/gx-ide-curl-inspector.cjs.entry.js +1 -1
  28. package/dist/cjs/gx-ide-curl-inspector.cjs.entry.js.map +1 -1
  29. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +1 -1
  30. package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
  31. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js +1 -1
  32. package/dist/cjs/gx-ide-data-type-selector.cjs.entry.js.map +1 -1
  33. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js +1 -1
  34. package/dist/cjs/gx-ide-deployment-tool.cjs.entry.js.map +1 -1
  35. package/dist/cjs/gx-ide-design-import.cjs.entry.js +1 -1
  36. package/dist/cjs/gx-ide-design-import.cjs.entry.js.map +1 -1
  37. package/dist/cjs/gx-ide-details-acknowledgements.cjs.entry.js +1 -1
  38. package/dist/cjs/gx-ide-details-acknowledgements.cjs.entry.js.map +1 -1
  39. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js +1 -1
  40. package/dist/cjs/gx-ide-edit-module-server.cjs.entry.js.map +1 -1
  41. package/dist/cjs/gx-ide-empty-state.cjs.entry.js +1 -1
  42. package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +1 -1
  43. package/dist/cjs/gx-ide-file-uploader.cjs.entry.js +1 -1
  44. package/dist/cjs/gx-ide-file-uploader.cjs.entry.js.map +1 -1
  45. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +1 -1
  46. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js.map +1 -1
  47. package/dist/cjs/gx-ide-json-import.cjs.entry.js +1 -1
  48. package/dist/cjs/gx-ide-json-import.cjs.entry.js.map +1 -1
  49. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -1
  50. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
  51. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
  52. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js.map +1 -1
  53. package/dist/cjs/gx-ide-launchpad-apis_3.cjs.entry.js +1 -1
  54. package/dist/cjs/gx-ide-launchpad-apis_3.cjs.entry.js.map +1 -1
  55. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js +1 -1
  56. package/dist/cjs/gx-ide-list-selector_2.cjs.entry.js.map +1 -1
  57. package/dist/cjs/gx-ide-loader.cjs.entry.js +1 -1
  58. package/dist/cjs/gx-ide-loader.cjs.entry.js.map +1 -1
  59. package/dist/cjs/gx-ide-name-picker.cjs.entry.js +1 -1
  60. package/dist/cjs/gx-ide-name-picker.cjs.entry.js.map +1 -1
  61. package/dist/cjs/gx-ide-navigation-report.cjs.entry.js +1 -1
  62. package/dist/cjs/gx-ide-navigation-report.cjs.entry.js.map +1 -1
  63. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
  64. package/dist/cjs/gx-ide-new-environment.cjs.entry.js.map +1 -1
  65. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
  66. package/dist/cjs/gx-ide-new-kb.cjs.entry.js.map +1 -1
  67. package/dist/cjs/gx-ide-new-object.cjs.entry.js +1 -1
  68. package/dist/cjs/gx-ide-new-object.cjs.entry.js.map +1 -1
  69. package/dist/cjs/gx-ide-new-version.cjs.entry.js +1 -1
  70. package/dist/cjs/gx-ide-new-version.cjs.entry.js.map +1 -1
  71. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +1 -1
  72. package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
  73. package/dist/cjs/gx-ide-open-api-import.cjs.entry.js +1 -1
  74. package/dist/cjs/gx-ide-open-api-import.cjs.entry.js.map +1 -1
  75. package/dist/cjs/gx-ide-references.cjs.entry.js +1 -1
  76. package/dist/cjs/gx-ide-references.cjs.entry.js.map +1 -1
  77. package/dist/cjs/gx-ide-restore-version.cjs.entry.js +5 -4
  78. package/dist/cjs/gx-ide-restore-version.cjs.entry.js.map +1 -1
  79. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js +1 -1
  80. package/dist/cjs/gx-ide-select-kb-items.cjs.entry.js.map +1 -1
  81. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js +1 -1
  82. package/dist/cjs/gx-ide-select-user-team.cjs.entry.js.map +1 -1
  83. package/dist/cjs/gx-ide-server-selector.cjs.entry.js +1 -1
  84. package/dist/cjs/gx-ide-server-selector.cjs.entry.js.map +1 -1
  85. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
  86. package/dist/cjs/gx-ide-share-kb.cjs.entry.js.map +1 -1
  87. package/dist/cjs/gx-ide-sign-in-result.cjs.entry.js +5 -3
  88. package/dist/cjs/gx-ide-sign-in-result.cjs.entry.js.map +1 -1
  89. package/dist/cjs/gx-ide-splash.cjs.entry.js +1 -1
  90. package/dist/cjs/gx-ide-splash.cjs.entry.js.map +1 -1
  91. package/dist/cjs/gx-ide-start-page.cjs.entry.js +1 -1
  92. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  93. package/dist/cjs/gx-ide-starting-template.cjs.entry.js +1 -1
  94. package/dist/cjs/gx-ide-starting-template.cjs.entry.js.map +1 -1
  95. package/dist/cjs/gx-ide-team-dev-bring-all-changes-selector.cjs.entry.js +1 -1
  96. package/dist/cjs/gx-ide-team-dev-bring-all-changes-selector.cjs.entry.js.map +1 -1
  97. package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js +1 -1
  98. package/dist/cjs/gx-ide-team-dev-bring-changes.cjs.entry.js.map +1 -1
  99. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
  100. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js.map +1 -1
  101. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js +1 -1
  102. package/dist/cjs/gx-ide-team-dev-history.cjs.entry.js.map +1 -1
  103. package/dist/cjs/gx-ide-team-dev-preview.cjs.entry.js +2 -2
  104. package/dist/cjs/gx-ide-team-dev-preview.cjs.entry.js.map +1 -1
  105. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
  106. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js.map +1 -1
  107. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
  108. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js.map +1 -1
  109. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
  110. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js.map +1 -1
  111. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
  112. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js.map +1 -1
  113. package/dist/cjs/gx-ide-test.cjs.entry.js +1 -1
  114. package/dist/cjs/gx-ide-test.cjs.entry.js.map +1 -1
  115. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +1 -1
  116. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js.map +1 -1
  117. package/dist/cjs/gx-ide-ww-files.cjs.entry.js +1 -1
  118. package/dist/cjs/gx-ide-ww-files.cjs.entry.js.map +1 -1
  119. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  120. package/dist/cjs/gx-ide-ww-images.cjs.entry.js.map +1 -1
  121. package/dist/collection/components/_helpers/comments-viewer/comments-viewer.css +1 -1
  122. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +1 -0
  123. package/dist/collection/components/_helpers/ide-loader/ide-loader.css +4 -0
  124. package/dist/collection/components/_helpers/list-selector/list-selector.css +1 -0
  125. package/dist/collection/components/_starting-template/starting-template.css +4 -0
  126. package/dist/collection/components/_test/test.css +1 -0
  127. package/dist/collection/components/about/about.css +4 -0
  128. package/dist/collection/components/bpm/application-declaration/bpm-app-declaration.css +5 -0
  129. package/dist/collection/components/bpm/assign-roles/bpm-assign-roles.css +1 -0
  130. package/dist/collection/components/bpm/export-xpdl/bpm-export-xpdl.css +1 -0
  131. package/dist/collection/components/bpm/import-files/bpm-import-files.css +1 -0
  132. package/dist/collection/components/bpm/import-gxpm/bpm-import-gxpm.css +1 -0
  133. package/dist/collection/components/bpm/objects-selector/bpm-objects-selector.css +1 -0
  134. package/dist/collection/components/bpm/sync-gam-roles/bpm-sync-gam-roles.css +4 -0
  135. package/dist/collection/components/bpm/task-documents/task-documents.css +4 -0
  136. package/dist/collection/components/bpm/timer-duration/bpm-timer-duration.css +1 -0
  137. package/dist/collection/components/curl-inspector/curl-inspector.css +4 -0
  138. package/dist/collection/components/data-selector/data-selector.css +4 -0
  139. package/dist/collection/components/data-type-selector/data-type-selector.css +4 -0
  140. package/dist/collection/components/deployment-tool/deployment-tool.css +1 -0
  141. package/dist/collection/components/design-import/design-import.css +5 -0
  142. package/dist/collection/components/details-acknowledgements/details-acknowledgements.css +4 -0
  143. package/dist/collection/components/file-uploader/file-uploader.css +5 -0
  144. package/dist/collection/components/gam-installation-settings/gam-installation-settings.css +5 -0
  145. package/dist/collection/components/json-import/json-import.css +4 -0
  146. package/dist/collection/components/kb-manager-export/kb-manager-export.css +4 -0
  147. package/dist/collection/components/kb-manager-import/kb-manager-import.css +4 -0
  148. package/dist/collection/components/launchpad/native-apps/launchpad-native-apps.css +4 -0
  149. package/dist/collection/components/modules/edit-module-server/edit-module-server.css +4 -0
  150. package/dist/collection/components/name-picker/name-picker.css +4 -0
  151. package/dist/collection/components/navigation-report/navigation-report.css +4 -0
  152. package/dist/collection/components/new-environment/new-environment.css +4 -0
  153. package/dist/collection/components/new-kb/new-kb.css +4 -0
  154. package/dist/collection/components/new-object/new-object.css +4 -0
  155. package/dist/collection/components/new-version/new-version.css +4 -0
  156. package/dist/collection/components/object-selector/object-selector.css +4 -0
  157. package/dist/collection/components/open-api-import/open-api-import.css +4 -0
  158. package/dist/collection/components/references/references.css +1 -0
  159. package/dist/collection/components/restore-version/restore-version.css +7 -14
  160. package/dist/collection/components/restore-version/restore-version.js +4 -3
  161. package/dist/collection/components/restore-version/restore-version.js.map +1 -1
  162. package/dist/collection/components/select-kb-items/select-kb-items.css +4 -0
  163. package/dist/collection/components/select-user-team/select-user-team.css +4 -0
  164. package/dist/collection/components/sign-in-result/sign-in-result.css +5 -2
  165. package/dist/collection/components/sign-in-result/sign-in-result.js +4 -2
  166. package/dist/collection/components/sign-in-result/sign-in-result.js.map +1 -1
  167. package/dist/collection/components/splash/splash.css +4 -0
  168. package/dist/collection/components/start-page/start-page.css +4 -0
  169. package/dist/collection/components/team-dev/bring-all-changes-selector/bring-all-changes-selector.css +4 -0
  170. package/dist/collection/components/team-dev/bring-changes/bring-changes.css +4 -0
  171. package/dist/collection/components/team-dev/connect-gx-server/connect-gx-server.css +4 -0
  172. package/dist/collection/components/team-dev/create-kb-from-server/create-kb-from-server.css +4 -0
  173. package/dist/collection/components/team-dev/history/history.css +4 -0
  174. package/dist/collection/components/team-dev/preview/team-dev-preview.css +1 -0
  175. package/dist/collection/components/team-dev/preview/team-dev-preview.js +1 -1
  176. package/dist/collection/components/team-dev/preview/team-dev-preview.js.map +1 -1
  177. package/dist/collection/components/team-dev/select-recent-comment/select-recent-comment.css +5 -0
  178. package/dist/collection/components/team-dev/server-selector/server-selector.css +4 -0
  179. package/dist/collection/components/team-dev/share-kb/share-kb.css +4 -0
  180. package/dist/collection/components/team-dev/update/update.css +4 -0
  181. package/dist/collection/components/team-dev/update-partial-selection/update-partial-selection.css +4 -0
  182. package/dist/collection/components/team-dev/update-to-revision/update-to-revision.css +4 -0
  183. package/dist/collection/components/team-dev/version-control/commit/commit.css +4 -0
  184. package/dist/collection/components/wf-settings/wf-settings.css +1 -0
  185. package/dist/collection/components/ww-files/ww-files.css +4 -0
  186. package/dist/collection/components/ww-images/ww-images.css +4 -0
  187. package/dist/components/bpm-objects-selector.js +1 -1
  188. package/dist/components/bpm-objects-selector.js.map +1 -1
  189. package/dist/components/gx-ide-about.js +1 -1
  190. package/dist/components/gx-ide-about.js.map +1 -1
  191. package/dist/components/gx-ide-bpm-app-declaration.js +1 -1
  192. package/dist/components/gx-ide-bpm-app-declaration.js.map +1 -1
  193. package/dist/components/gx-ide-bpm-assign-roles.js +1 -1
  194. package/dist/components/gx-ide-bpm-assign-roles.js.map +1 -1
  195. package/dist/components/gx-ide-bpm-export-xpdl.js +1 -1
  196. package/dist/components/gx-ide-bpm-export-xpdl.js.map +1 -1
  197. package/dist/components/gx-ide-bpm-import-files.js +1 -1
  198. package/dist/components/gx-ide-bpm-import-files.js.map +1 -1
  199. package/dist/components/gx-ide-bpm-import-gxpm.js +1 -1
  200. package/dist/components/gx-ide-bpm-import-gxpm.js.map +1 -1
  201. package/dist/components/gx-ide-bpm-sync-gam-roles.js +1 -1
  202. package/dist/components/gx-ide-bpm-sync-gam-roles.js.map +1 -1
  203. package/dist/components/gx-ide-bpm-task-documents.js +1 -1
  204. package/dist/components/gx-ide-bpm-task-documents.js.map +1 -1
  205. package/dist/components/gx-ide-bpm-timer-duration.js +1 -1
  206. package/dist/components/gx-ide-bpm-timer-duration.js.map +1 -1
  207. package/dist/components/gx-ide-comments-viewer.js +1 -1
  208. package/dist/components/gx-ide-comments-viewer.js.map +1 -1
  209. package/dist/components/gx-ide-connect-gx-server.js +1 -1
  210. package/dist/components/gx-ide-connect-gx-server.js.map +1 -1
  211. package/dist/components/gx-ide-create-kb-from-server.js +1 -1
  212. package/dist/components/gx-ide-create-kb-from-server.js.map +1 -1
  213. package/dist/components/gx-ide-curl-inspector.js +1 -1
  214. package/dist/components/gx-ide-curl-inspector.js.map +1 -1
  215. package/dist/components/gx-ide-data-selector.js +1 -1
  216. package/dist/components/gx-ide-data-selector.js.map +1 -1
  217. package/dist/components/gx-ide-data-type-selector.js +1 -1
  218. package/dist/components/gx-ide-data-type-selector.js.map +1 -1
  219. package/dist/components/gx-ide-deployment-tool.js +1 -1
  220. package/dist/components/gx-ide-deployment-tool.js.map +1 -1
  221. package/dist/components/gx-ide-design-import.js +1 -1
  222. package/dist/components/gx-ide-design-import.js.map +1 -1
  223. package/dist/components/gx-ide-details-acknowledgements.js +1 -1
  224. package/dist/components/gx-ide-details-acknowledgements.js.map +1 -1
  225. package/dist/components/gx-ide-edit-module-server.js +1 -1
  226. package/dist/components/gx-ide-edit-module-server.js.map +1 -1
  227. package/dist/components/gx-ide-empty-state2.js +1 -1
  228. package/dist/components/gx-ide-empty-state2.js.map +1 -1
  229. package/dist/components/gx-ide-file-uploader.js +1 -1
  230. package/dist/components/gx-ide-file-uploader.js.map +1 -1
  231. package/dist/components/gx-ide-gam-installation-settings.js +1 -1
  232. package/dist/components/gx-ide-gam-installation-settings.js.map +1 -1
  233. package/dist/components/gx-ide-json-import.js +1 -1
  234. package/dist/components/gx-ide-json-import.js.map +1 -1
  235. package/dist/components/gx-ide-kb-manager-export.js +1 -1
  236. package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
  237. package/dist/components/gx-ide-kb-manager-import.js +1 -1
  238. package/dist/components/gx-ide-kb-manager-import.js.map +1 -1
  239. package/dist/components/gx-ide-name-picker.js +1 -1
  240. package/dist/components/gx-ide-name-picker.js.map +1 -1
  241. package/dist/components/gx-ide-navigation-report.js +1 -1
  242. package/dist/components/gx-ide-navigation-report.js.map +1 -1
  243. package/dist/components/gx-ide-new-environment.js +1 -1
  244. package/dist/components/gx-ide-new-environment.js.map +1 -1
  245. package/dist/components/gx-ide-new-kb.js +1 -1
  246. package/dist/components/gx-ide-new-kb.js.map +1 -1
  247. package/dist/components/gx-ide-new-object.js +1 -1
  248. package/dist/components/gx-ide-new-object.js.map +1 -1
  249. package/dist/components/gx-ide-new-version.js +1 -1
  250. package/dist/components/gx-ide-new-version.js.map +1 -1
  251. package/dist/components/gx-ide-object-selector.js +1 -1
  252. package/dist/components/gx-ide-object-selector.js.map +1 -1
  253. package/dist/components/gx-ide-open-api-import.js +1 -1
  254. package/dist/components/gx-ide-open-api-import.js.map +1 -1
  255. package/dist/components/gx-ide-references.js +1 -1
  256. package/dist/components/gx-ide-references.js.map +1 -1
  257. package/dist/components/gx-ide-restore-version.js +5 -4
  258. package/dist/components/gx-ide-restore-version.js.map +1 -1
  259. package/dist/components/gx-ide-select-user-team.js +1 -1
  260. package/dist/components/gx-ide-select-user-team.js.map +1 -1
  261. package/dist/components/gx-ide-server-selector.js +1 -1
  262. package/dist/components/gx-ide-server-selector.js.map +1 -1
  263. package/dist/components/gx-ide-share-kb.js +1 -1
  264. package/dist/components/gx-ide-share-kb.js.map +1 -1
  265. package/dist/components/gx-ide-sign-in-result.js +5 -3
  266. package/dist/components/gx-ide-sign-in-result.js.map +1 -1
  267. package/dist/components/gx-ide-splash.js +1 -1
  268. package/dist/components/gx-ide-splash.js.map +1 -1
  269. package/dist/components/gx-ide-start-page.js +1 -1
  270. package/dist/components/gx-ide-start-page.js.map +1 -1
  271. package/dist/components/gx-ide-starting-template.js +1 -1
  272. package/dist/components/gx-ide-starting-template.js.map +1 -1
  273. package/dist/components/gx-ide-team-dev-bring-all-changes-selector.js +1 -1
  274. package/dist/components/gx-ide-team-dev-bring-all-changes-selector.js.map +1 -1
  275. package/dist/components/gx-ide-team-dev-bring-changes.js +1 -1
  276. package/dist/components/gx-ide-team-dev-bring-changes.js.map +1 -1
  277. package/dist/components/gx-ide-team-dev-commit.js +1 -1
  278. package/dist/components/gx-ide-team-dev-commit.js.map +1 -1
  279. package/dist/components/gx-ide-team-dev-history.js +1 -1
  280. package/dist/components/gx-ide-team-dev-history.js.map +1 -1
  281. package/dist/components/gx-ide-team-dev-preview.js +2 -2
  282. package/dist/components/gx-ide-team-dev-preview.js.map +1 -1
  283. package/dist/components/gx-ide-team-dev-select-recent-comment.js +1 -1
  284. package/dist/components/gx-ide-team-dev-select-recent-comment.js.map +1 -1
  285. package/dist/components/gx-ide-team-dev-update-partial-selection.js +1 -1
  286. package/dist/components/gx-ide-team-dev-update-partial-selection.js.map +1 -1
  287. package/dist/components/gx-ide-team-dev-update-to-revision.js +1 -1
  288. package/dist/components/gx-ide-team-dev-update-to-revision.js.map +1 -1
  289. package/dist/components/gx-ide-team-dev-update.js +1 -1
  290. package/dist/components/gx-ide-team-dev-update.js.map +1 -1
  291. package/dist/components/gx-ide-test.js +1 -1
  292. package/dist/components/gx-ide-test.js.map +1 -1
  293. package/dist/components/gx-ide-wf-settings.js +1 -1
  294. package/dist/components/gx-ide-wf-settings.js.map +1 -1
  295. package/dist/components/gx-ide-ww-files.js +1 -1
  296. package/dist/components/gx-ide-ww-files.js.map +1 -1
  297. package/dist/components/gx-ide-ww-images.js +1 -1
  298. package/dist/components/gx-ide-ww-images.js.map +1 -1
  299. package/dist/components/ide-loader.js +1 -1
  300. package/dist/components/ide-loader.js.map +1 -1
  301. package/dist/components/launchpad-native-apps.js +1 -1
  302. package/dist/components/launchpad-native-apps.js.map +1 -1
  303. package/dist/components/list-selector.js +1 -1
  304. package/dist/components/list-selector.js.map +1 -1
  305. package/dist/components/select-kb-items.js +1 -1
  306. package/dist/components/select-kb-items.js.map +1 -1
  307. package/dist/esm/gx-ide-about.entry.js +1 -1
  308. package/dist/esm/gx-ide-about.entry.js.map +1 -1
  309. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
  310. package/dist/esm/gx-ide-bpm-app-declaration.entry.js.map +1 -1
  311. package/dist/esm/gx-ide-bpm-assign-roles.entry.js +1 -1
  312. package/dist/esm/gx-ide-bpm-assign-roles.entry.js.map +1 -1
  313. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +1 -1
  314. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js.map +1 -1
  315. package/dist/esm/gx-ide-bpm-import-files.entry.js +1 -1
  316. package/dist/esm/gx-ide-bpm-import-files.entry.js.map +1 -1
  317. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +1 -1
  318. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js.map +1 -1
  319. package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
  320. package/dist/esm/gx-ide-bpm-objects-selector.entry.js.map +1 -1
  321. package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js +1 -1
  322. package/dist/esm/gx-ide-bpm-sync-gam-roles.entry.js.map +1 -1
  323. package/dist/esm/gx-ide-bpm-task-documents.entry.js +1 -1
  324. package/dist/esm/gx-ide-bpm-task-documents.entry.js.map +1 -1
  325. package/dist/esm/gx-ide-bpm-timer-duration.entry.js +1 -1
  326. package/dist/esm/gx-ide-bpm-timer-duration.entry.js.map +1 -1
  327. package/dist/esm/gx-ide-comments-viewer.entry.js +1 -1
  328. package/dist/esm/gx-ide-comments-viewer.entry.js.map +1 -1
  329. package/dist/esm/gx-ide-connect-gx-server.entry.js +1 -1
  330. package/dist/esm/gx-ide-connect-gx-server.entry.js.map +1 -1
  331. package/dist/esm/gx-ide-create-kb-from-server.entry.js +1 -1
  332. package/dist/esm/gx-ide-create-kb-from-server.entry.js.map +1 -1
  333. package/dist/esm/gx-ide-curl-inspector.entry.js +1 -1
  334. package/dist/esm/gx-ide-curl-inspector.entry.js.map +1 -1
  335. package/dist/esm/gx-ide-data-selector.entry.js +1 -1
  336. package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
  337. package/dist/esm/gx-ide-data-type-selector.entry.js +1 -1
  338. package/dist/esm/gx-ide-data-type-selector.entry.js.map +1 -1
  339. package/dist/esm/gx-ide-deployment-tool.entry.js +1 -1
  340. package/dist/esm/gx-ide-deployment-tool.entry.js.map +1 -1
  341. package/dist/esm/gx-ide-design-import.entry.js +1 -1
  342. package/dist/esm/gx-ide-design-import.entry.js.map +1 -1
  343. package/dist/esm/gx-ide-details-acknowledgements.entry.js +1 -1
  344. package/dist/esm/gx-ide-details-acknowledgements.entry.js.map +1 -1
  345. package/dist/esm/gx-ide-edit-module-server.entry.js +1 -1
  346. package/dist/esm/gx-ide-edit-module-server.entry.js.map +1 -1
  347. package/dist/esm/gx-ide-empty-state.entry.js +1 -1
  348. package/dist/esm/gx-ide-empty-state.entry.js.map +1 -1
  349. package/dist/esm/gx-ide-file-uploader.entry.js +1 -1
  350. package/dist/esm/gx-ide-file-uploader.entry.js.map +1 -1
  351. package/dist/esm/gx-ide-gam-installation-settings.entry.js +1 -1
  352. package/dist/esm/gx-ide-gam-installation-settings.entry.js.map +1 -1
  353. package/dist/esm/gx-ide-json-import.entry.js +1 -1
  354. package/dist/esm/gx-ide-json-import.entry.js.map +1 -1
  355. package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -1
  356. package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
  357. package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
  358. package/dist/esm/gx-ide-kb-manager-import.entry.js.map +1 -1
  359. package/dist/esm/gx-ide-launchpad-apis_3.entry.js +1 -1
  360. package/dist/esm/gx-ide-launchpad-apis_3.entry.js.map +1 -1
  361. package/dist/esm/gx-ide-list-selector_2.entry.js +1 -1
  362. package/dist/esm/gx-ide-list-selector_2.entry.js.map +1 -1
  363. package/dist/esm/gx-ide-loader.entry.js +1 -1
  364. package/dist/esm/gx-ide-loader.entry.js.map +1 -1
  365. package/dist/esm/gx-ide-name-picker.entry.js +1 -1
  366. package/dist/esm/gx-ide-name-picker.entry.js.map +1 -1
  367. package/dist/esm/gx-ide-navigation-report.entry.js +1 -1
  368. package/dist/esm/gx-ide-navigation-report.entry.js.map +1 -1
  369. package/dist/esm/gx-ide-new-environment.entry.js +1 -1
  370. package/dist/esm/gx-ide-new-environment.entry.js.map +1 -1
  371. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  372. package/dist/esm/gx-ide-new-kb.entry.js.map +1 -1
  373. package/dist/esm/gx-ide-new-object.entry.js +1 -1
  374. package/dist/esm/gx-ide-new-object.entry.js.map +1 -1
  375. package/dist/esm/gx-ide-new-version.entry.js +1 -1
  376. package/dist/esm/gx-ide-new-version.entry.js.map +1 -1
  377. package/dist/esm/gx-ide-object-selector.entry.js +1 -1
  378. package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
  379. package/dist/esm/gx-ide-open-api-import.entry.js +1 -1
  380. package/dist/esm/gx-ide-open-api-import.entry.js.map +1 -1
  381. package/dist/esm/gx-ide-references.entry.js +1 -1
  382. package/dist/esm/gx-ide-references.entry.js.map +1 -1
  383. package/dist/esm/gx-ide-restore-version.entry.js +5 -4
  384. package/dist/esm/gx-ide-restore-version.entry.js.map +1 -1
  385. package/dist/esm/gx-ide-select-kb-items.entry.js +1 -1
  386. package/dist/esm/gx-ide-select-kb-items.entry.js.map +1 -1
  387. package/dist/esm/gx-ide-select-user-team.entry.js +1 -1
  388. package/dist/esm/gx-ide-select-user-team.entry.js.map +1 -1
  389. package/dist/esm/gx-ide-server-selector.entry.js +1 -1
  390. package/dist/esm/gx-ide-server-selector.entry.js.map +1 -1
  391. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  392. package/dist/esm/gx-ide-share-kb.entry.js.map +1 -1
  393. package/dist/esm/gx-ide-sign-in-result.entry.js +5 -3
  394. package/dist/esm/gx-ide-sign-in-result.entry.js.map +1 -1
  395. package/dist/esm/gx-ide-splash.entry.js +1 -1
  396. package/dist/esm/gx-ide-splash.entry.js.map +1 -1
  397. package/dist/esm/gx-ide-start-page.entry.js +1 -1
  398. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  399. package/dist/esm/gx-ide-starting-template.entry.js +1 -1
  400. package/dist/esm/gx-ide-starting-template.entry.js.map +1 -1
  401. package/dist/esm/gx-ide-team-dev-bring-all-changes-selector.entry.js +1 -1
  402. package/dist/esm/gx-ide-team-dev-bring-all-changes-selector.entry.js.map +1 -1
  403. package/dist/esm/gx-ide-team-dev-bring-changes.entry.js +1 -1
  404. package/dist/esm/gx-ide-team-dev-bring-changes.entry.js.map +1 -1
  405. package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
  406. package/dist/esm/gx-ide-team-dev-commit.entry.js.map +1 -1
  407. package/dist/esm/gx-ide-team-dev-history.entry.js +1 -1
  408. package/dist/esm/gx-ide-team-dev-history.entry.js.map +1 -1
  409. package/dist/esm/gx-ide-team-dev-preview.entry.js +2 -2
  410. package/dist/esm/gx-ide-team-dev-preview.entry.js.map +1 -1
  411. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
  412. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js.map +1 -1
  413. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
  414. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js.map +1 -1
  415. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
  416. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js.map +1 -1
  417. package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
  418. package/dist/esm/gx-ide-team-dev-update.entry.js.map +1 -1
  419. package/dist/esm/gx-ide-test.entry.js +1 -1
  420. package/dist/esm/gx-ide-test.entry.js.map +1 -1
  421. package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
  422. package/dist/esm/gx-ide-wf-settings.entry.js.map +1 -1
  423. package/dist/esm/gx-ide-ww-files.entry.js +1 -1
  424. package/dist/esm/gx-ide-ww-files.entry.js.map +1 -1
  425. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  426. package/dist/esm/gx-ide-ww-images.entry.js.map +1 -1
  427. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  428. package/dist/genexus-ide-ui/{p-5929f575.entry.js → p-00705e1c.entry.js} +2 -2
  429. package/dist/genexus-ide-ui/p-00705e1c.entry.js.map +1 -0
  430. package/dist/genexus-ide-ui/{p-18c3c961.entry.js → p-056955be.entry.js} +17 -17
  431. package/dist/genexus-ide-ui/p-056955be.entry.js.map +1 -0
  432. package/dist/genexus-ide-ui/{p-3ff33154.entry.js → p-0620e8f2.entry.js} +33 -33
  433. package/dist/genexus-ide-ui/p-0620e8f2.entry.js.map +1 -0
  434. package/dist/genexus-ide-ui/{p-4af50a00.entry.js → p-06c31f23.entry.js} +2 -2
  435. package/dist/genexus-ide-ui/p-06c31f23.entry.js.map +1 -0
  436. package/dist/genexus-ide-ui/{p-76fdea52.entry.js → p-0be24413.entry.js} +2 -2
  437. package/dist/genexus-ide-ui/p-0be24413.entry.js.map +1 -0
  438. package/dist/genexus-ide-ui/{p-8019e064.entry.js → p-0e4daeb7.entry.js} +11 -11
  439. package/dist/genexus-ide-ui/p-0e4daeb7.entry.js.map +1 -0
  440. package/dist/genexus-ide-ui/{p-840c09d2.entry.js → p-123ef674.entry.js} +2 -2
  441. package/dist/genexus-ide-ui/{p-70cd77bc.entry.js → p-217bd2d7.entry.js} +2 -2
  442. package/dist/genexus-ide-ui/p-217bd2d7.entry.js.map +1 -0
  443. package/dist/genexus-ide-ui/{p-d6e7a813.entry.js → p-24247ec3.entry.js} +11 -11
  444. package/dist/genexus-ide-ui/p-24247ec3.entry.js.map +1 -0
  445. package/dist/genexus-ide-ui/{p-af2f9983.entry.js → p-2b3f161f.entry.js} +21 -21
  446. package/dist/genexus-ide-ui/p-2b3f161f.entry.js.map +1 -0
  447. package/dist/genexus-ide-ui/{p-750eb88a.entry.js → p-34577955.entry.js} +9 -9
  448. package/dist/genexus-ide-ui/p-34577955.entry.js.map +1 -0
  449. package/dist/genexus-ide-ui/{p-bdaae26a.entry.js → p-35c2a2f9.entry.js} +2 -2
  450. package/dist/genexus-ide-ui/p-35c2a2f9.entry.js.map +1 -0
  451. package/dist/genexus-ide-ui/{p-ee77b260.entry.js → p-37812762.entry.js} +8 -8
  452. package/dist/genexus-ide-ui/p-37812762.entry.js.map +1 -0
  453. package/dist/genexus-ide-ui/{p-0a7cbbd0.entry.js → p-3bbdad29.entry.js} +2 -2
  454. package/dist/genexus-ide-ui/p-3bbdad29.entry.js.map +1 -0
  455. package/dist/genexus-ide-ui/{p-f05a137a.entry.js → p-42860e7e.entry.js} +71 -71
  456. package/dist/genexus-ide-ui/p-42860e7e.entry.js.map +1 -0
  457. package/dist/genexus-ide-ui/{p-168d3c83.entry.js → p-4431f46f.entry.js} +2 -2
  458. package/dist/genexus-ide-ui/{p-24cf1cd2.entry.js → p-4bafe061.entry.js} +39 -39
  459. package/dist/genexus-ide-ui/p-4bafe061.entry.js.map +1 -0
  460. package/dist/genexus-ide-ui/{p-e4116b36.entry.js → p-4d7433e0.entry.js} +2 -2
  461. package/dist/genexus-ide-ui/p-4d7433e0.entry.js.map +1 -0
  462. package/dist/genexus-ide-ui/{p-dcfae3da.entry.js → p-4f58397f.entry.js} +53 -53
  463. package/dist/genexus-ide-ui/p-4f58397f.entry.js.map +1 -0
  464. package/dist/genexus-ide-ui/{p-2567883a.entry.js → p-508c4bee.entry.js} +2 -2
  465. package/dist/genexus-ide-ui/{p-8cee1076.entry.js → p-55cb0614.entry.js} +14 -14
  466. package/dist/genexus-ide-ui/p-55cb0614.entry.js.map +1 -0
  467. package/dist/genexus-ide-ui/{p-6b430ac1.entry.js → p-5727fce7.entry.js} +2 -2
  468. package/dist/genexus-ide-ui/p-5727fce7.entry.js.map +1 -0
  469. package/dist/genexus-ide-ui/{p-520c3763.entry.js → p-572fdc25.entry.js} +2 -2
  470. package/dist/genexus-ide-ui/p-572fdc25.entry.js.map +1 -0
  471. package/dist/genexus-ide-ui/{p-a50c520c.entry.js → p-5864a82d.entry.js} +18 -18
  472. package/dist/genexus-ide-ui/p-5864a82d.entry.js.map +1 -0
  473. package/dist/genexus-ide-ui/{p-2a59b523.entry.js → p-60db2f02.entry.js} +2 -2
  474. package/dist/genexus-ide-ui/p-60db2f02.entry.js.map +1 -0
  475. package/dist/genexus-ide-ui/{p-178805d6.entry.js → p-632d3a74.entry.js} +2 -2
  476. package/dist/genexus-ide-ui/p-632d3a74.entry.js.map +1 -0
  477. package/dist/genexus-ide-ui/{p-36462e51.entry.js → p-63abf7e8.entry.js} +41 -41
  478. package/dist/genexus-ide-ui/p-63abf7e8.entry.js.map +1 -0
  479. package/dist/genexus-ide-ui/{p-bb5a5c23.entry.js → p-69e7d46b.entry.js} +12 -12
  480. package/dist/genexus-ide-ui/p-69e7d46b.entry.js.map +1 -0
  481. package/dist/genexus-ide-ui/{p-1d3da80d.entry.js → p-7b76b0e4.entry.js} +2 -2
  482. package/dist/genexus-ide-ui/p-7b76b0e4.entry.js.map +1 -0
  483. package/dist/genexus-ide-ui/{p-875b8615.entry.js → p-83a7e6fb.entry.js} +6 -6
  484. package/dist/genexus-ide-ui/p-83a7e6fb.entry.js.map +1 -0
  485. package/dist/genexus-ide-ui/{p-dbac8ae2.entry.js → p-886dc9c1.entry.js} +2 -2
  486. package/dist/genexus-ide-ui/{p-79d4490e.entry.js → p-90a50197.entry.js} +58 -58
  487. package/dist/genexus-ide-ui/p-90a50197.entry.js.map +1 -0
  488. package/dist/genexus-ide-ui/{p-49c1d667.entry.js → p-90b2307f.entry.js} +7 -7
  489. package/dist/genexus-ide-ui/p-90b2307f.entry.js.map +1 -0
  490. package/dist/genexus-ide-ui/{p-38d3adf1.entry.js → p-944a589f.entry.js} +21 -21
  491. package/dist/genexus-ide-ui/p-944a589f.entry.js.map +1 -0
  492. package/dist/genexus-ide-ui/{p-ca47bb29.entry.js → p-98820155.entry.js} +2 -2
  493. package/dist/genexus-ide-ui/{p-ca47bb29.entry.js.map → p-98820155.entry.js.map} +1 -1
  494. package/dist/genexus-ide-ui/{p-27786355.entry.js → p-98dbb43d.entry.js} +25 -25
  495. package/dist/genexus-ide-ui/p-98dbb43d.entry.js.map +1 -0
  496. package/dist/genexus-ide-ui/{p-b167052a.entry.js → p-9a10fa97.entry.js} +2 -2
  497. package/dist/genexus-ide-ui/{p-d0e61bdc.entry.js → p-9ca0c042.entry.js} +2 -2
  498. package/dist/genexus-ide-ui/p-9ca0c042.entry.js.map +1 -0
  499. package/dist/genexus-ide-ui/{p-c31f9478.entry.js → p-aad714a5.entry.js} +31 -31
  500. package/dist/genexus-ide-ui/p-aad714a5.entry.js.map +1 -0
  501. package/dist/genexus-ide-ui/{p-f61bde09.entry.js → p-af267991.entry.js} +49 -49
  502. package/dist/genexus-ide-ui/p-af267991.entry.js.map +1 -0
  503. package/dist/genexus-ide-ui/{p-22c0058b.entry.js → p-b5f2603f.entry.js} +11 -11
  504. package/dist/genexus-ide-ui/p-b5f2603f.entry.js.map +1 -0
  505. package/dist/genexus-ide-ui/{p-0dfa813a.entry.js → p-b6d59827.entry.js} +16 -16
  506. package/dist/genexus-ide-ui/p-b6d59827.entry.js.map +1 -0
  507. package/dist/genexus-ide-ui/{p-885e5d1c.entry.js → p-c2f2d79f.entry.js} +2 -2
  508. package/dist/genexus-ide-ui/p-c2f2d79f.entry.js.map +1 -0
  509. package/dist/genexus-ide-ui/{p-14c82d16.entry.js → p-c3a355c6.entry.js} +48 -48
  510. package/dist/genexus-ide-ui/p-c3a355c6.entry.js.map +1 -0
  511. package/dist/genexus-ide-ui/{p-38ae0c55.entry.js → p-ca1b9b8a.entry.js} +11 -10
  512. package/dist/genexus-ide-ui/p-ca1b9b8a.entry.js.map +1 -0
  513. package/dist/genexus-ide-ui/{p-1356ec09.entry.js → p-cd9e9e2b.entry.js} +2 -2
  514. package/dist/genexus-ide-ui/p-cd9e9e2b.entry.js.map +1 -0
  515. package/dist/genexus-ide-ui/{p-fa8cb0d8.entry.js → p-cdd2e79d.entry.js} +2 -2
  516. package/dist/genexus-ide-ui/{p-60bbf1b4.entry.js → p-d68412ac.entry.js} +8 -8
  517. package/dist/genexus-ide-ui/{p-a8465dff.entry.js → p-d761587f.entry.js} +4 -4
  518. package/dist/genexus-ide-ui/{p-a8465dff.entry.js.map → p-d761587f.entry.js.map} +1 -1
  519. package/dist/genexus-ide-ui/{p-b2966a6b.entry.js → p-d7964c12.entry.js} +2 -2
  520. package/dist/genexus-ide-ui/{p-8735d37c.entry.js → p-dbf9a97d.entry.js} +2 -2
  521. package/dist/genexus-ide-ui/{p-14823abe.entry.js → p-e0fb6257.entry.js} +9 -9
  522. package/dist/genexus-ide-ui/p-e0fb6257.entry.js.map +1 -0
  523. package/dist/genexus-ide-ui/{p-734d5fa1.entry.js → p-e32f5b19.entry.js} +2 -2
  524. package/dist/genexus-ide-ui/{p-af3cc463.entry.js → p-e3ff125f.entry.js} +2 -2
  525. package/dist/genexus-ide-ui/{p-899ec74e.entry.js → p-e883cd82.entry.js} +35 -35
  526. package/dist/genexus-ide-ui/p-e883cd82.entry.js.map +1 -0
  527. package/dist/genexus-ide-ui/{p-e4c250eb.entry.js → p-ebb56b65.entry.js} +23 -23
  528. package/dist/genexus-ide-ui/p-ebb56b65.entry.js.map +1 -0
  529. package/dist/genexus-ide-ui/{p-b44a875d.entry.js → p-f1b452fb.entry.js} +2 -2
  530. package/dist/genexus-ide-ui/p-f1b452fb.entry.js.map +1 -0
  531. package/dist/genexus-ide-ui/{p-ebfc64a5.entry.js → p-fb5dd0a2.entry.js} +10 -10
  532. package/dist/genexus-ide-ui/p-fb5dd0a2.entry.js.map +1 -0
  533. package/dist/genexus-ide-ui/{p-392bdfaa.entry.js → p-fb64e0b1.entry.js} +20 -20
  534. package/dist/genexus-ide-ui/p-fb64e0b1.entry.js.map +1 -0
  535. package/dist/genexus-ide-ui/{p-747fbbd8.entry.js → p-fdaeb19a.entry.js} +2 -2
  536. package/package.json +1 -1
  537. package/dist/genexus-ide-ui/p-0a7cbbd0.entry.js.map +0 -1
  538. package/dist/genexus-ide-ui/p-0dfa813a.entry.js.map +0 -1
  539. package/dist/genexus-ide-ui/p-1356ec09.entry.js.map +0 -1
  540. package/dist/genexus-ide-ui/p-14823abe.entry.js.map +0 -1
  541. package/dist/genexus-ide-ui/p-14c82d16.entry.js.map +0 -1
  542. package/dist/genexus-ide-ui/p-178805d6.entry.js.map +0 -1
  543. package/dist/genexus-ide-ui/p-18c3c961.entry.js.map +0 -1
  544. package/dist/genexus-ide-ui/p-1d3da80d.entry.js.map +0 -1
  545. package/dist/genexus-ide-ui/p-22c0058b.entry.js.map +0 -1
  546. package/dist/genexus-ide-ui/p-24cf1cd2.entry.js.map +0 -1
  547. package/dist/genexus-ide-ui/p-27786355.entry.js.map +0 -1
  548. package/dist/genexus-ide-ui/p-2a59b523.entry.js.map +0 -1
  549. package/dist/genexus-ide-ui/p-36462e51.entry.js.map +0 -1
  550. package/dist/genexus-ide-ui/p-38ae0c55.entry.js.map +0 -1
  551. package/dist/genexus-ide-ui/p-38d3adf1.entry.js.map +0 -1
  552. package/dist/genexus-ide-ui/p-392bdfaa.entry.js.map +0 -1
  553. package/dist/genexus-ide-ui/p-3ff33154.entry.js.map +0 -1
  554. package/dist/genexus-ide-ui/p-49c1d667.entry.js.map +0 -1
  555. package/dist/genexus-ide-ui/p-4af50a00.entry.js.map +0 -1
  556. package/dist/genexus-ide-ui/p-520c3763.entry.js.map +0 -1
  557. package/dist/genexus-ide-ui/p-5929f575.entry.js.map +0 -1
  558. package/dist/genexus-ide-ui/p-6b430ac1.entry.js.map +0 -1
  559. package/dist/genexus-ide-ui/p-70cd77bc.entry.js.map +0 -1
  560. package/dist/genexus-ide-ui/p-750eb88a.entry.js.map +0 -1
  561. package/dist/genexus-ide-ui/p-76fdea52.entry.js.map +0 -1
  562. package/dist/genexus-ide-ui/p-79d4490e.entry.js.map +0 -1
  563. package/dist/genexus-ide-ui/p-8019e064.entry.js.map +0 -1
  564. package/dist/genexus-ide-ui/p-875b8615.entry.js.map +0 -1
  565. package/dist/genexus-ide-ui/p-885e5d1c.entry.js.map +0 -1
  566. package/dist/genexus-ide-ui/p-899ec74e.entry.js.map +0 -1
  567. package/dist/genexus-ide-ui/p-8cee1076.entry.js.map +0 -1
  568. package/dist/genexus-ide-ui/p-a50c520c.entry.js.map +0 -1
  569. package/dist/genexus-ide-ui/p-af2f9983.entry.js.map +0 -1
  570. package/dist/genexus-ide-ui/p-b44a875d.entry.js.map +0 -1
  571. package/dist/genexus-ide-ui/p-bb5a5c23.entry.js.map +0 -1
  572. package/dist/genexus-ide-ui/p-bdaae26a.entry.js.map +0 -1
  573. package/dist/genexus-ide-ui/p-c31f9478.entry.js.map +0 -1
  574. package/dist/genexus-ide-ui/p-d0e61bdc.entry.js.map +0 -1
  575. package/dist/genexus-ide-ui/p-d6e7a813.entry.js.map +0 -1
  576. package/dist/genexus-ide-ui/p-dcfae3da.entry.js.map +0 -1
  577. package/dist/genexus-ide-ui/p-e4116b36.entry.js.map +0 -1
  578. package/dist/genexus-ide-ui/p-e4c250eb.entry.js.map +0 -1
  579. package/dist/genexus-ide-ui/p-ebfc64a5.entry.js.map +0 -1
  580. package/dist/genexus-ide-ui/p-ee77b260.entry.js.map +0 -1
  581. package/dist/genexus-ide-ui/p-f05a137a.entry.js.map +0 -1
  582. package/dist/genexus-ide-ui/p-f61bde09.entry.js.map +0 -1
  583. /package/dist/genexus-ide-ui/{p-840c09d2.entry.js.map → p-123ef674.entry.js.map} +0 -0
  584. /package/dist/genexus-ide-ui/{p-168d3c83.entry.js.map → p-4431f46f.entry.js.map} +0 -0
  585. /package/dist/genexus-ide-ui/{p-2567883a.entry.js.map → p-508c4bee.entry.js.map} +0 -0
  586. /package/dist/genexus-ide-ui/{p-dbac8ae2.entry.js.map → p-886dc9c1.entry.js.map} +0 -0
  587. /package/dist/genexus-ide-ui/{p-b167052a.entry.js.map → p-9a10fa97.entry.js.map} +0 -0
  588. /package/dist/genexus-ide-ui/{p-fa8cb0d8.entry.js.map → p-cdd2e79d.entry.js.map} +0 -0
  589. /package/dist/genexus-ide-ui/{p-60bbf1b4.entry.js.map → p-d68412ac.entry.js.map} +0 -0
  590. /package/dist/genexus-ide-ui/{p-b2966a6b.entry.js.map → p-d7964c12.entry.js.map} +0 -0
  591. /package/dist/genexus-ide-ui/{p-8735d37c.entry.js.map → p-dbf9a97d.entry.js.map} +0 -0
  592. /package/dist/genexus-ide-ui/{p-734d5fa1.entry.js.map → p-e32f5b19.entry.js.map} +0 -0
  593. /package/dist/genexus-ide-ui/{p-af3cc463.entry.js.map → p-e3ff125f.entry.js.map} +0 -0
  594. /package/dist/genexus-ide-ui/{p-747fbbd8.entry.js.map → p-fdaeb19a.entry.js.map} +0 -0
@@ -0,0 +1 @@
1
+ {"version":3,"names":["taskDocumentsToActionListItemModel","objects","selectedDocument","actionListDocuments","forEach","object","index","itemId","name","itemValue","push","id","caption","selected","type","convertSuggestedDocumentsToSuggestItems","suggestedDocuments","suggestItems","length","suggestedDocument","suggestItem","value","taskDocumentsCss","CHECKED_VALUE","CSS_BUNDLES","MODULE_ICON","getIconPath","category","MORE_ICON","colorType","DELETE_ICON","NODENAME","GxIdeBpmTaskDocuments","_GxIdeBpmTaskDocuments__componentLocale","set","this","_GxIdeBpmTaskDocuments_renderedFirstTime","_GxIdeBpmTaskDocuments_shortcutsSrc","getAssetPath","_GxIdeBpmTaskDocuments_chShortcutsEl","_GxIdeBpmTaskDocuments_deleteEnabledCheckboxEl","_GxIdeBpmTaskDocuments_deleteRequiredCheckboxEl","_GxIdeBpmTaskDocuments_newEnabledCheckboxEl","_GxIdeBpmTaskDocuments_newRequiredCheckboxEl","_GxIdeBpmTaskDocuments_readEnabledCheckboxEl","_GxIdeBpmTaskDocuments_readRequiredCheckboxEl","_GxIdeBpmTaskDocuments_updateEnabledCheckboxEl","_GxIdeBpmTaskDocuments_updateRequiredCheckboxEl","_GxIdeBpmTaskDocuments_cancelCallbackHandler","cancelCallback","_GxIdeBpmTaskDocuments_confirmCallbackHandler","confirmCallback","documents","_GxIdeBpmTaskDocuments_documentSuggestValueChangedHandler","async","e","detail","suggestDocumentsCallback","then","result","catch","_GxIdeBpmTaskDocuments_handleDeleteButton","filter","doc","__classPrivateFieldGet","_GxIdeBpmTaskDocuments_refreshDocumentsActionListState","call","_GxIdeBpmTaskDocuments_listenDocumentSelected","_GxIdeBpmTaskDocuments_instances","_GxIdeBpmTaskDocuments_addDocument","_GxIdeBpmTaskDocuments_objectSelectionChangedHandler","find","_a","item","sort","a","b","localeCompare","documentsActionListState","_b","_GxIdeBpmTaskDocuments_selectDocumentCallbackHandler","callbackResult","selectDocumentCallback","documentName","_GxIdeBpmTaskDocuments_renderActions","h","class","rowSelectionMode","keyboardNavigationMode","columnResizeMode","columnId","columnName","settingable","sortable","actions","enabledCheckbox","requiredCheckbox","rowid","readLabel","checkedValue","readEnabled","toString","ref","el","__classPrivateFieldSet","readRequired","newLabel","_c","newEnabled","_d","newRequired","updateLabel","_e","updateEnabled","_f","updateRequired","deleteLabel","_g","deleteEnabled","_h","deleteRequired","_GxIdeBpmTaskDocuments_renderEmptyState","stateIconSrc","isAnimated","stateTitle","emptyRightPanelInfo","title","onClick","buttonCaption","_GxIdeBpmTaskDocuments_renderFooter","part","footer","cancelButton","confirmButton","_GxIdeBpmTaskDocuments_renderMain","selection","model","onSelectedItemsChange","componentWillLoad","Locale","getComponentStrings","componentDidRender","componentDidRenderFirstTime","emit","componentName","shadowRoot","checkboxes","_GxIdeBpmTaskDocuments_getAllCheckboxes","checkbox","addEventListener","_GxIdeBpmTaskDocuments_handleCheckboxChange","bind","suspendShortcuts","suspend","render","Host","src","placeholder","suggestPlaceholder","suggest","onInput","onChange","suggestOptions","alreadyProcessed","autoExpand","hideMatchesAndShowNonMatches","highlightMatchedItems","matchCase","regularExpression","strict","addDocumentButtonLabel","clearDocumentButtonLabel","node","childNodes","child","nodeName","HTMLElement","documentExists","some","data","map"],"sources":["src/components/bpm/task-documents/helpers.ts","src/components/bpm/task-documents/task-documents.scss?tag=gx-ide-bpm-task-documents&encapsulation=shadow","src/components/bpm/task-documents/task-documents.tsx"],"sourcesContent":["import { TaskDocumentData } from \"./task-documents\";\nimport { ActionListItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/action-list/types\";\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\n\nexport const taskDocumentsToActionListItemModel = (\n objects: TaskDocumentData[],\n selectedDocument?: TaskDocumentData\n): ActionListItemModel[] => {\n const actionListDocuments: ActionListItemModel[] = [];\n objects?.forEach((object, index) => {\n const itemId = `task-${object.name}`;\n const itemValue = object.name;\n actionListDocuments.push({\n id: itemId,\n caption: itemValue,\n selected: selectedDocument\n ? selectedDocument.name === object.name\n : index === 0,\n type: \"actionable\"\n });\n });\n return actionListDocuments;\n};\n\n/* References Types*/\n\n/**\n * @description This function converts string[] to ComboBoxItemModel[]\n */\nexport const convertSuggestedDocumentsToSuggestItems = (\n suggestedDocuments: string[]\n): ComboBoxItemModel[] => {\n const suggestItems: ComboBoxItemModel[] = [];\n if (suggestedDocuments.length) {\n suggestedDocuments.forEach((suggestedDocument: string) => {\n const suggestItem: ComboBoxItemModel = {\n value: suggestedDocument,\n caption: suggestedDocument\n };\n suggestItems.push(suggestItem);\n });\n }\n return suggestItems;\n};\n","@import \"../../../global/temporary-mercury-overrides/_button.scss\";\n\n:host {\n display: grid;\n grid-template-columns: 1fr;\n grid-template-rows: 1fr max-content;\n block-size: 100%;\n overflow: auto;\n}\n.section {\n display: contents;\n}\n.main {\n display: grid;\n grid-template-rows: max-content 1fr max-content;\n block-size: 100%;\n overflow: auto;\n}\n\n.documents__header {\n grid-template-columns: 1fr max-content;\n}\n.documents__suggest {\n flex: 1;\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n Event,\n EventEmitter,\n State,\n getAssetPath,\n Method\n} from \"@stencil/core\";\nimport { Locale } from \"../../../common/locale\";\nimport {\n convertSuggestedDocumentsToSuggestItems,\n taskDocumentsToActionListItemModel\n} from \"./helpers\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\nimport { ActionListItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/action-list/types\";\nimport { ComboBoxItemModel } from \"@genexus/chameleon-controls-library/dist/types/components/combo-box/types\";\nimport { ChComboBoxRenderCustomEvent } from \"@genexus/chameleon-controls-library\";\n\nconst CHECKED_VALUE = \"true\";\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/list-box\",\n \"components/tabular-grid\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\nconst MODULE_ICON = getIconPath({\n category: \"objects\",\n name: \"module\"\n});\nconst MORE_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"primary\"\n});\nconst DELETE_ICON = getIconPath({\n category: \"menus\",\n name: \"delete\",\n colorType: \"primary\"\n});\n\nconst NODENAME = \"CH-CHECKBOX\";\n@Component({\n tag: \"gx-ide-bpm-task-documents\",\n styleUrl: \"task-documents.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/bpm-task-documents\"]\n})\nexport class GxIdeBpmTaskDocuments {\n #_componentLocale: any;\n #renderedFirstTime = false;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/bpm-task-documents/shortcuts.json`\n );\n\n @Element() el: HTMLGxIdeBpmTaskDocumentsElement;\n\n #chShortcutsEl: HTMLChShortcutsElement;\n #deleteEnabledCheckboxEl: HTMLChCheckboxElement;\n #deleteRequiredCheckboxEl: HTMLChCheckboxElement;\n\n #newEnabledCheckboxEl: HTMLChCheckboxElement;\n #newRequiredCheckboxEl: HTMLChCheckboxElement;\n #readEnabledCheckboxEl: HTMLChCheckboxElement;\n #readRequiredCheckboxEl: HTMLChCheckboxElement;\n #updateEnabledCheckboxEl: HTMLChCheckboxElement;\n #updateRequiredCheckboxEl: HTMLChCheckboxElement;\n\n /**\n * Documents state for the action list\n */\n @State() documentsActionListState: ActionListItemModel[] = [];\n\n @State() documentName: string = null;\n\n /**\n * Document selected in the action list\n */\n @State() selectedDocument: TaskDocumentData = null;\n\n /**\n * Possible suggestions for the documents\n */\n @State() suggestedDocuments: ComboBoxItemModel[];\n\n /**\n * @property documents\n * @description The current value of the documents for the task\n */\n\n @Prop({ mutable: true }) documents: TaskDocumentData[];\n\n /**\n * @property cancelCallback\n * @description Callback invoked when the user cancels the application declaration (Cancel button)\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * @property confirmCallback\n * @description Callback invoked when the user confirms the application declaration (Ok button)\n */\n @Prop() readonly confirmCallback: ConfirmCallback;\n\n /**\n * @property selectDocumentCallback\n * @description Callback invoked when the user presses the '...' button to access the WorkflowDocuments selection dialog. Returns the name of the document to be inserted in the input or 'undefined' if it was canceled.\n */\n @Prop() readonly selectDocumentCallback: SelectDocumentCallback;\n\n /**\n * @property suggestDocumentsCallback\n * @description Callback that must be called to obtain options for the document input.\n */\n @Prop() readonly suggestDocumentsCallback: SuggestDocumentsCallback;\n\n /**\n * @description Gets fired when the component has rendered for the first time.\n */\n @Event() componentDidRenderFirstTime: EventEmitter<string>;\n\n async componentWillLoad() {\n this.#_componentLocale = await Locale.getComponentStrings(this.el);\n this.#refreshDocumentsActionListState();\n }\n\n componentDidRender() {\n if (!this.#renderedFirstTime) {\n this.componentDidRenderFirstTime.emit(\n this.#_componentLocale.componentName\n );\n this.#renderedFirstTime = true;\n }\n const shadowRoot = this.el.shadowRoot;\n const checkboxes = this.#getAllCheckboxes(\n shadowRoot as unknown as HTMLElement\n );\n if (checkboxes) {\n checkboxes.forEach(checkbox => {\n checkbox.addEventListener(\n \"input\",\n this.#handleCheckboxChange.bind(this)\n );\n });\n }\n }\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n #getAllCheckboxes(node: HTMLElement): HTMLChCheckboxElement[] {\n const checkboxes: HTMLChCheckboxElement[] = [];\n\n node.childNodes.forEach(child => {\n if (child.nodeName === NODENAME) {\n checkboxes.push(child as HTMLChCheckboxElement);\n } else if (child instanceof HTMLElement) {\n checkboxes.push(...this.#getAllCheckboxes(child));\n }\n });\n\n return checkboxes;\n }\n #addDocument(documentName: string) {\n const documentExists = this.documents.some(\n doc => doc.name === documentName\n );\n if (!documentExists) {\n this.documents = [\n ...this.documents,\n {\n name: documentName,\n deleteEnabled: false,\n deleteRequired: false,\n newEnabled: false,\n newRequired: false,\n readEnabled: false,\n readRequired: false,\n updateEnabled: false,\n updateRequired: false\n }\n ];\n this.#refreshDocumentsActionListState();\n }\n }\n\n #cancelCallbackHandler = () => {\n this.cancelCallback();\n };\n #confirmCallbackHandler = () => {\n this.confirmCallback(this.documents);\n };\n\n #documentSuggestValueChangedHandler = async (\n e: ChComboBoxRenderCustomEvent<string> & InputEvent\n ) => {\n const value = e.detail;\n this.suggestDocumentsCallback(value)\n .then(result => {\n this.suggestedDocuments =\n convertSuggestedDocumentsToSuggestItems(result);\n })\n .catch(() => {\n // to do\n });\n };\n\n #handleCheckboxChange() {\n const data: TaskDocumentData = {\n name: this.selectedDocument.name,\n readEnabled: this.#readEnabledCheckboxEl.value === CHECKED_VALUE,\n readRequired: this.#readRequiredCheckboxEl.value === CHECKED_VALUE,\n newEnabled: this.#newEnabledCheckboxEl.value === CHECKED_VALUE,\n newRequired: this.#newRequiredCheckboxEl.value === CHECKED_VALUE,\n updateEnabled: this.#updateEnabledCheckboxEl.value === CHECKED_VALUE,\n updateRequired: this.#updateRequiredCheckboxEl.value === CHECKED_VALUE,\n deleteEnabled: this.#deleteEnabledCheckboxEl.value === CHECKED_VALUE,\n deleteRequired: this.#deleteRequiredCheckboxEl.value === CHECKED_VALUE\n };\n\n this.selectedDocument = data;\n\n this.documents = this.documents.map(doc =>\n doc.name === this.selectedDocument.name ? this.selectedDocument : doc\n );\n }\n\n #handleDeleteButton = () => {\n this.documents = this.documents.filter(\n doc => doc.name !== this.selectedDocument.name\n );\n this.selectedDocument = null;\n this.#refreshDocumentsActionListState();\n };\n\n #listenDocumentSelected = async (e: CustomEvent<string>) => {\n if (e.detail) {\n this.#addDocument(e.detail);\n }\n };\n\n #objectSelectionChangedHandler = (e: CustomEvent) => {\n this.selectedDocument = this.documents.find(\n doc => doc.name === e.detail[0]?.item.caption\n );\n };\n\n #refreshDocumentsActionListState = () => {\n this.documents?.sort((a, b) => {\n return a.name.localeCompare(b.name);\n });\n this.documentsActionListState = taskDocumentsToActionListItemModel(\n this.documents,\n this.selectedDocument\n );\n\n this.selectedDocument =\n this.selectedDocument || this.documents?.[0] || null;\n };\n\n #selectDocumentCallbackHandler = async () => {\n const callbackResult = await this.selectDocumentCallback();\n if (callbackResult) {\n this.documentName = callbackResult;\n this.#addDocument(callbackResult);\n }\n };\n\n #renderActions = () => {\n return (\n <ch-tabular-grid\n class=\"tabular-grid scrollable\"\n rowSelectionMode=\"none\"\n keyboardNavigationMode=\"focus\"\n columnResizeMode=\"single\"\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId=\"code\"\n columnName=\"\"\n settingable={false}\n sortable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId=\"enabled\"\n settingable={false}\n sortable={false}\n columnName={this.#_componentLocale.actions.enabledCheckbox}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n class=\"tabular-grid-column\"\n columnId=\"required\"\n settingable={false}\n sortable={false}\n columnName={this.#_componentLocale.actions.requiredCheckbox}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n <ch-tabular-grid-row\n // read\n class=\"tabular-grid-row\"\n rowid=\"read\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#_componentLocale.actions.readLabel}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue={CHECKED_VALUE}\n value={this.selectedDocument?.readEnabled.toString()}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#readEnabledCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue={CHECKED_VALUE}\n value={this.selectedDocument?.readRequired.toString()}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#readRequiredCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n\n <ch-tabular-grid-row\n // new\n class=\"tabular-grid-row\"\n rowid=\"read\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#_componentLocale.actions.newLabel}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue={CHECKED_VALUE}\n value={this.selectedDocument?.newEnabled.toString()}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#newEnabledCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue={CHECKED_VALUE}\n value={this.selectedDocument?.newRequired.toString()}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#newRequiredCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n\n <ch-tabular-grid-row\n // update\n class=\"tabular-grid-row\"\n rowid=\"read\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#_componentLocale.actions.updateLabel}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue={CHECKED_VALUE}\n value={this.selectedDocument?.updateEnabled.toString()}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#updateEnabledCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue={CHECKED_VALUE}\n value={this.selectedDocument?.updateRequired.toString()}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#updateRequiredCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n\n <ch-tabular-grid-row\n // delete\n class=\"tabular-grid-row\"\n rowid=\"read\"\n >\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {this.#_componentLocale.actions.deleteLabel}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue={CHECKED_VALUE}\n value={this.selectedDocument?.deleteEnabled.toString()}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#deleteEnabledCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-checkbox\n class=\"checkbox\"\n checkedValue={CHECKED_VALUE}\n value={this.selectedDocument?.deleteRequired.toString()}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#deleteRequiredCheckboxEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n </ch-tabular-grid>\n );\n };\n\n #renderEmptyState = () => {\n return (\n <gx-ide-empty-state\n class=\"recent-objects__empty-state\"\n stateIconSrc={MODULE_ICON}\n isAnimated={this.#renderedFirstTime}\n stateTitle={this.#_componentLocale.emptyRightPanelInfo.title}\n >\n <button\n class=\"button-secondary\"\n onClick={this.#selectDocumentCallbackHandler}\n >\n {this.#_componentLocale.emptyRightPanelInfo.buttonCaption}\n </button>\n </gx-ide-empty-state>\n );\n };\n\n #renderFooter = () => {\n return (\n <footer class=\"footer dialog-footer dialog-footer-with-border spacing-body-block-end spacing-body-inline\">\n <div class=\"buttons-spacer\">\n <button\n class=\"button-secondary\"\n id=\"button-cancel\"\n onClick={this.#cancelCallbackHandler}\n part=\"button-cancel\"\n >\n {this.#_componentLocale.footer.cancelButton}\n </button>\n <button\n class=\"button-primary\"\n id=\"button-create\"\n onClick={this.#confirmCallbackHandler}\n part=\"button-create\"\n >\n {this.#_componentLocale.footer.confirmButton}\n </button>\n </div>\n </footer>\n );\n };\n\n #renderMain = () => {\n return [\n <div class=\"documents__list spacing-body-inline\">\n <ch-action-list-render\n selection=\"single\"\n class=\"list-box\"\n model={this.documentsActionListState}\n onSelectedItemsChange={this.#objectSelectionChangedHandler}\n ></ch-action-list-render>\n </div>,\n this.#renderActions()\n ];\n };\n\n render() {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n <section class=\"section\">\n <div class=\"main field-group\">\n <div class=\"documents__header buttons-spacer spacing-body-inline spacing-body-block-start\">\n <ch-combo-box-render\n class=\"combo-box documents__suggest\"\n model={this.suggestedDocuments}\n placeholder={\n this.#_componentLocale.documents.suggestPlaceholder\n }\n suggest={true}\n onInput={this.#documentSuggestValueChangedHandler}\n onChange={this.#listenDocumentSelected}\n suggestOptions={{\n alreadyProcessed: false,\n autoExpand: true,\n hideMatchesAndShowNonMatches: false,\n highlightMatchedItems: false,\n matchCase: false,\n regularExpression: false,\n strict: false\n }}\n ></ch-combo-box-render>\n\n <span>\n <button\n class=\"button-tertiary button-icon-only\"\n aria-label={\n this.#_componentLocale.documents.addDocumentButtonLabel\n }\n title={\n this.#_componentLocale.documents.addDocumentButtonLabel\n }\n onClick={this.#selectDocumentCallbackHandler}\n >\n <ch-image class=\"icon-xs\" src={MORE_ICON}></ch-image>\n </button>\n\n <button\n class=\"button-tertiary button-icon-only\"\n aria-label={\n this.#_componentLocale.documents.clearDocumentButtonLabel\n }\n title={\n this.#_componentLocale.documents.clearDocumentButtonLabel\n }\n onClick={this.#handleDeleteButton}\n >\n <ch-image class=\"icon-xs\" src={DELETE_ICON}></ch-image>\n </button>\n </span>\n </div>\n\n {this.documentsActionListState.length\n ? this.#renderMain()\n : this.#renderEmptyState()}\n </div>\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n\nexport type TaskDocumentData = {\n name: string;\n readEnabled: boolean;\n readRequired: boolean;\n newEnabled: boolean;\n newRequired: boolean;\n updateEnabled: boolean;\n updateRequired: boolean;\n deleteEnabled: boolean;\n deleteRequired: boolean;\n};\n\nexport type SuggestDocumentsCallback = (\n documentName: string\n) => Promise<string[] | undefined>;\nexport type SelectDocumentCallback = () => Promise<string | undefined>;\nexport type ConfirmCallback = (data: TaskDocumentData[]) => Promise<void>;\nexport type CancelCallback = () => Promise<void>;\n"],"mappings":";;;;;;;;;;;;;;AAIO,MAAMA,qCAAqC,CAChDC,GACAC;EAEA,MAAMC,IAA6C;EACnDF,MAAO,QAAPA,WAAO,aAAPA,EAASG,SAAQ,CAACC,GAAQC;IACxB,MAAMC,IAAS,QAAQF,EAAOG;IAC9B,MAAMC,IAAYJ,EAAOG;IACzBL,EAAoBO,KAAK;MACvBC,IAAIJ;MACJK,SAASH;MACTI,UAAUX,IACNA,EAAiBM,SAASH,EAAOG,OACjCF,MAAU;MACdQ,MAAM;;AACN;EAEJ,OAAOX;AAAmB;;;;;GAQrB,OAAMY,0CACXC;EAEA,MAAMC,IAAoC;EAC1C,IAAID,EAAmBE,QAAQ;IAC7BF,EAAmBZ,SAASe;MAC1B,MAAMC,IAAiC;QACrCC,OAAOF;QACPP,SAASO;;MAEXF,EAAaP,KAAKU;AAAY;;EAGlC,OAAOH;AAAY;;AC1CrB,MAAMK,IAAmB;;;;;;;;;;;;;;;;;ACsBzB,MAAMC,IAAgB;;AACtB,MAAMC,IAA8B,EAClC,qBACA,uBACA,2BACA,oBACA,gBACA,iBACA;;AAEF,MAAMC,IAAcC,EAAY;EAC9BC,UAAU;EACVnB,MAAM;;;AAER,MAAMoB,IAAYF,EAAY;EAC5BC,UAAU;EACVnB,MAAM;EACNqB,WAAW;;;AAEb,MAAMC,IAAcJ,EAAY;EAC9BC,UAAU;EACVnB,MAAM;EACNqB,WAAW;;;AAGb,MAAME,IAAW;;MAOJC,IAAqB;;;;;IAChCC,EAAAC,IAAAC,WAAA;IACAC,EAAAF,IAAAC,MAAqB;IACrBE,EAAAH,IAAAC,MAAgBG,EACd;IAKFC,EAAAL,IAAAC,WAAA;IACAK,EAAAN,IAAAC,WAAA;IACAM,EAAAP,IAAAC,WAAA;IAEAO,EAAAR,IAAAC,WAAA;IACAQ,EAAAT,IAAAC,WAAA;IACAS,EAAAV,IAAAC,WAAA;IACAU,EAAAX,IAAAC,WAAA;IACAW,EAAAZ,IAAAC,WAAA;IACAY,EAAAb,IAAAC,WAAA;IAiIAa,EAAAd,IAAAC,OAAyB;MACvBA,KAAKc;AAAgB;IAEvBC,EAAAhB,IAAAC,OAA0B;MACxBA,KAAKgB,gBAAgBhB,KAAKiB;AAAU;IAGtCC,EAAAnB,IAAAC,OAAsCmB,MACpCC;MAEA,MAAMlC,IAAQkC,EAAEC;MAChBrB,KAAKsB,yBAAyBpC,GAC3BqC,MAAKC;QACJxB,KAAKnB,qBACHD,wCAAwC4C;AAAO,UAElDC,OAAM;AAEL;IAuBNC,EAAA3B,IAAAC,OAAsB;MACpBA,KAAKiB,YAAYjB,KAAKiB,UAAUU,QAC9BC,KAAOA,EAAIvD,SAAS2B,KAAKjC,iBAAiBM;MAE5C2B,KAAKjC,mBAAmB;MACxB8D,EAAA7B,MAAI8B,GAAA,KAAiCC,KAArC/B;AAAuC;IAGzCgC,EAAAjC,IAAAC,OAA0BmB,MAAOC;MAC/B,IAAIA,EAAEC,QAAQ;QACZQ,EAAA7B,MAAIiC,GAAA,KAAAC,GAAaH,KAAjB/B,MAAkBoB,EAAEC;;;IAIxBc,EAAApC,IAAAC,OAAkCoB;MAChCpB,KAAKjC,mBAAmBiC,KAAKiB,UAAUmB,MACrCR;QAAG,IAAAS;QAAI,OAAAT,EAAIvD,WAASgE,IAAAjB,EAAEC,OAAO,QAAE,QAAAgB,WAAA,aAAAA,EAAEC,KAAK7D;AAAO;AAC9C;IAGHqD,EAAA/B,IAAAC,OAAmC;;OACjCqC,IAAArC,KAAKiB,eAAS,QAAAoB,WAAA,aAAAA,EAAEE,MAAK,CAACC,GAAGC,MAChBD,EAAEnE,KAAKqE,cAAcD,EAAEpE;MAEhC2B,KAAK2C,2BAA2B9E,mCAC9BmC,KAAKiB,WACLjB,KAAKjC;MAGPiC,KAAKjC,mBACHiC,KAAKjC,sBAAoB6E,IAAA5C,KAAKiB,eAAS,QAAA2B,WAAA,aAAAA,EAAG,OAAM;AAAI;IAGxDC,EAAA9C,IAAAC,OAAiCmB;MAC/B,MAAM2B,UAAuB9C,KAAK+C;MAClC,IAAID,GAAgB;QAClB9C,KAAKgD,eAAeF;QACpBjB,EAAA7B,MAAIiC,GAAA,KAAAC,GAAaH,KAAjB/B,MAAkB8C;;;IAItBG,EAAAlD,IAAAC,OAAiB;;MACf,OACEkD,EAAA;QACEC,OAAM;QACNC,kBAAiB;QACjBC,wBAAuB;QACvBC,kBAAiB;SAEjBJ,EAAA;QAA2BC,OAAM;SAC/BD,EAAA;QACEC,OAAM;QACNI,UAAS;QACTC,YAAW;QACXC,aAAa;QACbC,UAAU;UAEZR,EAAA;QACEC,OAAM;QACNI,UAAS;QACTE,aAAa;QACbC,UAAU;QACVF,YAAY3B,EAAA7B,MAAIF,GAAA,KAAmB6D,QAAQC;UAE7CV,EAAA;QACEC,OAAM;QACNI,UAAS;QACTE,aAAa;QACbC,UAAU;QACVF,YAAY3B,EAAA7B,MAAIF,GAAA,KAAmB6D,QAAQE;WAI/CX,EAAA;;QAEEC,OAAM;QACNW,OAAM;SAENZ,EAAA;QAAsBC,OAAM;SACzBtB,EAAA7B,MAAIF,GAAA,KAAmB6D,QAAQI,YAElCb,EAAA;QAAsBC,OAAM;SAC1BD,EAAA;QACEC,OAAM;QACNa,cAAc5E;QACdF,QAAOmD,IAAArC,KAAKjC,sBAAgB,QAAAsE,WAAA,aAAAA,EAAE4B,YAAYC;QAC1CC,KAAMC,KACHC,EAAArE,MAAIS,GAA0B2D,GAA2B;WAIhElB,EAAA;QAAsBC,OAAM;SAC1BD,EAAA;QACEC,OAAM;QACNa,cAAc5E;QACdF,QAAO0D,IAAA5C,KAAKjC,sBAAgB,QAAA6E,WAAA,aAAAA,EAAE0B,aAAaJ;QAC3CC,KAAMC,KACHC,EAAArE,MAAIU,GAA2B0D,GAA2B;YAMnElB,EAAA;;QAEEC,OAAM;QACNW,OAAM;SAENZ,EAAA;QAAsBC,OAAM;SACzBtB,EAAA7B,MAAIF,GAAA,KAAmB6D,QAAQY,WAElCrB,EAAA;QAAsBC,OAAM;SAC1BD,EAAA;QACEC,OAAM;QACNa,cAAc5E;QACdF,QAAOsF,IAAAxE,KAAKjC,sBAAgB,QAAAyG,WAAA,aAAAA,EAAEC,WAAWP;QACzCC,KAAMC,KACHC,EAAArE,MAAIO,GAAyB6D,GAA2B;WAI/DlB,EAAA;QAAsBC,OAAM;SAC1BD,EAAA;QACEC,OAAM;QACNa,cAAc5E;QACdF,QAAOwF,IAAA1E,KAAKjC,sBAAgB,QAAA2G,WAAA,aAAAA,EAAEC,YAAYT;QAC1CC,KAAMC,KACHC,EAAArE,MAAIQ,GAA0B4D,GAA2B;YAMlElB,EAAA;;QAEEC,OAAM;QACNW,OAAM;SAENZ,EAAA;QAAsBC,OAAM;SACzBtB,EAAA7B,MAAIF,GAAA,KAAmB6D,QAAQiB,cAElC1B,EAAA;QAAsBC,OAAM;SAC1BD,EAAA;QACEC,OAAM;QACNa,cAAc5E;QACdF,QAAO2F,IAAA7E,KAAKjC,sBAAgB,QAAA8G,WAAA,aAAAA,EAAEC,cAAcZ;QAC5CC,KAAMC,KACHC,EAAArE,MAAIW,GAA4ByD,GAA2B;WAIlElB,EAAA;QAAsBC,OAAM;SAC1BD,EAAA;QACEC,OAAM;QACNa,cAAc5E;QACdF,QAAO6F,IAAA/E,KAAKjC,sBAAgB,QAAAgH,WAAA,aAAAA,EAAEC,eAAed;QAC7CC,KAAMC,KACHC,EAAArE,MAAIY,GAA6BwD,GAA2B;YAMrElB,EAAA;;QAEEC,OAAM;QACNW,OAAM;SAENZ,EAAA;QAAsBC,OAAM;SACzBtB,EAAA7B,MAAIF,GAAA,KAAmB6D,QAAQsB,cAElC/B,EAAA;QAAsBC,OAAM;SAC1BD,EAAA;QACEC,OAAM;QACNa,cAAc5E;QACdF,QAAOgG,IAAAlF,KAAKjC,sBAAgB,QAAAmH,WAAA,aAAAA,EAAEC,cAAcjB;QAC5CC,KAAMC,KACHC,EAAArE,MAAIK,GAA4B+D,GAA2B;WAIlElB,EAAA;QAAsBC,OAAM;SAC1BD,EAAA;QACEC,OAAM;QACNa,cAAc5E;QACdF,QAAOkG,IAAApF,KAAKjC,sBAAgB,QAAAqH,WAAA,aAAAA,EAAEC,eAAenB;QAC7CC,KAAMC,KACHC,EAAArE,MAAIM,GAA6B8D,GAA2B;;AAKrD;IAItBkB,EAAAvF,IAAAC,OAAoB,MAEhBkD,EAAA;MACEC,OAAM;MACNoC,cAAcjG;MACdkG,YAAY3D,EAAA7B,MAAIC,GAAA;MAChBwF,YAAY5D,EAAA7B,MAAIF,GAAA,KAAmB4F,oBAAoBC;OAEvDzC,EAAA;MACEC,OAAM;MACNyC,SAAS/D,EAAA7B,MAAI6C,GAAA;OAEZhB,EAAA7B,MAAIF,GAAA,KAAmB4F,oBAAoBG;IAMpDC,EAAA/F,IAAAC,OAAgB,MAEZkD,EAAA;MAAQC,OAAM;OACZD,EAAA;MAAKC,OAAM;OACTD,EAAA;MACEC,OAAM;MACN3E,IAAG;MACHoH,SAAS/D,EAAA7B,MAAIa,GAAA;MACbkF,MAAK;OAEJlE,EAAA7B,MAAIF,GAAA,KAAmBkG,OAAOC,eAEjC/C,EAAA;MACEC,OAAM;MACN3E,IAAG;MACHoH,SAAS/D,EAAA7B,MAAIe,GAAA;MACbgF,MAAK;OAEJlE,EAAA7B,MAAIF,GAAA,KAAmBkG,OAAOE;IAOzCC,EAAApG,IAAAC,OAAc,MACL,EACLkD,EAAA;MAAKC,OAAM;OACTD,EAAA;MACEkD,WAAU;MACVjD,OAAM;MACNkD,OAAOrG,KAAK2C;MACZ2D,uBAAuBzE,EAAA7B,MAAImC,GAAA;SAG/BN,EAAA7B,MAAIiD,GAAA,KAAelB,KAAnB/B;oCA9ZuD;wBAE3B;4BAKc;;;;;;;;EA2C9C,uBAAMuG;IACJlC,EAAArE,MAAIF,SAA2B0G,EAAOC,oBAAoBzG,KAAKoE,KAAG;IAClEvC,EAAA7B,MAAI8B,GAAA,KAAiCC,KAArC/B;;EAGF,kBAAA0G;IACE,KAAK7E,EAAA7B,MAAIC,GAAA,MAAqB;MAC5BD,KAAK2G,4BAA4BC,KAC/B/E,EAAA7B,MAAIF,GAAA,KAAmB+G;MAEzBxC,EAAArE,MAAIC,GAAsB,MAAI;;IAEhC,MAAM6G,IAAa9G,KAAKoE,GAAG0C;IAC3B,MAAMC,IAAalF,EAAA7B,MAAIiC,GAAA,KAAA+E,GAAkBjF,KAAtB/B,MACjB8G;IAEF,IAAIC,GAAY;MACdA,EAAW9I,SAAQgJ;QACjBA,EAASC,iBACP,SACArF,EAAA7B,MAAIiC,GAAA,KAAAkF,GAAuBC,KAAKpH;AACjC;;;;;SASP,sBAAMqH,CAAiBA;IACrB,IAAIA,GAAkB;MACpBxF,EAAA7B,MAAII,GAAA,KAAgBkH,UAAU;WACzB;MACLzF,EAAA7B,MAAII,GAAA,KAAgBkH,UAAU;;;EA8UlC,MAAAC;IACE,OACErE,EAACsE,GAAI;MAACrE,OAAM;OACVD,EAAA;MAAUmD,OAAOhH;QACjB6D,EAAA;MACEuE,KAAK5F,EAAA7B,MAAIE,GAAA;MACTiE,KAAMC,KACHC,EAAArE,MAAII,GAAkBgE,GAA4B;QAGvDlB,EAAA;MAASC,OAAM;OACbD,EAAA;MAAKC,OAAM;OACTD,EAAA;MAAKC,OAAM;OACTD,EAAA;MACEC,OAAM;MACNkD,OAAOrG,KAAKnB;MACZ6I,aACE7F,EAAA7B,MAAIF,GAAA,KAAmBmB,UAAU0G;MAEnCC,SAAS;MACTC,SAAShG,EAAA7B,MAAIkB,GAAA;MACb4G,UAAUjG,EAAA7B,MAAIgC,GAAA;MACd+F,gBAAgB;QACdC,kBAAkB;QAClBC,YAAY;QACZC,8BAA8B;QAC9BC,uBAAuB;QACvBC,WAAW;QACXC,mBAAmB;QACnBC,QAAQ;;QAIZpF,EAAA,cACEA,EAAA;MACEC,OAAM;MAAkC,cAEtCtB,EAAA7B,MAAIF,GAAA,KAAmBmB,UAAUsH;MAEnC5C,OACE9D,EAAA7B,MAAIF,GAAA,KAAmBmB,UAAUsH;MAEnC3C,SAAS/D,EAAA7B,MAAI6C,GAAA;OAEbK,EAAA;MAAUC,OAAM;MAAUsE,KAAKhI;SAGjCyD,EAAA;MACEC,OAAM;MAAkC,cAEtCtB,EAAA7B,MAAIF,GAAA,KAAmBmB,UAAUuH;MAEnC7C,OACE9D,EAAA7B,MAAIF,GAAA,KAAmBmB,UAAUuH;MAEnC5C,SAAS/D,EAAA7B,MAAI0B,GAAA;OAEbwB,EAAA;MAAUC,OAAM;MAAUsE,KAAK9H;WAKpCK,KAAK2C,yBAAyB5D,SAC3B8C,EAAA7B,MAAImG,GAAA,KAAYpE,KAAhB/B,QACA6B,EAAA7B,MAAIsF,GAAA,KAAkBvD,KAAtB/B,QAEL6B,EAAA7B,MAAI8F,GAAA,KAAc/D,KAAlB/B;;;;;;;;;;;;;;;qDA5YSyI;EAChB,MAAM1B,IAAsC;EAE5C0B,EAAKC,WAAWzK,SAAQ0K;IACtB,IAAIA,EAAMC,aAAahJ,GAAU;MAC/BmH,EAAWxI,KAAKoK;WACX,IAAIA,aAAiBE,aAAa;MACvC9B,EAAWxI,QAAQsD,EAAA7B,MAAIiC,GAAA,KAAA+E,yCAAkBjF,KAAtB/B,MAAuB2I;;;EAI9C,OAAO5B;AACT,GAAC7E,IAAA,SAAAA,mCACYc;EACX,MAAM8F,IAAiB9I,KAAKiB,UAAU8H,MACpCnH,KAAOA,EAAIvD,SAAS2E;EAEtB,KAAK8F,GAAgB;IACnB9I,KAAKiB,YAAY,KACZjB,KAAKiB,WACR;MACE5C,MAAM2E;MACNmC,eAAe;MACfE,gBAAgB;MAChBZ,YAAY;MACZE,aAAa;MACbV,aAAa;MACbK,cAAc;MACdQ,eAAe;MACfE,gBAAgB;;IAGpBnD,EAAA7B,MAAI8B,GAAA,KAAiCC,KAArC/B;;AAEJ,GAACmH,IAAA,SAAAA;EAwBC,MAAM6B,IAAyB;IAC7B3K,MAAM2B,KAAKjC,iBAAiBM;IAC5B4F,aAAapC,EAAA7B,MAAIS,GAAA,KAAwBvB,UAAUE;IACnDkF,cAAczC,EAAA7B,MAAIU,GAAA,KAAyBxB,UAAUE;IACrDqF,YAAY5C,EAAA7B,MAAIO,GAAA,KAAuBrB,UAAUE;IACjDuF,aAAa9C,EAAA7B,MAAIQ,GAAA,KAAwBtB,UAAUE;IACnD0F,eAAejD,EAAA7B,MAAIW,GAAA,KAA0BzB,UAAUE;IACvD4F,gBAAgBnD,EAAA7B,MAAIY,GAAA,KAA2B1B,UAAUE;IACzD+F,eAAetD,EAAA7B,MAAIK,GAAA,KAA0BnB,UAAUE;IACvDiG,gBAAgBxD,EAAA7B,MAAIM,GAAA,KAA2BpB,UAAUE;;EAG3DY,KAAKjC,mBAAmBiL;EAExBhJ,KAAKiB,YAAYjB,KAAKiB,UAAUgI,KAAIrH,KAClCA,EAAIvD,SAAS2B,KAAKjC,iBAAiBM,OAAO2B,KAAKjC,mBAAmB6D;AAEtE"}
@@ -50,7 +50,7 @@ const createArrayOfItems = (t, i) => {
50
50
  return s;
51
51
  };
52
52
 
53
- const h = ":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}:host{display:grid;block-size:100%;grid-template-rows:max-content 1fr max-content}.header{display:grid;padding:var(--gxg-container--padding);gap:var(--spacing-gap-l);grid-template-columns:1fr auto;margin-block-end:16px}.header :nth-child(2){align-self:self-end}.deploy-properties{display:grid;grid-auto-rows:max-content;grid-template-columns:max-content 1fr max-content;align-items:center;border-block-start:var(--section-common-border);padding-block-start:16px}.label.target-types{grid-column:1}.target-types-combo{grid-column:2}.target-types-button-checkbox-wrapper{grid-column:3}.label.application-server{grid-column:1}.application-server-combo{grid-column:2}.label.generator{grid-column:1}.generator-combo{grid-column:2}.target-type__description{grid-column:2}.label.display-name{grid-column:1}.display-name-input{grid-column:2}.footer{margin-block-start:16px}";
53
+ const h = ":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}:host{display:grid;block-size:100%;grid-template-rows:max-content 1fr max-content}.header{display:grid;padding:var(--gxg-container--padding);gap:var(--spacing-gap-l);grid-template-columns:1fr auto;margin-block-end:16px}.header :nth-child(2){align-self:self-end}.deploy-properties{display:grid;grid-auto-rows:max-content;grid-template-columns:max-content 1fr max-content;align-items:center;border-block-start:var(--section-common-border);padding-block-start:16px}.label.target-types{grid-column:1}.target-types-combo{grid-column:2}.target-types-button-checkbox-wrapper{grid-column:3}.label.application-server{grid-column:1}.application-server-combo{grid-column:2}.label.generator{grid-column:1}.generator-combo{grid-column:2}.target-type__description{grid-column:2}.label.display-name{grid-column:1}.display-name-input{grid-column:2}.footer{margin-block-start:16px}";
54
54
 
55
55
  var l = undefined && undefined.__classPrivateFieldGet || function(t, i, e, s) {
56
56
  if (e === "a" && !s) throw new TypeError("Private accessor was defined without a getter");
@@ -425,4 +425,4 @@ G = new WeakMap, N = new WeakMap, c = new WeakSet, H = function _GxIdeDeployment
425
425
  J.style = h;
426
426
 
427
427
  export { J as gx_ide_deployment_tool };
428
- //# sourceMappingURL=p-2567883a.entry.js.map
428
+ //# sourceMappingURL=p-508c4bee.entry.js.map
@@ -1,20 +1,20 @@
1
- import { r as e, g as t, h as i, H as n, a as o } from "./p-9b9ccd0c.js";
1
+ import { r as e, g as t, h as i, H as o, a as n } from "./p-9b9ccd0c.js";
2
2
 
3
3
  import { L as s } from "./p-311eedf3.js";
4
4
 
5
- const a = ":host{--spacing-body-block-start:24px;--spacing-body-block-end:24px;--spacing-body-inline-start:16px;--spacing-body-inline-end:16px;display:grid;inline-size:100%;block-size:100%;gap:var(--spacing-gap-xl);overflow:auto;grid-template-rows:max-content 1fr max-content;background-color:var(--elevation-background-color, var(--color-accent-surface-elevation-2));color:var(--color-text-neutral-default);text-align:center}.section{display:contents}.header{display:flex;flex-direction:column;gap:var(--spacing-gap-m)}.main{overflow:auto;display:grid;grid-template-rows:1fr max-content;gap:var(--spacing-gap-xxl)}.logo__container{display:flex;flex-direction:column;gap:var(--spacing-gap-l);align-items:center;margin:unset}.logo__img{inline-size:28px;block-size:28px}.logotype{color:var(--color-text-neutral-default)}.versions__container{overflow:hidden;border:1px solid var(--color-border-surface-on-elevation-1);border-radius:4px;display:grid;grid-template-rows:1fr max-content;inline-size:100%}.versions__container button{justify-self:center;min-inline-size:72px}.versions__container-footer{padding:14px}.versions__list{overflow:auto;list-style:none;margin:0;padding:14px;display:flex;flex-direction:column;gap:var(--spacing-gap-m)}.link-underlined{text-decoration:underline;color:var(--color-text-neutral-default)}.link-underlined:hover{color:var(--color-text-neutral-hover)}.link-underlined:active{color:var(--color-text-neutral-pressed)}.links-container{display:flex;gap:var(--spacing-gap-m)}.footer{display:flex;align-items:center;flex-direction:column;gap:var(--spacing-gap-m);color:var(--color-text-neutral-disabled)}";
5
+ const a = "button.button-secondary{border-color:var(--color-border-neutral-default)}:host{--spacing-body-block-start:24px;--spacing-body-block-end:24px;--spacing-body-inline-start:16px;--spacing-body-inline-end:16px;display:grid;inline-size:100%;block-size:100%;gap:var(--spacing-gap-xl);overflow:auto;grid-template-rows:max-content 1fr max-content;background-color:var(--elevation-background-color, var(--color-accent-surface-elevation-2));color:var(--color-text-neutral-default);text-align:center}.section{display:contents}.header{display:flex;flex-direction:column;gap:var(--spacing-gap-m)}.main{overflow:auto;display:grid;grid-template-rows:1fr max-content;gap:var(--spacing-gap-xxl)}.logo__container{display:flex;flex-direction:column;gap:var(--spacing-gap-l);align-items:center;margin:unset}.logo__img{inline-size:28px;block-size:28px}.logotype{color:var(--color-text-neutral-default)}.versions__container{overflow:hidden;border:1px solid var(--color-border-surface-on-elevation-1);border-radius:4px;display:grid;grid-template-rows:1fr max-content;inline-size:100%}.versions__container button{justify-self:center;min-inline-size:72px}.versions__container-footer{padding:14px}.versions__list{overflow:auto;list-style:none;margin:0;padding:14px;display:flex;flex-direction:column;gap:var(--spacing-gap-m)}.link-underlined{text-decoration:underline;color:var(--color-text-neutral-default)}.link-underlined:hover{color:var(--color-text-neutral-hover)}.link-underlined:active{color:var(--color-text-neutral-pressed)}.links-container{display:flex;gap:var(--spacing-gap-m)}.footer{display:flex;align-items:center;flex-direction:column;gap:var(--spacing-gap-m);color:var(--color-text-neutral-disabled)}";
6
6
 
7
- var r = undefined && undefined.__classPrivateFieldGet || function(e, t, i, n) {
8
- if (i === "a" && !n) throw new TypeError("Private accessor was defined without a getter");
9
- if (typeof t === "function" ? e !== t || !n : !t.has(e)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
- return i === "m" ? n : i === "a" ? n.call(e) : n ? n.value : t.get(e);
7
+ var r = undefined && undefined.__classPrivateFieldGet || function(e, t, i, o) {
8
+ if (i === "a" && !o) throw new TypeError("Private accessor was defined without a getter");
9
+ if (typeof t === "function" ? e !== t || !o : !t.has(e)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
10
+ return i === "m" ? o : i === "a" ? o.call(e) : o ? o.value : t.get(e);
11
11
  };
12
12
 
13
- var l = undefined && undefined.__classPrivateFieldSet || function(e, t, i, n, o) {
14
- if (n === "m") throw new TypeError("Private method is not writable");
15
- if (n === "a" && !o) throw new TypeError("Private accessor was defined without a setter");
16
- if (typeof t === "function" ? e !== t || !o : !t.has(e)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
17
- return n === "a" ? o.call(e, i) : o ? o.value = i : t.set(e, i), i;
13
+ var l = undefined && undefined.__classPrivateFieldSet || function(e, t, i, o, n) {
14
+ if (o === "m") throw new TypeError("Private method is not writable");
15
+ if (o === "a" && !n) throw new TypeError("Private accessor was defined without a setter");
16
+ if (typeof t === "function" ? e !== t || !n : !t.has(e)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
17
+ return o === "a" ? n.call(e, i) : n ? n.value = i : t.set(e, i), i;
18
18
  };
19
19
 
20
20
  var c, d, p;
@@ -47,7 +47,7 @@ const f = class {
47
47
  render() {
48
48
  const e = this.privacyPolicyCallback && this.termsAndConditionsCallback;
49
49
  const t = this.privacyPolicyCallback || this.termsAndConditionsCallback;
50
- return i(n, {
50
+ return i(o, {
51
51
  class: "scrollable"
52
52
  }, i("ch-theme", {
53
53
  model: u
@@ -103,7 +103,7 @@ const f = class {
103
103
  return [ "gx-ide-assets/about" ];
104
104
  }
105
105
  get el() {
106
- return o(this);
106
+ return n(this);
107
107
  }
108
108
  };
109
109
 
@@ -112,4 +112,4 @@ c = new WeakMap, d = new WeakMap, p = new WeakMap;
112
112
  f.style = a;
113
113
 
114
114
  export { f as gx_ide_about };
115
- //# sourceMappingURL=p-8cee1076.entry.js.map
115
+ //# sourceMappingURL=p-55cb0614.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["aboutCss","CSS_BUNDLES","GxIdeAbout","_GxIdeAbout_componentLocale","set","this","_GxIdeAbout_nextLogo","getAssetPath","_GxIdeAbout_copyVersionsHandler","copying","setTimeout","navigator","clipboard","writeText","appVersion","__classPrivateFieldGet","copyVersionsAdditionalText","versions","map","version","join","componentWillLoad","__classPrivateFieldSet","Locale","getComponentStrings","el","render","renderPrivacyAndTerms","privacyPolicyCallback","termsAndConditionsCallback","renderPrivacyOrTerms","h","Host","class","model","src","alt","logoAlt","nextVersion","length","type","onClick","disabled","copied","copy","detailsCallback","detailsAndAcknowledgmentes","hidden","privacyPolicy","termsAndConditions","copyright"],"sources":["src/components/about/about.scss?tag=gx-ide-about&encapsulation=shadow","src/components/about/about.tsx"],"sourcesContent":["@import \"../../global/temporary-mercury-overrides/_button.scss\";\n\n$versionsListPadding: 14px;\n\n:host {\n --spacing-body-block-start: 24px;\n --spacing-body-block-end: 24px;\n --spacing-body-inline-start: 16px;\n --spacing-body-inline-end: 16px;\n\n display: grid;\n inline-size: 100%;\n block-size: 100%;\n gap: var(--spacing-gap-xl);\n overflow: auto;\n grid-template-rows: max-content 1fr max-content;\n background-color: var(\n --elevation-background-color,\n var(--color-accent-surface-elevation-2)\n );\n color: var(--color-text-neutral-default);\n text-align: center;\n}\n.section {\n // section was addad for semantics, in order to allow a footer tag.\n display: contents;\n}\n\n.header {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-gap-m);\n}\n\n.main {\n overflow: auto;\n display: grid;\n grid-template-rows: 1fr max-content;\n gap: var(--spacing-gap-xxl);\n}\n\n.logo {\n &__container {\n display: flex;\n flex-direction: column;\n gap: var(--spacing-gap-l);\n align-items: center;\n margin: unset;\n }\n &__img {\n $logoSize: 28px;\n inline-size: $logoSize;\n block-size: $logoSize;\n }\n}\n.logotype {\n color: var(--color-text-neutral-default);\n}\n\n.versions__container {\n overflow: hidden;\n border: 1px solid var(--color-border-surface-on-elevation-1);\n border-radius: 4px;\n display: grid;\n grid-template-rows: 1fr max-content;\n inline-size: 100%;\n\n button {\n justify-self: center;\n min-inline-size: 72px;\n }\n}\n.versions__container-footer {\n padding: $versionsListPadding;\n}\n\n.versions__list {\n overflow: auto;\n list-style: none;\n margin: 0;\n padding: $versionsListPadding;\n display: flex;\n flex-direction: column;\n gap: var(--spacing-gap-m);\n}\n\n.link-underlined {\n // TODO: Add link helper class in Mercury\n text-decoration: underline;\n color: var(--color-text-neutral-default);\n &:hover {\n color: var(--color-text-neutral-hover);\n }\n &:active {\n color: var(--color-text-neutral-pressed);\n }\n}\n\n.links-container {\n display: flex;\n gap: var(--spacing-gap-m);\n}\n\n.footer {\n // TODO: Add color helper classes in Mercury\n display: flex;\n align-items: center;\n flex-direction: column;\n gap: var(--spacing-gap-m);\n color: var(--color-text-neutral-disabled);\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Element,\n getAssetPath\n} from \"@stencil/core\";\n\nimport { MercuryBundles } from \"@genexus/mercury\";\nimport { Locale } from \"../../common/locale\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"utils/typography\",\n \"utils/elevation\",\n \"components/button\",\n \"chameleon/scrollbar\"\n];\n\n@Component({\n tag: \"gx-ide-about\",\n styleUrl: \"about.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/about\"]\n})\nexport class GxIdeAbout {\n #componentLocale: any;\n #nextLogo = getAssetPath(`./gx-ide-assets/about/images/next-logo.svg`);\n\n @Element() el: HTMLGxIdeAboutElement;\n\n /**\n * The application version to display in the dialog.\n */\n @Prop() readonly appVersion: string;\n\n /**\n * GeneXus Next version, and also related dependencies versions\n */\n @Prop() readonly versions: string[] = [];\n\n /**\n * Callback invoked when the user clicks on \"Details & Acknowledgements\"\n */\n @Prop() readonly detailsCallback: DetailsCallback;\n\n /**\n * Callback invoked when the user clicks on \"Privacy policy\"\n */\n @Prop() readonly privacyPolicyCallback: PrivacyPolicyCallback;\n\n /**\n * Callback invoked when the user clicks on \"Terms and conditions\"\n */\n @Prop() readonly termsAndConditionsCallback: TermsAndConditionsCallback;\n\n /**\n * True when the user copies the versions\n */\n @State() copying: boolean = false;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n #copyVersionsHandler = () => {\n this.copying = true;\n setTimeout(() => {\n this.copying = false;\n }, 1000);\n\n // be cautions with spaces and indentaiton on the following .writeText\n navigator.clipboard.writeText(\n `${this.appVersion}\\n\n${this.#componentLocale.copyVersionsAdditionalText}${this.versions\n .map(version => `- ${version}`)\n .join(\"\\n\")}`\n );\n };\n\n render() {\n const renderPrivacyAndTerms =\n this.privacyPolicyCallback && this.termsAndConditionsCallback;\n const renderPrivacyOrTerms =\n this.privacyPolicyCallback || this.termsAndConditionsCallback;\n\n return (\n <Host class=\"scrollable\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <section class=\"section\">\n <header class=\"header\">\n <figure class=\"logo__container\">\n <img\n class=\"logo__img\"\n src={this.#nextLogo}\n alt={this.#componentLocale.logoAlt}\n />\n <figcaption class=\"body-semi-bold-m logotype\">\n GeneXus Next\n </figcaption>\n </figure>\n {this.appVersion && (\n <p class=\"body-reuglar-m\">\n {this.#componentLocale.nextVersion}{\" \"}\n <span>{this.appVersion}</span>\n </p>\n )}\n </header>\n <div class=\"main\">\n {this.versions.length ? (\n <div class=\"versions__container elevation-1\">\n <ul class=\"versions__list scrollable\">\n {this.versions.map(version => {\n return <li class=\"body-regular-s\">{version}</li>;\n })}\n </ul>\n <div class=\"versions__container-footer\">\n <button\n class=\"button-secondary\"\n type=\"button\"\n onClick={this.#copyVersionsHandler}\n disabled={this.copying}\n >\n {this.copying\n ? this.#componentLocale.copied\n : this.#componentLocale.copy}\n {}\n </button>\n </div>\n </div>\n ) : null}\n\n {this.detailsCallback && (\n <button\n class=\"button-tertiary\"\n type=\"button\"\n onClick={this.detailsCallback}\n >\n {this.#componentLocale.detailsAndAcknowledgmentes}\n </button>\n )}\n </div>\n\n <footer class=\"body-regular-s footer\">\n {renderPrivacyOrTerms && (\n <div class=\"links-container\" hidden={!renderPrivacyAndTerms}>\n {this.privacyPolicyCallback && (\n <button\n class=\"link-underlined caption-regular-m\"\n type=\"button\"\n onClick={this.privacyPolicyCallback}\n >\n {this.#componentLocale.privacyPolicy}\n </button>\n )}\n\n {renderPrivacyAndTerms && \"|\"}\n\n {this.termsAndConditionsCallback && (\n <button\n class=\"link-underlined caption-regular-m\"\n type=\"button\"\n onClick={this.termsAndConditionsCallback}\n >\n {this.#componentLocale.termsAndConditions}\n </button>\n )}\n </div>\n )}\n {this.#componentLocale.copyright}\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type DetailsCallback = () => Promise<void>;\nexport type PrivacyPolicyCallback = () => Promise<void>;\nexport type TermsAndConditionsCallback = () => Promise<void>;\n"],"mappings":";;;;AAAA,MAAMA,IAAW;;;;;;;;;;;;;;;;;ACajB,MAAMC,IAA8B,EAClC,qBACA,oBACA,mBACA,qBACA;;MASWC,IAAU;;;IACrBC,EAAAC,IAAAC,WAAA;IACAC,EAAAF,IAAAC,MAAYE,EAAa;IAsCzBC,EAAAJ,IAAAC,OAAuB;MACrBA,KAAKI,UAAU;MACfC,YAAW;QACTL,KAAKI,UAAU;AAAK,UACnB;;YAGHE,UAAUC,UAAUC,UAClB,GAAGR,KAAKS,iBACZC,EAAAV,MAAIF,GAAA,KAAkBa,6BAA6BX,KAAKY,SACjDC,KAAIC,KAAW,KAAKA,MACpBC,KAAK;AACT;;oBAtCmC;;;;mBAoBV;;EAE5B,uBAAMC;IACJC,EAAAjB,MAAIF,SAA0BoB,EAAOC,oBAAoBnB,KAAKoB,KAAG;;EAkBnE,MAAAC;IACE,MAAMC,IACJtB,KAAKuB,yBAAyBvB,KAAKwB;IACrC,MAAMC,IACJzB,KAAKuB,yBAAyBvB,KAAKwB;IAErC,OACEE,EAACC,GAAI;MAACC,OAAM;OACVF,EAAA;MAAUG,OAAOjC;QACjB8B,EAAA;MAASE,OAAM;OACbF,EAAA;MAAQE,OAAM;OACZF,EAAA;MAAQE,OAAM;OACZF,EAAA;MACEE,OAAM;MACNE,KAAKpB,EAAAV,MAAIC,GAAA;MACT8B,KAAKrB,EAAAV,MAAIF,GAAA,KAAkBkC;QAE7BN,EAAA;MAAYE,OAAM;OAA2B,kBAI9C5B,KAAKS,cACJiB,EAAA;MAAGE,OAAM;OACNlB,EAAAV,MAAIF,GAAA,KAAkBmC,aAAa,KACpCP,EAAA,cAAO1B,KAAKS,eAIlBiB,EAAA;MAAKE,OAAM;OACR5B,KAAKY,SAASsB,SACbR,EAAA;MAAKE,OAAM;OACTF,EAAA;MAAIE,OAAM;OACP5B,KAAKY,SAASC,KAAIC,KACVY,EAAA;MAAIE,OAAM;OAAkBd,OAGvCY,EAAA;MAAKE,OAAM;OACTF,EAAA;MACEE,OAAM;MACNO,MAAK;MACLC,SAAS1B,EAAAV,MAAIG,GAAA;MACbkC,UAAUrC,KAAKI;OAEdJ,KAAKI,UACFM,EAAAV,MAAIF,GAAA,KAAkBwC,SACtB5B,EAAAV,MAAIF,GAAA,KAAkByC,UAK9B,MAEHvC,KAAKwC,mBACJd,EAAA;MACEE,OAAM;MACNO,MAAK;MACLC,SAASpC,KAAKwC;OAEb9B,EAAAV,MAAIF,GAAA,KAAkB2C,8BAK7Bf,EAAA;MAAQE,OAAM;OACXH,KACCC,EAAA;MAAKE,OAAM;MAAkBc,SAASpB;OACnCtB,KAAKuB,yBACJG,EAAA;MACEE,OAAM;MACNO,MAAK;MACLC,SAASpC,KAAKuB;OAEbb,EAAAV,MAAIF,GAAA,KAAkB6C,gBAI1BrB,KAAyB,KAEzBtB,KAAKwB,8BACJE,EAAA;MACEE,OAAM;MACNO,MAAK;MACLC,SAASpC,KAAKwB;OAEbd,EAAAV,MAAIF,GAAA,KAAkB8C,sBAK9BlC,EAAAV,MAAIF,GAAA,KAAkB+C"}
@@ -12,7 +12,7 @@ import { v as c } from "./p-b32b6b1f.js";
12
12
 
13
13
  import { r as f } from "./p-1252519a.js";
14
14
 
15
- const u = ':host{display:grid;block-size:100%;grid-template-rows:max-content 1fr max-content}.section{display:contents}.basic,.advanced{padding-block-start:16px;block-size:100%;overflow:auto}.advanced{padding-block-end:12px}.basic{display:grid;grid-template:"runtime-environment runtime-environment" max-content "back-end front-end" 1fr;grid-template-columns:1fr 1fr}.basic__runtime-environment{grid-area:runtime-environment;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-gap-m)}.basic__runtime-environment.one-runtime-only{align-items:center;flex-direction:row;justify-content:center}.dialog-header__back-end,.dialog-header__front-end{padding-block-start:16px}.basic__back-end{grid-area:back-end}.basic__front-end{grid-area:front-end}.basic__back-end,.basic__front-end{display:grid;grid-template-rows:max-content 1fr;grid-auto-rows:max-content;overflow:auto}.main__back-end{border-inline-end:var(--section-common-border)}.main__back-end,.main__front-end{grid-auto-rows:max-content;padding-block:12px;overflow:auto}.text-align-center{text-align:center}.tab::part(page){scrollbar-width:thin}.checkbox{inline-size:max-content}';
15
+ const u = 'button.button-secondary{border-color:var(--color-border-neutral-default)}:host{display:grid;block-size:100%;grid-template-rows:max-content 1fr max-content}.section{display:contents}.basic,.advanced{padding-block-start:16px;block-size:100%;overflow:auto}.advanced{padding-block-end:12px}.basic{display:grid;grid-template:"runtime-environment runtime-environment" max-content "back-end front-end" 1fr;grid-template-columns:1fr 1fr}.basic__runtime-environment{grid-area:runtime-environment;display:flex;flex-direction:column;align-items:center;gap:var(--spacing-gap-m)}.basic__runtime-environment.one-runtime-only{align-items:center;flex-direction:row;justify-content:center}.dialog-header__back-end,.dialog-header__front-end{padding-block-start:16px}.basic__back-end{grid-area:back-end}.basic__front-end{grid-area:front-end}.basic__back-end,.basic__front-end{display:grid;grid-template-rows:max-content 1fr;grid-auto-rows:max-content;overflow:auto}.main__back-end{border-inline-end:var(--section-common-border)}.main__back-end,.main__front-end{grid-auto-rows:max-content;padding-block:12px;overflow:auto}.text-align-center{text-align:center}.tab::part(page){scrollbar-width:thin}.checkbox{inline-size:max-content}';
16
16
 
17
17
  var p = undefined && undefined.__classPrivateFieldGet || function(t, e, i, s) {
18
18
  if (i === "a" && !s) throw new TypeError("Private accessor was defined without a getter");
@@ -442,4 +442,4 @@ N = new WeakMap;
442
442
  Z.style = u;
443
443
 
444
444
  export { Z as gx_ide_new_environment };
445
- //# sourceMappingURL=p-6b430ac1.entry.js.map
445
+ //# sourceMappingURL=p-5727fce7.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["newEnvironmentCss","CSS_BUNDLES","MAIN_SECTION_CLASSES","BASIC_SECTION_PARENT_CLASSES","BASIC_TAB_SELECTOR","ADVANCED_TAB_SELECTOR","GxIdeNewEnvironment","_GxIdeNewEnvironment_advancedTabHasBeenRendered","set","this","_GxIdeNewEnvironment_chShortcutsEl","_GxIdeNewEnvironment_envNameModifiedByUser","_GxIdeNewEnvironment_frontEndsCheckedMap","Map","_GxIdeNewEnvironment_selectedDataStoreId","_GxIdeNewEnvironment_selectedLanguageId","_GxIdeNewEnvironment_selectedRuntimeEnvironmentId","_GxIdeNewEnvironment_shortcutsSrc","getAssetPath","_GxIdeNewEnvironment_newEnvironmentSectionsModel","_GxIdeNewEnvironment_componentLocale","_GxIdeNewEnvironment_dataStoreEl","_GxIdeNewEnvironment_environmentNameEl","_GxIdeNewEnvironment_languageEl","_GxIdeNewEnvironment_setAsCurrentEnvironmentEl","_GxIdeNewEnvironment_dataStoreValueChangedHandler","__classPrivateFieldSet","__classPrivateFieldGet","value","_GxIdeNewEnvironment_updateEnvironmentName","call","_GxIdeNewEnvironment_envNameInputHandler","e","newEnvName","detail","trim","environmentName","_GxIdeNewEnvironment_evaluateSelectedRuntimeEnvironmentId","_a","runtimes","_GxIdeNewEnvironment_evaluateTooltipRender","controlReference","_b","validatableControls","get","id","hasError","_c","message","h","class","actionElement","blockAlign","config","tooltipSettings","inlineAlign","delay","_GxIdeNewEnvironment_initializeValidatableControlsBasicTab","forEach","validatableControl","reference","undefined","_GxIdeNewEnvironment_languageValueChangedHandler","async","event","_GxIdeNewEnvironment_updateDataSources","_GxIdeNewEnvironment_updateFrontEnds","_GxIdeNewEnvironment_renderAdvanced","name","_GxIdeNewEnvironment_renderBasic","length","runtime","onChange","_GxIdeNewEnvironment_runtimeEnvironmentChangedHandler","model","runtimesRadioGroupModel","caption","tabBasic","backEnd","backEndLabel","htmlFor","language","part","disabled","languages","languageComboBoxModel","onInput","ref","el","dataStores","dataStoresComboBoxModel","frontEnd","frontEndLabel","role","generators","renderChCheckboxItems","frontEnds","_GxIdeNewEnvironment_frontEndCheckboxInputHandler","_GxIdeNewEnvironment_updateLanguages","_GxIdeNewEnvironment_createCallbackHandler","selectedFrontEndIds","createCallback","setAsCurrent","then","formSubmitResult","validateControls","_GxIdeNewEnvironment_tabSelectionChangedHandler","newSelectedId","advancedTabIsVisible","updatedDataSources","getDataSourcesCallback","getEnvironmentNameCallback","updatedFrontEnds","getFrontEndsCallback","updatedLanguages","getLanguagesCallback","checkedValue","target","checked","_GxIdeNewEnvironment_updateFrontEndsCheckedMap","checkboxId","currentState","push","checkboxIndex","findIndex","removeIndex","dataStoresChanged","newValue","mapOptionsToComboBoxItemModel","result","setSelectedItem","getSelectedItem","languagesChanged","runtimesChanged","connectedCallback","componentDidLoad","componentDidRender","componentWillLoad","Locale","getComponentStrings","tabLabel","tabAdvanced","suspendShortcuts","suspend","render","Host","src","header","isAdvanced","autoFocus","placeholder","environmentNamePlaceholder","tab","tabListPosition","selectedId","overflow","contain","onSelectedItemChange","slot","footer","setAsCurrentEnvironment","setAsTarget","onClick","cancelCallback","btnCancel","btnCreate"],"sources":["src/components/new-environment/new-environment.scss?tag=gx-ide-new-environment&encapsulation=shadow","src/components/new-environment/new-environment.tsx"],"sourcesContent":["@import \"../../global/temporary-mercury-overrides/_button.scss\";\n\n:host {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n.basic,\n.advanced {\n padding-block-start: 16px;\n block-size: 100%;\n overflow: auto;\n}\n.advanced {\n padding-block-end: 12px;\n}\n\n// basic\n.basic {\n display: grid;\n grid-template:\n \"runtime-environment runtime-environment\" max-content\n \"back-end front-end\" 1fr;\n grid-template-columns: 1fr 1fr;\n}\n.basic__runtime-environment {\n grid-area: runtime-environment;\n display: flex;\n flex-direction: column;\n align-items: center;\n gap: var(--spacing-gap-m);\n}\n.basic__runtime-environment.one-runtime-only {\n align-items: center;\n flex-direction: row;\n justify-content: center;\n}\n.dialog-header__back-end,\n.dialog-header__front-end {\n padding-block-start: 16px;\n}\n.basic__back-end {\n grid-area: back-end;\n}\n.basic__front-end {\n grid-area: front-end;\n}\n.basic__back-end,\n.basic__front-end {\n display: grid;\n grid-template-rows: max-content 1fr;\n grid-auto-rows: max-content;\n overflow: auto;\n}\n.main__back-end {\n border-inline-end: var(--section-common-border);\n}\n.main__back-end,\n.main__front-end {\n grid-auto-rows: max-content;\n padding-block: 12px;\n overflow: auto;\n}\n\n// WA / TODO: Add a helper class in Mercury to justify text.\n.text-align-center {\n text-align: center; // should be resolved on mercury\n}\n\n.tab::part(page) {\n // WA / TODO: Remove this line when the ch-tab renders supports scrollbar\n // custom styling\n scrollbar-width: thin;\n}\n\n// WA: Staring on Mercury V1.0.0. the checkbox displays an outline all around.\n// This requires the checkbox inline-size to be set to max-content.\n// TODO: Remove this once the checkbox displays correctly on a later version of Mercury.\n.checkbox {\n inline-size: max-content;\n}\n","/* STENCIL IMPORTS */\nimport {\n Component,\n Element,\n getAssetPath,\n Host,\n Method,\n Prop,\n State,\n h,\n Watch\n} from \"@stencil/core\";\n\nimport { MercuryBundles } from \"@genexus/mercury\";\n\nimport { config } from \"../../common/config\";\nimport { Locale } from \"../../common/locale\";\nimport {\n mapOptionsToComboBoxItemModel,\n renderChCheckboxItems\n} from \"../../common/helpers\";\nimport { getSelectedItem, setSelectedItem } from \"../../common/common\";\nimport { FormSubmitResult, GxOption } from \"../../common/types\";\nimport {\n ControlValidation,\n validateControls\n} from \"../../common/form-validation\";\nimport {\n ChRadioGroupRenderCustomEvent,\n TabModel,\n ComboBoxModel,\n ChEditCustomEvent,\n RadioGroupModel,\n ChCheckboxCustomEvent\n} from \"@genexus/chameleon-controls-library\";\nimport { removeIndex } from \"../../common/array\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n // TODO: review if \"utils/form--full\" is required.\n \"resets/box-sizing\",\n \"components/tab\",\n \"components/tooltip\",\n \"utils/form--full\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\nconst MAIN_SECTION_CLASSES: string = \"main\";\nconst BASIC_SECTION_PARENT_CLASSES: string = \"basic\";\nconst BASIC_TAB_SELECTOR: string = \"basic\";\nconst ADVANCED_TAB_SELECTOR: string = \"advanced\";\n\n@Component({\n tag: \"gx-ide-new-environment\",\n styleUrl: \"new-environment.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/new-environment\"]\n})\nexport class GxIdeNewEnvironment {\n #advancedTabHasBeenRendered: boolean = false;\n #chShortcutsEl!: HTMLChShortcutsElement;\n #envNameModifiedByUser = false;\n /**\n * frontEndsState saves the id's of the front ends checkboxes that are checked\n */\n // TODO (Use a set instead of an array to improve performance)\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #frontEndsCheckedMap = new Map<string, string[]>();\n #selectedDataStoreId: string;\n #selectedLanguageId: string;\n #selectedRuntimeEnvironmentId: string;\n #shortcutsSrc = getAssetPath(\n `./gx-ide-assets/new-environment/shortcuts.json`\n );\n #newEnvironmentSectionsModel: TabModel = [];\n\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 @Element() el: HTMLGxIdeNewEnvironmentElement;\n\n // References needed to collect data con \"createCallback\" button submit*/\n #dataStoreEl!: HTMLChComboBoxRenderElement;\n #environmentNameEl!: HTMLChEditElement;\n #languageEl!: HTMLChComboBoxRenderElement;\n #setAsCurrentEnvironmentEl!: HTMLChCheckboxElement;\n\n @State() advancedTabIsVisible: boolean = false;\n\n /**\n * Allows selecting multiple generators for the front end\n * TODO: Check if this property can be deleted, since we can call getFrontEndsCallback.\n */\n @State() frontEnds: GxOption[];\n\n @State() validatableControls = new Map<string, ControlValidation>();\n\n // representations of GxOption[] as ComboBoxModel or RadioGroupModel.\n @State() dataStoresComboBoxModel: ComboBoxModel = [];\n @State() languageComboBoxModel: ComboBoxModel = [];\n @State() runtimesRadioGroupModel: RadioGroupModel = [];\n\n /**\n * Callback invoked when user wants to cancel\n */\n @Prop() readonly cancelCallback: CancelCallback;\n\n /**\n * Callback invoked when user confirms the KB creation\n */\n @Prop() readonly createCallback!: CreateCallback;\n\n /**\n * Allows defining the DBMS to be used in the solution\n */\n @Prop({ mutable: true }) dataStores!: GxOption[];\n @Watch(\"dataStores\")\n dataStoresChanged(newValue: GxOption[]) {\n if (newValue?.length) {\n this.dataStoresComboBoxModel = mapOptionsToComboBoxItemModel(newValue);\n const result = setSelectedItem(newValue, this.#selectedDataStoreId);\n this.#selectedDataStoreId = getSelectedItem(result);\n }\n }\n\n /**\n * Name of the new environment\n */\n @Prop({ mutable: true }) environmentName: string;\n\n /**\n * Callback invoked when user changes the language or the runtime\n */\n @Prop() readonly getDataSourcesCallback!: GetDataSourcesCallback;\n\n /**\n * Callback invoked when user changes the language or data source\n */\n @Prop() readonly getEnvironmentNameCallback!: GetEnvironmentNameCallback;\n\n /**\n * Callback invoked when user changes the language\n */\n @Prop() readonly getFrontEndsCallback!: GetFrontEndsCallback;\n\n /**\n * Define if the Advanced tab should be displayed\n */\n @Prop() readonly isAdvanced: boolean = false;\n\n /**\n * Possible values for 'Language' combo\n */\n @Prop({ mutable: true }) languages!: GxOption[];\n @Watch(\"languages\")\n languagesChanged(newValue: GxOption[]) {\n if (newValue?.length) {\n this.languageComboBoxModel = mapOptionsToComboBoxItemModel(newValue);\n this.#selectedLanguageId = getSelectedItem(newValue);\n this.#updateFrontEnds();\n }\n }\n\n /**\n * Callback invoked when selected runtime is changed\n */\n @Prop() readonly getLanguagesCallback!: GetLanguagesCallback;\n\n /**\n * Possible values for 'Runtime Environment' radio button\n */\n @Prop() readonly runtimes!: GxOption[];\n @Watch(\"runtimes\")\n runtimesChanged(newValue: GxOption[]) {\n if (newValue?.length) {\n this.runtimesRadioGroupModel = mapOptionsToComboBoxItemModel(\n this.runtimes\n );\n\n this.#updateLanguages();\n }\n }\n\n /**\n * Belongs to checkbox 'Set as current environment' @default true\n *\n */\n @Prop() readonly setAsTarget?: boolean = true;\n\n connectedCallback() {\n this.dataStoresChanged(this.dataStores);\n this.languagesChanged(this.languages);\n this.runtimesChanged(this.runtimes);\n }\n\n componentDidLoad() {\n this.#initializeValidatableControlsBasicTab();\n }\n\n componentDidRender() {\n if (this.advancedTabIsVisible && !this.#advancedTabHasBeenRendered) {\n // just call this once.\n this.#advancedTabHasBeenRendered = true;\n }\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#newEnvironmentSectionsModel = [\n {\n id: BASIC_TAB_SELECTOR,\n name: this.#componentLocale.tabBasic.tabLabel\n },\n {\n id: ADVANCED_TAB_SELECTOR,\n name: this.#componentLocale.tabAdvanced.tabLabel\n }\n ];\n this.#evaluateSelectedRuntimeEnvironmentId();\n }\n\n /**\n * Suspends or reactivates the shortcuts\n */\n @Method()\n async suspendShortcuts(suspendShortcuts: boolean) {\n if (suspendShortcuts) {\n this.#chShortcutsEl.suspend = true;\n } else {\n this.#chShortcutsEl.suspend = false;\n }\n }\n\n #dataStoreValueChangedHandler = () => {\n /* the data store item id is used for the value (they are equal)*/\n this.#selectedDataStoreId = this.#dataStoreEl.value;\n this.#updateEnvironmentName();\n };\n\n #envNameInputHandler = (e: ChEditCustomEvent<string> | InputEvent) => {\n const newEnvName = (e as ChEditCustomEvent<string>).detail.trim();\n this.#envNameModifiedByUser = newEnvName !== this.environmentName;\n };\n\n #evaluateSelectedRuntimeEnvironmentId = () => {\n this.#selectedRuntimeEnvironmentId = this.runtimes[0]?.value;\n };\n\n // TODO: We must avoid performing the get 3 times.\n // It is used on new-environment 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 #initializeValidatableControlsBasicTab = () => {\n // populate #controlsValidation with the controls that could have errors.\n const validatableControls: HTMLElement[] = [\n this.#dataStoreEl,\n this.#languageEl\n ];\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 #languageValueChangedHandler = async (\n event: CustomEvent<string> | InputEvent\n ) => {\n this.#selectedLanguageId = event.detail as string;\n await this.#updateDataSources();\n this.#updateFrontEnds();\n this.#updateEnvironmentName();\n };\n\n #renderAdvanced = (): Element => {\n return <slot name=\"property-grid\"></slot>;\n };\n\n #renderBasic = (): HTMLElement[] => {\n return [\n <div\n class={{\n \"basic__runtime-environment\": true,\n \"dialog-header-with-border\": true,\n \"one-runtime-only\": this.runtimes.length === 1\n }}\n >\n {this.runtimes.length > 1\n ? [\n <h2\n // Runtime Environment\n class=\"subtitle-regular-xs\t text-align-center\"\n >\n {this.#componentLocale.runtime}\n </h2>,\n <ch-radio-group-render\n class=\"radio-group\"\n onChange={this.#runtimeEnvironmentChangedHandler}\n model={this.runtimesRadioGroupModel}\n value={this.#selectedRuntimeEnvironmentId}\n ></ch-radio-group-render>\n ]\n : [\n <h2 class=\"subtitle-regular-xs\t text-align-center\">\n {this.#componentLocale.runtime}:\n </h2>,\n <p>{this.runtimesRadioGroupModel[0].caption}</p>\n ]}\n </div>,\n <section class=\"basic__back-end scrollable\">\n <h2\n // back end\n class=\"dialog-header dialog-header-with-border dialog-header__back-end subtitle-regular-xs\t text-align-center spacing-body-inline\"\n >\n {this.#componentLocale.tabBasic.backEnd.backEndLabel}\n </h2>\n\n <div class=\"field-group main__back-end spacing-body-inline scrollable\">\n <div\n // #language\n class=\"field field-block\"\n >\n <label class=\"label\" htmlFor=\"language\">\n {this.#componentLocale.tabBasic.backEnd.language}\n </label>\n <ch-combo-box-render\n id=\"language\"\n class=\"combo-box\"\n part=\"language\"\n value={this.#selectedLanguageId}\n disabled={this.languages.length === 0}\n model={this.languageComboBoxModel}\n onInput={this.#languageValueChangedHandler}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#languageEl = el as HTMLChComboBoxRenderElement)\n }\n // TODO: toolTip={config.tooltip}\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#languageEl)}\n </div>\n\n <div\n // #data stores\n class=\"field field-block\"\n >\n <label class=\"label\" htmlFor=\"data-store\">\n {this.#componentLocale.tabBasic.backEnd.dataStores}\n </label>\n <ch-combo-box-render\n id=\"data-store\"\n class=\"combo-box\"\n part=\"data-store\"\n value={this.#selectedDataStoreId}\n model={this.dataStoresComboBoxModel}\n onInput={this.#dataStoreValueChangedHandler}\n ref={(el: HTMLChComboBoxRenderElement) =>\n (this.#dataStoreEl = el as HTMLChComboBoxRenderElement)\n }\n // TODO: toolTip={config.tooltip}\n ></ch-combo-box-render>\n {this.#evaluateTooltipRender(this.#dataStoreEl)}\n </div>\n </div>\n </section>,\n\n <section class=\"basic__front-end scrollable\">\n <h2\n // front end\n class=\"dialog-header dialog-header-with-border dialog-header__front-end subtitle-regular-xs\t text-align-center spacing-body-inline\"\n >\n {this.#componentLocale.tabBasic.frontEnd.frontEndLabel}\n </h2>\n <div\n class=\"field-group front-end__checkboxes spacing-body-inline main__front-end scrollable\"\n role=\"group\"\n aria-labelledby={this.#componentLocale.tabBasic.frontEnd.generators}\n >\n {renderChCheckboxItems(\n this.frontEnds,\n this.#frontEndCheckboxInputHandler,\n this.#frontEndsCheckedMap.get(this.#selectedLanguageId)\n )}\n </div>\n </section>\n ];\n };\n\n #runtimeEnvironmentChangedHandler = async (\n event: ChRadioGroupRenderCustomEvent<string>\n ): Promise<void> => {\n this.#selectedRuntimeEnvironmentId = event.detail;\n await this.#updateLanguages();\n await this.#updateDataSources();\n this.#updateEnvironmentName();\n };\n\n #createCallbackHandler = async () => {\n const selectedFrontEndIds =\n this.#frontEndsCheckedMap.get(this.#selectedLanguageId) ?? [];\n\n this.createCallback({\n setAsCurrent: !!this.#setAsCurrentEnvironmentEl?.value,\n name: this.#environmentNameEl.value,\n runtime: this.#selectedRuntimeEnvironmentId,\n language: this.#languageEl.value,\n dataStores: this.#dataStoreEl.value,\n frontEnds: selectedFrontEndIds\n }).then((formSubmitResult: FormSubmitResult) => {\n this.validatableControls = validateControls(\n formSubmitResult,\n this.validatableControls\n );\n });\n };\n\n #tabSelectionChangedHandler = (\n event: CustomEvent<{\n lastSelectedIndex: number;\n newSelectedId: string;\n newSelectedIndex: number;\n }>\n ): void => {\n if (event.detail.newSelectedId === ADVANCED_TAB_SELECTOR) {\n this.advancedTabIsVisible = true;\n // Some logic for advanced tab is done on componentDidRender lifecycle,\n // since the reference to the elements is needed.\n }\n };\n\n #updateDataSources = async () => {\n const updatedDataSources = await this.getDataSourcesCallback(\n this.#selectedLanguageId,\n this.#selectedRuntimeEnvironmentId\n );\n if (updatedDataSources?.length > 0) {\n this.dataStores = updatedDataSources;\n }\n };\n\n #updateEnvironmentName = async () => {\n if (!this.#envNameModifiedByUser) {\n this.environmentName = await this.getEnvironmentNameCallback(\n this.#selectedLanguageId,\n this.#selectedDataStoreId,\n this.#selectedRuntimeEnvironmentId\n );\n }\n };\n\n #updateFrontEnds = async () => {\n const updatedFrontEnds = await this.getFrontEndsCallback(\n this.#selectedLanguageId\n );\n if (updatedFrontEnds?.length > 0) {\n this.frontEnds = updatedFrontEnds;\n }\n };\n\n #updateLanguages = async () => {\n const updatedLanguages = await this.getLanguagesCallback(\n this.#selectedRuntimeEnvironmentId\n );\n if (updatedLanguages?.length > 0) {\n this.languages = updatedLanguages;\n }\n };\n\n #frontEndCheckboxInputHandler = (\n event: ChCheckboxCustomEvent<string> | InputEvent\n ) => {\n const checkedValue = (event.target as HTMLChCheckboxElement).checkedValue;\n const checked = event.detail === checkedValue;\n this.#updateFrontEndsCheckedMap(checkedValue, checked);\n };\n\n /**\n * This function updates frontEndsCheckedMap, that contains the checked\n * checkboxes for each language front ends.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #updateFrontEndsCheckedMap = (checkboxId: string, checked: boolean) => {\n let currentState = this.#frontEndsCheckedMap.get(this.#selectedLanguageId);\n if (!currentState) {\n // first time\n currentState = [];\n this.#frontEndsCheckedMap.set(this.#selectedLanguageId, currentState);\n }\n if (checked) {\n // update by adding\n currentState.push(checkboxId);\n } else {\n // update by removing\n const checkboxIndex = currentState.findIndex(id => id === checkboxId);\n removeIndex(currentState, checkboxIndex);\n }\n };\n\n render() {\n return (\n <Host class=\"widget scrollable\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <ch-shortcuts\n src={this.#shortcutsSrc}\n ref={(el: HTMLChShortcutsElement) =>\n (this.#chShortcutsEl = el as HTMLChShortcutsElement)\n }\n ></ch-shortcuts>\n\n <section class=\"section\">\n <header\n class={{\n \"header\": true,\n \"spacing-body-inline\": true,\n \"spacing-body-block-start\": true,\n \"dialog-header\": this.isAdvanced,\n \"dialog-header-with-border\": !this.isAdvanced\n }}\n >\n <div\n // #environment name\n class=\"field field-inline\"\n >\n <label class=\"label\" htmlFor=\"environment-name\">\n {this.#componentLocale.name}\n </label>\n <ch-edit\n // environment name\n autoFocus\n id=\"environment-name\"\n class=\"input\"\n part=\"environment-name\"\n value={this.environmentName}\n placeholder={this.#componentLocale.environmentNamePlaceholder}\n // TODO: toolTip={config.tooltip}\n ref={(el: HTMLChEditElement) =>\n (this.#environmentNameEl = el as HTMLChEditElement)\n }\n onInput={this.#envNameInputHandler}\n ></ch-edit>\n </div>\n </header>\n\n {this.isAdvanced ? (\n <ch-tab-render\n // main section\n class={{\n tab: true,\n [MAIN_SECTION_CLASSES]: true\n }}\n tabListPosition=\"block-start\"\n model={this.#newEnvironmentSectionsModel}\n selectedId={BASIC_TAB_SELECTOR}\n overflow=\"auto\"\n contain=\"size\"\n onSelectedItemChange={\n !this.advancedTabIsVisible && this.#tabSelectionChangedHandler\n }\n >\n <div\n slot={BASIC_TAB_SELECTOR}\n class={BASIC_SECTION_PARENT_CLASSES}\n part=\"tab-button-basic\"\n >\n {this.#renderBasic()}\n </div>\n {this.advancedTabIsVisible && (\n <div\n slot={ADVANCED_TAB_SELECTOR}\n class=\"advanced spacing-body-inline\"\n part=\"tab-button-advanced\"\n >\n {this.#renderAdvanced()}\n </div>\n )}\n </ch-tab-render>\n ) : (\n <div\n // main section\n class={MAIN_SECTION_CLASSES}\n >\n <div class={BASIC_SECTION_PARENT_CLASSES}>\n {this.#renderBasic()}\n </div>\n </div>\n )}\n\n <footer\n class={{\n \"dialog-footer\": this.isAdvanced,\n \"dialog-footer-with-border\": !this.isAdvanced,\n \"dialog-footer-space-between\": true,\n \"spacing-body-block-end\": true,\n \"spacing-body-inline\": true\n }}\n >\n <ch-checkbox\n // #set as current environment\n class=\"checkbox\"\n caption={this.#componentLocale.footer.setAsCurrentEnvironment}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#setAsCurrentEnvironmentEl = el as HTMLChCheckboxElement)\n }\n checkedValue=\"current-environment\"\n value={this.setAsTarget ? \"current-environment\" : \"\"}\n part=\"set-as-current-environment\"\n ></ch-checkbox>\n\n <div class=\"buttons-spacer\">\n <button\n // #cancel\n class=\"button-secondary\"\n onClick={this.cancelCallback}\n part=\"button button-cancel\"\n >\n {this.#componentLocale.footer.btnCancel}\n </button>\n\n <button\n // #create\n class=\"button-primary\"\n onClick={this.#createCallbackHandler}\n part=\"button button-create\"\n >\n {this.#componentLocale.footer.btnCreate}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\n\nexport type CancelCallback = () => Promise<void>;\n\nexport type CreateCallback = (\n data: NewEnvironmentData\n) => Promise<FormSubmitResult>;\n\nexport type GetDataSourcesCallback = (\n selectedLanguageId: string,\n selectedRuntimeId: string\n) => Promise<GxOption[]>;\n\nexport type GetEnvironmentNameCallback = (\n selectedLanguageId: string,\n selectedDataSourceId: string,\n selectedRuntimeId: string\n) => Promise<string | undefined>;\n\nexport type GetFrontEndsCallback = (\n selectedLanguageId: string\n) => Promise<GxOption[]>;\n\nexport type GetLanguagesCallback = (\n selectedRuntimeId: string\n) => Promise<GxOption[]>;\n\nexport interface NewEnvironmentData {\n setAsCurrent: boolean;\n name: string;\n runtime: string;\n language: string;\n dataStores: string;\n frontEnds: string[];\n}\n"],"mappings":"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"}
@@ -32,7 +32,7 @@ const mapOptionsToComboBoxItemModel = e => {
32
32
  }));
33
33
  };
34
34
 
35
- const h = '/*@container queries*/\n/* hiChar styles\nFound on /common/helpers.tsx hiChar function is used to add a span/class to every character that matches a search value. It is used to help the user see why the filter results are filtered. The span/class on the characters are useless without proper styling.\n*/\n:host {\n container-type: inline-size;\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n.header {\n grid-template-areas: "name module-folder" "advanced-filter-accordion advanced-filter-accordion";\n grid-template-columns: 1fr 1fr;\n grid-auto-rows: max-content max-content;\n}\n\n.name {\n grid-area: name;\n}\n\n.module-folder {\n grid-area: module-folder;\n}\n\n.advanced-filter-accordion {\n grid-area: advanced-filter-accordion;\n}\n\n.main {\n --sidebar-width: 376px;\n display: grid;\n grid-template-columns: 1fr var(--sidebar-width);\n overflow: auto;\n padding-block-start: var(--size-16);\n}\n\n.main__grid {\n overflow: auto;\n position: relative;\n}\n\n.tabular-grid-ww-images {\n overflow: auto;\n border-inline-end: var(--section-common-border);\n}\n\nch-tabular-grid-rowset-empty {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n inline-size: 100%;\n z-index: 1;\n}\n\n.main__aside {\n overflow: auto;\n display: grid;\n grid-template-rows: max-content 1fr;\n}\n\n.main__filter {\n display: grid;\n grid-auto-rows: max-content;\n grid-template-columns: 1fr 1fr 1fr;\n grid-template-areas: "category options after" "style language user" "density layer date-time" "search-by-contents search-by-contents button-reset";\n overflow: auto;\n}\n\n.category {\n grid-area: category;\n}\n\n.options {\n grid-area: options;\n}\n\n.after-date-time {\n grid-area: after;\n}\n\n.user {\n grid-area: user;\n}\n\n.date-time {\n grid-area: date-time;\n}\n\n.style {\n grid-area: style;\n}\n\n.language {\n grid-area: language;\n}\n\n.density {\n grid-area: density;\n}\n\n.layer {\n grid-area: layer;\n}\n\n.search-by-contents {\n grid-area: search-by-contents;\n}\n\n.button-reset {\n grid-area: button-reset;\n align-self: end;\n justify-self: end;\n}\n\n.main__images-container {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: var(--size-8);\n position: relative;\n z-index: 1;\n}\n.main__images-container .figure {\n margin: 0;\n background-color: var(--color-accent-surface-elevation-2);\n display: grid;\n grid-template-rows: minmax(0, 1fr) max-content;\n gap: var(--size-4);\n padding: var(--size-8);\n border-radius: var(--size-4);\n opacity: 0;\n animation: fadeIn 300ms forwards;\n aspect-ratio: 1/1;\n}\n.main__images-container .figure__picture {\n display: flex;\n align-items: center;\n justify-content: center;\n min-block-size: 0;\n}\n.main__images-container .figure__img {\n display: block;\n max-inline-size: 100%;\n max-block-size: 100%;\n inline-size: auto;\n block-size: auto;\n object-fit: contain;\n}\n.main__images-container .figure__figcaption {\n text-align: center;\n font-size: var(--font-size-body-xs);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n inline-size: 100%;\n}\n\n.tabular-grid-ww-images ch-tabular-grid-cell:is(:nth-child(1), :nth-child(2), :nth-child(3), :nth-child(4), :nth-child(5), :nth-child(6), :nth-child(7)) {\n align-items: start;\n justify-content: start;\n display: inline-block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n min-inline-size: 0;\n}\n@keyframes fadeIn {\n to {\n opacity: 1;\n }\n}\n@container (max-width: 992px) {\n .main {\n --sidebar-width: 288px;\n }\n\n .main__images-container {\n grid-template-columns: repeat(3, 1fr);\n }\n}\n@container (max-width: 768px) {\n .main {\n --sidebar-width: 200px;\n }\n\n .main__images-container {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n@container (max-width: 640px) {\n .main {\n --sidebar-width: 112px;\n }\n\n .main__images-container {\n grid-template-columns: 1fr;\n }\n}';
35
+ const h = '/*@container queries*/\n/* hiChar styles\nFound on /common/helpers.tsx hiChar function is used to add a span/class to every character that matches a search value. It is used to help the user see why the filter results are filtered. The span/class on the characters are useless without proper styling.\n*/\nbutton.button-secondary {\n border-color: var(--color-border-neutral-default);\n}\n\n:host {\n container-type: inline-size;\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.section {\n display: contents;\n}\n\n.header {\n grid-template-areas: "name module-folder" "advanced-filter-accordion advanced-filter-accordion";\n grid-template-columns: 1fr 1fr;\n grid-auto-rows: max-content max-content;\n}\n\n.name {\n grid-area: name;\n}\n\n.module-folder {\n grid-area: module-folder;\n}\n\n.advanced-filter-accordion {\n grid-area: advanced-filter-accordion;\n}\n\n.main {\n --sidebar-width: 376px;\n display: grid;\n grid-template-columns: 1fr var(--sidebar-width);\n overflow: auto;\n padding-block-start: var(--size-16);\n}\n\n.main__grid {\n overflow: auto;\n position: relative;\n}\n\n.tabular-grid-ww-images {\n overflow: auto;\n border-inline-end: var(--section-common-border);\n}\n\nch-tabular-grid-rowset-empty {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n inline-size: 100%;\n z-index: 1;\n}\n\n.main__aside {\n overflow: auto;\n display: grid;\n grid-template-rows: max-content 1fr;\n}\n\n.main__filter {\n display: grid;\n grid-auto-rows: max-content;\n grid-template-columns: 1fr 1fr 1fr;\n grid-template-areas: "category options after" "style language user" "density layer date-time" "search-by-contents search-by-contents button-reset";\n overflow: auto;\n}\n\n.category {\n grid-area: category;\n}\n\n.options {\n grid-area: options;\n}\n\n.after-date-time {\n grid-area: after;\n}\n\n.user {\n grid-area: user;\n}\n\n.date-time {\n grid-area: date-time;\n}\n\n.style {\n grid-area: style;\n}\n\n.language {\n grid-area: language;\n}\n\n.density {\n grid-area: density;\n}\n\n.layer {\n grid-area: layer;\n}\n\n.search-by-contents {\n grid-area: search-by-contents;\n}\n\n.button-reset {\n grid-area: button-reset;\n align-self: end;\n justify-self: end;\n}\n\n.main__images-container {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: var(--size-8);\n position: relative;\n z-index: 1;\n}\n.main__images-container .figure {\n margin: 0;\n background-color: var(--color-accent-surface-elevation-2);\n display: grid;\n grid-template-rows: minmax(0, 1fr) max-content;\n gap: var(--size-4);\n padding: var(--size-8);\n border-radius: var(--size-4);\n opacity: 0;\n animation: fadeIn 300ms forwards;\n aspect-ratio: 1/1;\n}\n.main__images-container .figure__picture {\n display: flex;\n align-items: center;\n justify-content: center;\n min-block-size: 0;\n}\n.main__images-container .figure__img {\n display: block;\n max-inline-size: 100%;\n max-block-size: 100%;\n inline-size: auto;\n block-size: auto;\n object-fit: contain;\n}\n.main__images-container .figure__figcaption {\n text-align: center;\n font-size: var(--font-size-body-xs);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n inline-size: 100%;\n}\n\n.tabular-grid-ww-images ch-tabular-grid-cell:is(:nth-child(1), :nth-child(2), :nth-child(3), :nth-child(4), :nth-child(5), :nth-child(6), :nth-child(7)) {\n align-items: start;\n justify-content: start;\n display: inline-block;\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n min-inline-size: 0;\n}\n@keyframes fadeIn {\n to {\n opacity: 1;\n }\n}\n@container (max-width: 992px) {\n .main {\n --sidebar-width: 288px;\n }\n\n .main__images-container {\n grid-template-columns: repeat(3, 1fr);\n }\n}\n@container (max-width: 768px) {\n .main {\n --sidebar-width: 200px;\n }\n\n .main__images-container {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n@container (max-width: 640px) {\n .main {\n --sidebar-width: 112px;\n }\n\n .main__images-container {\n grid-template-columns: 1fr;\n }\n}';
36
36
 
37
37
  var d = undefined && undefined.__classPrivateFieldGet || function(e, t, i, s) {
38
38
  if (i === "a" && !s) throw new TypeError("Private accessor was defined without a getter");
@@ -933,4 +933,4 @@ P = function _GxIdeWWImages_getImageValue(e, t) {
933
933
  le.style = h;
934
934
 
935
935
  export { le as gx_ide_ww_images };
936
- //# sourceMappingURL=p-520c3763.entry.js.map
936
+ //# sourceMappingURL=p-572fdc25.entry.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["mapOptionsToComboBoxItemModel","options","map","option","value","id","caption","label","startImgSrc","_a","iconName","wwImagesCss","CSS_BUNDLES","ALL_DESCENDANTS_VALUE","MODIFIED_VALUE","TODAY","RESET_ICON","getIconPath","category","name","colorType","SEARCH_ICON","NOTICE_ICON","GxIdeWWImages","_GxIdeWWImages_componentLocale","set","this","_GxIdeWWImages_filterInitialData","_GxIdeWWImages_ACCORDION_MODEL","_GxIdeWWImages_ACCORDION_FILTER_ID","_GxIdeWWImages_imagesMap","Map","_GxIdeWWImages_chGridEl","_GxIdeWWImages_filterModuleEl","_GxIdeWWImages_isInitialLoad","_GxIdeWWImages_deleteSelectionCallbackHandler","deleteSelectionCallback","selectedObjectsIds","_GxIdeWWImages_deselectAll","__classPrivateFieldGet","selectAllRows","_GxIdeWWImages_handleNameChange","event","filterNameValue","detail","target","_GxIdeWWImages_handleSearchContentsChange","filterSearchContentsValue","_GxIdeWWImages_applyDefaultCategory","defaultCategory","categoriesComboBoxModel","length","categoryExists","some","item","filterCategoryValue","_GxIdeWWImages_handleCategoryChange","_GxIdeWWImages_handleAllDescendantsChange","filterAllDescendantsValue","_GxIdeWWImages_handleAfterTypeChange","filterAfterTypeValue","afterCurrentValue","_GxIdeWWImages_handleUserChange","filterUserValue","_GxIdeWWImages_handleModifiedDateChange","filterModifiedDateValue","_GxIdeWWImages_handleStyleChange","filterStyleValue","_GxIdeWWImages_handleLanguageChange","filterLanguageValue","_GxIdeWWImages_handleDensityChange","filterDensityValue","_GxIdeWWImages_handleLayerChange","filterLayerValue","_GxIdeWWImages_handleModuleChange","filterModuleValue","_GxIdeWWImages_filterImagesInformationHandler","tabularGridData","images","_GxIdeWWImages_getImages","clear","filters","searchContents","parent","allDescendants","modifiedAfter","modifiedBy","modifiedDate","Date","undefined","style","language","density","layer","loadCallback","then","items","call","_GxIdeWWImages_getToday","now","date","toISOString","split","time","slice","_GxIdeWWImages_addEventListeners","addEventListener","ev","rowsId","selectionObjectChangedCallback","imagesSelectedItems","cachedItems","idsToLoad","forEach","selectedId","has","get","push","currentSelection","sort","join","loadPromises","loadImageItemsCallback","Promise","all","loadedItemsArrays","currentSelectionAfterLoad","allImageItems","_GxIdeWWImages_openSelectionCallBackHandler","preventDefault","stopPropagation","contextMenuCallback","selection","selectedRowsId","clientX","clientY","_GxIdeWWImages_sortImages","a","b","order","orderCriteria","valueA","_GxIdeWWImages_instances","_GxIdeWWImages_getImageValue","toUpperCase","valueB","ascending","_GxIdeWWImages_handleColumnSortChanged","e","columnId","sortDirection","_GxIdeWWImages_newObjectCallbackHandler","newObjectCallback","openSelectionCallback","_GxIdeWWImages_toggleModifiedControls","enabledModifiedControls","_GxIdeWWImages_renderHeader","h","class","htmlFor","filter","autoFocus","debounce","config","inputDebounce","onInput","moduleFolder","labelPosition","defaultValue","defaultModule","selectEntityCallback","selectModuleCallback","ref","el","__classPrivateFieldSet","model","slot","disabled","categories","checkedValue","modified","afterLabel","filterAfterOptions","user","FILTER_AFTER","DATE_TIME","dateTime","type","max","styles","stylesComboBoxModel","languages","languagesComboBoxModel","densities","densitiesComboBoxModel","layers","layersComboBoxModel","search","placeholder","searchContentsPlaceholder","onClick","_GxIdeWWImages_resetFilterHandler","src","resetFilters","_GxIdeWWImages_renderFilter","_GxIdeWWImages_renderImages","url","alt","_GxIdeWWImages_renderTabularGrid","commonColSize","main__grid","rowSelectionMode","columnResizeMode","columnName","settingable","size","tabularGrid","colSize","maxContent","resizable","sortable","tableHead","onColumnSortChanged","module","description","lastUser","importDate","obj","rowid","icon","formatDate","isAnimated","stateIconSrc","stateTitle","emptyState","title","key","modifiedDateTime","modifiedUser","_GxIdeWWImages_saveInitialFilterData","_GxIdeWWImages_selectAll","categoriesChanged","newCategories","defaultCategoryChanged","densitiesChanged","newDensities","languagesChanged","newLanguages","layersChanged","newLayers","stylesChanged","newStyles","connectedCallback","componentDidLoad","componentWillLoad","Locale","getComponentStrings","afterNone","NONE","IMPORT","LAST_BUILD","accordionCaption","expanded","keyDownHandler","eventInfo","document","activeElement","reload","filterNameValueChanged","filterSearchContentsValueChanged","filterCategoryValueChanged","filterAllDescendantsValueChanged","filterAfterTypeValueChanged","filterUserValueChanged","filterModifiedDateValueChanged","filterStyleValueChanged","filterLanguageValueChanged","filterDensityValueChanged","filterLayerValueChanged","filterModuleValueChanged","render","Host","objCount","matching","footer","btnSelectAll","btnNew","image","toLowerCase"],"sources":["src/components/ww-images/helpers.tsx","src/components/ww-images/ww-images.scss?tag=gx-ide-ww-images&encapsulation=shadow","src/components/ww-images/ww-images.tsx"],"sourcesContent":["import { ComboBoxModel } from \"@genexus/chameleon-controls-library\";\nimport { GxOption } from \"../..\";\n\nexport const mapOptionsToComboBoxItemModel = (\n options: GxOption[]\n): ComboBoxModel => {\n if (!options) {\n return [];\n }\n return options.map(option => {\n return {\n value: option.id,\n caption: option.label,\n startImgSrc: option.iconName ?? \"\"\n };\n });\n};\n","@import \"../../global/gx-ide-mixins.scss\";\n@import \"../../global/temporary-mercury-overrides/_button.scss\";\n@import \"../../../node_modules/@genexus/mercury/dist/assets/scss/helpers.scss\";\n\n:host {\n container-type: inline-size;\n display: grid;\n block-size: 100%;\n overflow: auto;\n grid-template-rows: max-content 1fr max-content;\n}\n.section {\n display: contents;\n}\n\n// - - - - - - - - - - - -\n// Header\n// - - - - - - - - - - - -\n\n// First row\n.header {\n grid-template-areas:\n \"name module-folder\"\n \"advanced-filter-accordion advanced-filter-accordion\";\n grid-template-columns: 1fr 1fr;\n grid-auto-rows: max-content max-content;\n}\n\n// Accordion Advanced Filter\n.name {\n grid-area: name;\n}\n.module-folder {\n grid-area: module-folder;\n}\n.advanced-filter-accordion {\n grid-area: advanced-filter-accordion;\n}\n\n// - - - - - - - - - - - -\n// Main\n// - - - - - - - - - - - -\n\n.main {\n --sidebar-width: 376px;\n display: grid;\n grid-template-columns: 1fr var(--sidebar-width);\n overflow: auto;\n padding-block-start: var(--size-16);\n}\n\n.main__grid {\n overflow: auto;\n position: relative;\n}\n.tabular-grid-ww-images {\n overflow: auto;\n border-inline-end: var(--section-common-border);\n}\n\nch-tabular-grid-rowset-empty {\n position: absolute;\n inset: 0;\n display: flex;\n align-items: center;\n justify-content: center;\n inline-size: 100%;\n z-index: 1;\n}\n\n// main aside\n.main__aside {\n overflow: auto;\n display: grid;\n grid-template-rows: max-content 1fr;\n}\n.main__filter {\n display: grid;\n grid-auto-rows: max-content;\n grid-template-columns: 1fr 1fr 1fr;\n grid-template-areas:\n \"category options after\"\n \"style language user\"\n \"density layer date-time\"\n \"search-by-contents search-by-contents button-reset\";\n overflow: auto;\n}\n.category {\n grid-area: category;\n}\n.options {\n grid-area: options;\n}\n.after-date-time {\n grid-area: after;\n}\n.user {\n grid-area: user;\n}\n.date-time {\n grid-area: date-time;\n}\n.style {\n grid-area: style;\n}\n.language {\n grid-area: language;\n}\n.density {\n grid-area: density;\n}\n.layer {\n grid-area: layer;\n}\n.search-by-contents {\n grid-area: search-by-contents;\n}\n.button-reset {\n grid-area: button-reset;\n align-self: end;\n justify-self: end;\n}\n\n// - - - - - - - - - - - -\n// Images Grid\n// - - - - - - - - - - - -\n\n.main__images-container {\n display: grid;\n grid-template-columns: repeat(4, 1fr);\n gap: var(--size-8);\n position: relative;\n z-index: 1;\n\n .figure {\n margin: 0;\n background-color: var(--color-accent-surface-elevation-2);\n display: grid;\n grid-template-rows: minmax(0, 1fr) max-content;\n gap: var(--size-4);\n padding: var(--size-8);\n border-radius: var(--size-4);\n opacity: 0;\n animation: fadeIn 300ms forwards;\n aspect-ratio: 1 / 1;\n }\n .figure__picture {\n display: flex;\n align-items: center;\n justify-content: center;\n min-block-size: 0;\n }\n .figure__img {\n display: block;\n max-inline-size: 100%;\n max-block-size: 100%;\n inline-size: auto;\n block-size: auto;\n object-fit: contain;\n }\n .figure__figcaption {\n text-align: center;\n font-size: var(--font-size-body-xs);\n white-space: nowrap;\n overflow: hidden;\n text-overflow: ellipsis;\n inline-size: 100%;\n }\n}\n\n@include tabular-grid-cell-layout(\n $tabular-grid-selector: \".tabular-grid-ww-images\",\n $tabular-grid-cell-node-type: \"text\",\n $tabular-grid-cell-apply-ellipsis: true,\n $tabular-grid-affected-columns-nth-list: (\n 1,\n 2,\n 3,\n 4,\n 5,\n 6,\n 7\n )\n);\n\n@keyframes fadeIn {\n to {\n opacity: 1;\n }\n}\n\n// - - - - - - - - - - - -\n// Responsive\n// - - - - - - - - - - - -\n\n@container (max-width: 992px) {\n .main {\n --sidebar-width: 288px;\n }\n .main__images-container {\n grid-template-columns: repeat(3, 1fr);\n }\n}\n\n@container (max-width: 768px) {\n .main {\n --sidebar-width: 200px;\n }\n .main__images-container {\n grid-template-columns: repeat(2, 1fr);\n }\n}\n\n@container (max-width: 640px) {\n .main {\n --sidebar-width: 112px;\n }\n .main__images-container {\n grid-template-columns: 1fr;\n }\n}\n","/* eslint-disable @stencil-community/own-props-must-be-private */\n/* STENCIL IMPORTS */\nimport {\n Component,\n Element,\n Host,\n Listen,\n Method,\n Prop,\n State,\n Watch,\n h\n} from \"@stencil/core\";\n/* OTHER LIBRARIES IMPORTS */\nimport {\n AccordionModel,\n ChGridRowContextMenuEvent,\n ComboBoxModel\n} from \"@genexus/chameleon-controls-library\";\nimport { getIconPath, MercuryBundles } from \"@genexus/mercury\";\n/* CUSTOM IMPORTS */\nimport { FILTER_AFTER } from \"../../common/constants\";\nimport { config } from \"../../common/config\";\nimport { formatDate } from \"../../common/helpers\";\nimport { Locale } from \"../../common/locale\";\nimport { ContextMenuInfo, EntityData, GxOption } from \"../../common/types\";\nimport { mapOptionsToComboBoxItemModel } from \"./helpers\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/accordion\",\n \"components/button\",\n \"components/checkbox\",\n \"components/combo-box\",\n \"components/edit\",\n \"components/icon\",\n \"components/tabular-grid\",\n \"components/sidebar\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\",\n \"utils/spacing\",\n \"chameleon/scrollbar\"\n];\n\nconst ALL_DESCENDANTS_VALUE = \"all-descendants\";\nconst MODIFIED_VALUE = \"modified\";\n\nlet TODAY: string = null;\n\n// icons\nconst RESET_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"reset\",\n colorType: \"interactive\"\n});\nconst SEARCH_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"search\",\n colorType: \"neutral\"\n});\nconst NOTICE_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"notice\",\n colorType: \"on-elevation\"\n});\n\n@Component({\n tag: \"gx-ide-ww-images\",\n styleUrl: \"ww-images.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/ww-images\"]\n})\nexport class GxIdeWWImages {\n /**\n * The component hard-coded strings translations.\n */\n #componentLocale: any;\n #filterInitialData: FilerInitialData;\n #ACCORDION_MODEL: AccordionModel = [];\n #ACCORDION_FILTER_ID = \"advanced-filter\";\n\n #imagesMap: Map<string, ImageItemData[]> = new Map();\n\n @Element() el: HTMLGxIdeWwImagesElement;\n\n #chGridEl!: HTMLChTabularGridElement;\n // Only keep refs that are actually needed for operations (event listeners)\n #filterModuleEl!: HTMLGxIdeEntitySelectorElement;\n\n // representations of GxOption[] as ComboBoxModel.\n @State() categoriesComboBoxModel: ComboBoxModel = [];\n @State() densitiesComboBoxModel: ComboBoxModel = [];\n @State() languagesComboBoxModel: ComboBoxModel = [];\n @State() layersComboBoxModel: ComboBoxModel = [];\n @State() stylesComboBoxModel: ComboBoxModel = [];\n\n /**\n * The current value of the \"After\" combo box options.\n */\n @State() afterCurrentValue: string;\n\n /**\n * The options for the \"After\" combo-box\n */\n @State() filterAfterOptions: ComboBoxModel;\n\n /**\n * Image data to be displayed in the tabular grid (filtered from server and sorted)\n */\n @State() tabularGridData: ImageData[] = [];\n\n /**\n * Images rendered in the table\n */\n @State() images: ImageData[] = [];\n\n /**\n * Items of the selected image\n */\n @State() imagesSelectedItems: ImageItemData[] = [];\n\n /**\n * Selected images in the images table\n */\n @State() selectedObjectsIds: string[] = [];\n\n /**\n * When true, modified controls will be enabled, otherwise disabled.\n */\n @State() enabledModifiedControls: boolean = false;\n\n /**\n * Sorting order for images table\n */\n @State() order: { orderCriteria: string | null; ascending: boolean | null } =\n {\n orderCriteria: null,\n ascending: null\n };\n\n /**\n * Filter state variables\n */\n @State() filterNameValue = \"\";\n @State() filterSearchContentsValue = \"\";\n @State() filterCategoryValue: string;\n @State() filterAllDescendantsValue = false;\n @State() filterAfterTypeValue: string;\n @State() filterUserValue = \"\";\n @State() filterModifiedDateValue = \"\";\n @State() filterStyleValue: string;\n @State() filterLanguageValue: string;\n @State() filterDensityValue: string;\n @State() filterLayerValue: string;\n @State() filterModuleValue: EntityData;\n\n /**\n * Flag to prevent triggering #getImages on initial load\n */\n #isInitialLoad = true;\n\n /**\n * Categories rendered in the filter selector\n */\n @Prop() readonly categories!: GxOption[];\n @Watch(\"categories\")\n categoriesChanged(newCategories: GxOption[]) {\n this.categoriesComboBoxModel = mapOptionsToComboBoxItemModel(newCategories);\n this.#applyDefaultCategory();\n }\n\n /**\n * Function to expand data when right-click\n */\n @Prop() readonly contextMenuCallback!: ContextMenuCallback;\n\n /**\n * Default value for the 'categories' filter\n */\n @Prop() readonly defaultCategory: string;\n @Watch(\"defaultCategory\")\n defaultCategoryChanged() {\n this.#applyDefaultCategory();\n }\n\n /**\n * Default value for the module/folder filter\n */\n @Prop() readonly defaultModule: EntityData;\n\n /**\n * Function to delete the selected images.\n */\n @Prop() readonly deleteSelectionCallback!: DeleteSelectionCallback;\n\n /**\n * Densities rendered in the filter selector\n */\n @Prop() readonly densities!: GxOption[];\n @Watch(\"densities\")\n densitiesChanged(newDensities: GxOption[]) {\n this.densitiesComboBoxModel = mapOptionsToComboBoxItemModel(newDensities);\n }\n\n /**\n * Languages rendered in the filter selector\n */\n @Prop() readonly languages!: GxOption[];\n @Watch(\"languages\")\n languagesChanged(newLanguages: GxOption[]) {\n this.languagesComboBoxModel = mapOptionsToComboBoxItemModel(newLanguages);\n }\n\n /**\n * Layers rendered in the filter selector\n */\n @Prop() readonly layers!: GxOption[];\n @Watch(\"layers\")\n layersChanged(newLayers: GxOption[]) {\n this.layersComboBoxModel = mapOptionsToComboBoxItemModel(newLayers);\n }\n\n /**\n * Function that returns a list of images for the table\n */\n @Prop() readonly loadCallback!: LoadCallback;\n\n /**\n * Function that returns a list of items for the selected image\n */\n @Prop() readonly loadImageItemsCallback!: LoadImageItemsCallback;\n\n /**\n * Callback invoked when user press New button.\n */\n @Prop() readonly newObjectCallback!: NewObjectCallback;\n\n /**\n * Function to expand data for double-clicked or entered images\n */\n @Prop() readonly openSelectionCallback!: OpenSelectionCallback;\n\n /**\n * Callback invoked when an action is executed on the Module/Folder filter.\n */\n @Prop() readonly selectModuleCallback!: SelectModuleCallback;\n\n /**\n * Callback invoked when an item is selected\n */\n @Prop() readonly selectionObjectChangedCallback!: SelectionObjectCallback;\n\n /**\n * Styles rendered in the filter style selector\n */\n @Prop() readonly styles!: GxOption[];\n @Watch(\"styles\")\n stylesChanged(newStyles: GxOption[]) {\n this.stylesComboBoxModel = mapOptionsToComboBoxItemModel(newStyles);\n }\n\n async connectedCallback() {\n TODAY = this.#getToday();\n }\n\n componentDidLoad() {\n this.#addEventListeners();\n this.#getImages();\n this.#saveInitialFilterData();\n this.#isInitialLoad = false;\n }\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n\n // initialize combo-box models\n this.categoriesChanged(this.categories);\n this.densitiesChanged(this.densities);\n this.languagesChanged(this.languages);\n this.layersChanged(this.layers);\n this.stylesChanged(this.styles);\n\n // initialize \"After\" combo-box options\n this.filterAfterOptions = [\n {\n caption: this.#componentLocale.filter.afterNone,\n value: FILTER_AFTER.NONE\n },\n {\n caption: this.#componentLocale.filter[FILTER_AFTER.DATE_TIME],\n value: FILTER_AFTER.DATE_TIME\n },\n {\n caption: this.#componentLocale.filter[FILTER_AFTER.IMPORT],\n value: FILTER_AFTER.IMPORT\n },\n {\n caption: this.#componentLocale.filter[FILTER_AFTER.LAST_BUILD],\n value: FILTER_AFTER.LAST_BUILD\n }\n ];\n this.afterCurrentValue = this.filterAfterOptions[0].value;\n this.filterAfterTypeValue = this.filterAfterOptions[0].value;\n\n // Initialize filter state values\n this.#applyDefaultCategory();\n this.filterModuleValue = this.defaultModule;\n if (this.stylesComboBoxModel.length > 0) {\n this.filterStyleValue = this.stylesComboBoxModel[0].value;\n }\n if (this.languagesComboBoxModel.length > 0) {\n this.filterLanguageValue = this.languagesComboBoxModel[0].value;\n }\n if (this.densitiesComboBoxModel.length > 0) {\n this.filterDensityValue = this.densitiesComboBoxModel[0].value;\n }\n if (this.layersComboBoxModel.length > 0) {\n this.filterLayerValue = this.layersComboBoxModel[0].value;\n }\n\n this.#ACCORDION_MODEL = [\n {\n id: this.#ACCORDION_FILTER_ID,\n caption: this.#componentLocale.filter.accordionCaption,\n expanded: false\n }\n ];\n }\n\n @Listen(\"keydown\", { passive: true })\n keyDownHandler(eventInfo: KeyboardEvent) {\n if (document.activeElement === this.el) {\n switch (eventInfo.key) {\n case \"Enter\":\n this.#openSelectionCallBackHandler();\n break;\n case \"Delete\":\n this.#deleteSelectionCallbackHandler();\n break;\n }\n }\n }\n\n /**\n * Reloads the view, refreshing the filters and the images table.\n */\n @Method()\n async reload(): Promise<void> {\n this.#getImages();\n }\n\n #deleteSelectionCallbackHandler = (): void => {\n this.deleteSelectionCallback(this.selectedObjectsIds);\n };\n\n #deselectAll = (): void => {\n (this.#chGridEl as any).selectAllRows(false);\n };\n\n /**\n * Watch filter state variables and trigger #getImages when they change\n */\n @Watch(\"filterNameValue\")\n filterNameValueChanged() {\n if (!this.#isInitialLoad) {\n this.#getImages();\n }\n }\n\n @Watch(\"filterSearchContentsValue\")\n filterSearchContentsValueChanged() {\n if (!this.#isInitialLoad) {\n this.#getImages();\n }\n }\n\n @Watch(\"filterCategoryValue\")\n filterCategoryValueChanged() {\n if (!this.#isInitialLoad) {\n this.#getImages();\n }\n }\n\n @Watch(\"filterAllDescendantsValue\")\n filterAllDescendantsValueChanged() {\n if (!this.#isInitialLoad) {\n this.#getImages();\n }\n }\n\n @Watch(\"filterAfterTypeValue\")\n filterAfterTypeValueChanged() {\n if (!this.#isInitialLoad) {\n this.#getImages();\n }\n }\n\n @Watch(\"filterUserValue\")\n filterUserValueChanged() {\n if (!this.#isInitialLoad) {\n this.#getImages();\n }\n }\n\n @Watch(\"filterModifiedDateValue\")\n filterModifiedDateValueChanged() {\n if (!this.#isInitialLoad) {\n this.#getImages();\n }\n }\n\n @Watch(\"filterStyleValue\")\n filterStyleValueChanged() {\n if (!this.#isInitialLoad) {\n this.#getImages();\n }\n }\n\n @Watch(\"filterLanguageValue\")\n filterLanguageValueChanged() {\n if (!this.#isInitialLoad) {\n this.#getImages();\n }\n }\n\n @Watch(\"filterDensityValue\")\n filterDensityValueChanged() {\n if (!this.#isInitialLoad) {\n this.#getImages();\n }\n }\n\n @Watch(\"filterLayerValue\")\n filterLayerValueChanged() {\n if (!this.#isInitialLoad) {\n this.#getImages();\n }\n }\n\n @Watch(\"filterModuleValue\")\n filterModuleValueChanged() {\n if (!this.#isInitialLoad) {\n this.#getImages();\n }\n }\n\n /**\n * Individual handler functions for each filter control\n */\n #handleNameChange = (event: CustomEvent<string> | InputEvent) => {\n this.filterNameValue = (event.detail ||\n (event.target as HTMLInputElement).value) as string;\n };\n\n #handleSearchContentsChange = (event: CustomEvent<string> | InputEvent) => {\n this.filterSearchContentsValue = (event.detail ||\n (event.target as HTMLInputElement).value) as string;\n };\n\n #applyDefaultCategory = () => {\n if (this.defaultCategory && this.categoriesComboBoxModel.length > 0) {\n const categoryExists = this.categoriesComboBoxModel.some(\n item => item.value === this.defaultCategory\n );\n if (categoryExists) {\n this.filterCategoryValue = this.defaultCategory;\n }\n }\n };\n\n #handleCategoryChange = (event: CustomEvent<string> | InputEvent) => {\n this.filterCategoryValue = event.detail as string;\n };\n\n #handleAllDescendantsChange = (event: CustomEvent<string> | InputEvent) => {\n this.filterAllDescendantsValue = event.detail === ALL_DESCENDANTS_VALUE;\n };\n\n #handleAfterTypeChange = (event: CustomEvent<string> | InputEvent) => {\n this.filterAfterTypeValue = event.detail as string;\n this.afterCurrentValue = event.detail as string;\n };\n\n #handleUserChange = (event: CustomEvent<string> | InputEvent) => {\n this.filterUserValue = (event.detail ||\n (event.target as HTMLInputElement).value) as string;\n };\n\n #handleModifiedDateChange = (event: InputEvent) => {\n this.filterModifiedDateValue = (event.target as HTMLInputElement).value;\n };\n\n #handleStyleChange = (event: CustomEvent<string> | InputEvent) => {\n this.filterStyleValue = event.detail as string;\n };\n\n #handleLanguageChange = (event: CustomEvent<string> | InputEvent) => {\n this.filterLanguageValue = event.detail as string;\n };\n\n #handleDensityChange = (event: CustomEvent<string> | InputEvent) => {\n this.filterDensityValue = event.detail as string;\n };\n\n #handleLayerChange = (event: CustomEvent<string> | InputEvent) => {\n this.filterLayerValue = event.detail as string;\n };\n\n #handleModuleChange = () => {\n // Module change is handled via event listener, but we update state\n if (this.#filterModuleEl) {\n this.filterModuleValue = this.#filterModuleEl.value;\n }\n };\n\n #filterImagesInformationHandler = () => {\n // Copy images from server to tabularGridData (will be sorted before rendering)\n this.tabularGridData = [...this.images];\n };\n\n #getImages = (): void => {\n this.#imagesMap.clear();\n\n const filters: ImageFiltersData = {\n name: this.filterNameValue,\n searchContents: this.filterSearchContentsValue,\n category: this.filterCategoryValue,\n parent: this.filterModuleValue ? this.filterModuleValue.id : null,\n allDescendants: this.filterAllDescendantsValue,\n modifiedAfter: this.filterAfterTypeValue,\n modifiedBy: this.filterUserValue,\n modifiedDate: this.filterModifiedDateValue\n ? new Date(this.filterModifiedDateValue)\n : undefined,\n style: this.filterStyleValue,\n language: this.filterLanguageValue,\n density: this.filterDensityValue,\n layer: this.filterLayerValue\n };\n\n this.loadCallback(filters).then((items: ImageData[]) => {\n this.images = items;\n this.selectedObjectsIds = [];\n this.#deselectAll();\n this.#filterImagesInformationHandler();\n });\n };\n\n #getToday = (): string => {\n const now = new Date();\n const date = now.toISOString().split(\"T\")[0];\n const time = now.toISOString().split(\"T\")[1].slice(0, 5); // Only take 'HH:MM' part\n return `${date}T${time}`;\n };\n #addEventListeners = (): void => {\n /* module/folder */\n this.#filterModuleEl.addEventListener(\"valueChanged\", () => {\n this.#handleModuleChange();\n });\n\n // for grid selection\n this.#chGridEl.addEventListener(\"selectionChanged\", (ev: any): void => {\n this.selectedObjectsIds = ev.detail.rowsId;\n this.selectionObjectChangedCallback(this.selectedObjectsIds);\n\n if (this.selectedObjectsIds.length === 0) {\n this.imagesSelectedItems = [];\n return;\n }\n\n // Collect cached items immediately\n const cachedItems: ImageItemData[] = [];\n const idsToLoad: string[] = [];\n\n this.selectedObjectsIds.forEach((selectedId: string) => {\n if (this.#imagesMap.has(selectedId)) {\n const items = this.#imagesMap.get(selectedId);\n if (items) {\n cachedItems.push(...items);\n }\n } else {\n idsToLoad.push(selectedId);\n }\n });\n\n // If all items were cached, update immediately\n if (idsToLoad.length === 0) {\n this.imagesSelectedItems = cachedItems;\n return;\n }\n\n // Store current selection to verify later (prevents race conditions)\n const currentSelection = [...this.selectedObjectsIds].sort().join(\",\");\n\n // Load missing items and combine with cached ones\n // loadImageItemsCallback must be invoked the first time a user selects an image\n const loadPromises = idsToLoad.map((selectedId: string) =>\n this.loadImageItemsCallback(selectedId).then(\n (items: ImageItemData[]) => {\n // Cache the items for future use\n this.#imagesMap.set(selectedId, items);\n return items;\n }\n )\n );\n\n Promise.all(loadPromises).then((loadedItemsArrays: ImageItemData[][]) => {\n // Verify that selection hasn't changed while loading\n const currentSelectionAfterLoad = [...this.selectedObjectsIds]\n .sort()\n .join(\",\");\n if (currentSelection !== currentSelectionAfterLoad) {\n // Selection changed, ignore this result\n return;\n }\n\n // Combine cached items with newly loaded items\n const allImageItems = [...cachedItems];\n loadedItemsArrays.forEach(items => {\n allImageItems.push(...items);\n });\n this.imagesSelectedItems = allImageItems;\n });\n });\n\n this.#chGridEl.addEventListener(\"rowDoubleClicked\", (): void => {\n this.#openSelectionCallBackHandler();\n });\n\n this.#chGridEl.addEventListener(\n \"rowContextMenu\",\n (ev: CustomEvent<ChGridRowContextMenuEvent>): void => {\n ev.preventDefault();\n ev.stopPropagation();\n this.contextMenuCallback({\n selection: ev.detail.selectedRowsId,\n clientX: ev.detail.clientX,\n clientY: ev.detail.clientY\n });\n }\n );\n };\n\n /**\n * Helper function to safely get image values for sorting\n */\n #getImageValue(image: ImageData, key: string): string {\n switch (key) {\n case \"name\":\n return image.name || \"\";\n case \"module\":\n return image.module || \"\";\n case \"description\":\n return image.description || \"\";\n case \"modifiedDate\":\n return image.modifiedDate\n ? formatDate(image.modifiedDate).toLowerCase()\n : \"\";\n case \"lastUser\":\n return image.lastUser?.toLowerCase() || \"\";\n case \"importDate\":\n return image.importDate\n ? formatDate(image.importDate).toLowerCase()\n : \"\";\n default:\n return \"\";\n }\n }\n\n /**\n * Sorts images based on the current order criteria\n */\n #sortImages = (a: ImageData, b: ImageData): number => {\n if (this.order.orderCriteria) {\n const valueA = this.#getImageValue(\n a,\n this.order.orderCriteria\n ).toUpperCase();\n const valueB = this.#getImageValue(\n b,\n this.order.orderCriteria\n ).toUpperCase();\n if (valueA < valueB) {\n return this.order.ascending ? -1 : 1;\n }\n if (valueA > valueB) {\n return this.order.ascending ? 1 : -1;\n }\n }\n return 0;\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 #newObjectCallbackHandler = (): void => {\n this.newObjectCallback();\n };\n #openSelectionCallBackHandler = (): void => {\n this.openSelectionCallback(this.selectedObjectsIds);\n };\n\n #toggleModifiedControls = (event: CustomEvent<string> | InputEvent) => {\n this.enabledModifiedControls = event.detail === MODIFIED_VALUE;\n };\n\n #renderHeader = (): Element[] => {\n return [\n <div\n // name\n class=\"field field-block name\"\n >\n <label class=\"label\" htmlFor=\"filter-name\">\n {this.#componentLocale.filter.name}\n </label>\n <ch-edit\n id=\"filter-name\"\n class=\"input\"\n autoFocus={true}\n value={this.filterNameValue}\n debounce={config.inputDebounce}\n onInput={this.#handleNameChange}\n ></ch-edit>\n </div>,\n\n <div class=\"field field-block module-folder\">\n <label class=\"label\" htmlFor=\"module-folder\">\n {this.#componentLocale.filter.moduleFolder}\n </label>\n\n <gx-ide-entity-selector\n // module/folder\n id=\"module/folder\"\n labelPosition=\"none\"\n value={this.filterModuleValue}\n defaultValue={this.defaultModule}\n selectEntityCallback={this.selectModuleCallback}\n ref={(el: HTMLGxIdeEntitySelectorElement) =>\n (this.#filterModuleEl = el as HTMLGxIdeEntitySelectorElement)\n }\n ></gx-ide-entity-selector>\n </div>,\n\n <ch-accordion-render\n // modified\n class=\"accordion-outlined advanced-filter-accordion\"\n model={this.#ACCORDION_MODEL}\n >\n <div slot={this.#ACCORDION_FILTER_ID} class=\"spacing-body\">\n <div class=\"main__filter field-group scrollable\">\n <div\n // category\n class=\"field field-block category\"\n >\n <label class=\"label\" htmlFor=\"filter-category\">\n {this.#componentLocale.filter.category}\n </label>\n <ch-combo-box-render\n id=\"filter-category\"\n class=\"combo-box\"\n value={this.filterCategoryValue}\n disabled={!this.categories}\n model={this.categoriesComboBoxModel}\n onInput={this.#handleCategoryChange}\n ></ch-combo-box-render>\n </div>\n\n <div\n // category\n class=\"field-group options\"\n >\n <label class=\"label\" htmlFor=\"filter-category\">\n {this.#componentLocale.filter.options}\n </label>\n <div\n // options\n class=\"field field-inline\"\n >\n <ch-checkbox\n class=\"checkbox all-descendants\"\n caption={this.#componentLocale.filter.allDescendants}\n checkedValue={ALL_DESCENDANTS_VALUE}\n value={\n this.filterAllDescendantsValue\n ? ALL_DESCENDANTS_VALUE\n : undefined\n }\n onInput={this.#handleAllDescendantsChange}\n ></ch-checkbox>\n\n <ch-checkbox\n class=\"checkbox modified\"\n caption={this.#componentLocale.filter.modified}\n checkedValue={MODIFIED_VALUE}\n onInput={this.#toggleModifiedControls}\n ></ch-checkbox>\n </div>\n </div>\n\n <div\n // after\n class=\"field field-block after-date-time\"\n >\n <label\n class={{\n \"label\": true,\n \"label--disabled\": !this.enabledModifiedControls\n }}\n htmlFor=\"filter-after-type\"\n >\n {this.#componentLocale.filter.afterLabel}\n </label>\n <ch-combo-box-render\n id=\"filter-after-type\"\n class=\"combo-box\"\n value={this.filterAfterTypeValue}\n disabled={!this.enabledModifiedControls}\n model={this.filterAfterOptions}\n onInput={this.#handleAfterTypeChange}\n ></ch-combo-box-render>\n </div>\n\n <div\n // user\n class=\"field field-block user\"\n >\n <label\n class={{\n \"label\": true,\n \"label--disabled\": !this.enabledModifiedControls\n }}\n htmlFor=\"filter-user\"\n >\n {this.#componentLocale.filter.user}\n </label>\n <ch-edit\n id=\"filter-user\"\n value={this.filterUserValue}\n class=\"input\"\n disabled={!this.enabledModifiedControls}\n debounce={config.inputDebounce}\n onInput={this.#handleUserChange}\n ></ch-edit>\n </div>\n\n <div\n // date/time\n class=\"field field-block date-time\"\n >\n <label\n class={{\n \"label\": true,\n \"label--disabled\":\n this.afterCurrentValue !== FILTER_AFTER.DATE_TIME\n }}\n htmlFor=\"modified-date\"\n >\n {this.#componentLocale.filter.dateTime}\n </label>\n <input\n type=\"datetime-local\"\n class=\"input \"\n id=\"modified-date\"\n name=\"modifiedDate\"\n value={this.filterModifiedDateValue}\n max={TODAY}\n disabled={this.afterCurrentValue !== FILTER_AFTER.DATE_TIME}\n onInput={this.#handleModifiedDateChange}\n ></input>\n </div>\n\n <div\n // style\n class=\"field field-block style\"\n >\n <label class=\"label\" htmlFor=\"filter-style\">\n {this.#componentLocale.filter.style}\n </label>\n <ch-combo-box-render\n id=\"filter-style\"\n class=\"combo-box\"\n value={this.filterStyleValue}\n disabled={!this.styles}\n model={this.stylesComboBoxModel}\n onInput={this.#handleStyleChange}\n ></ch-combo-box-render>\n </div>\n\n <div\n // language\n class=\"field field-block language\"\n >\n <label class=\"label\" htmlFor=\"filter-language\">\n {this.#componentLocale.filter.language}\n </label>\n <ch-combo-box-render\n id=\"filter-language\"\n class=\"combo-box\"\n value={this.filterLanguageValue}\n disabled={!this.languages}\n model={this.languagesComboBoxModel}\n onInput={this.#handleLanguageChange}\n ></ch-combo-box-render>\n </div>\n\n <div\n // density\n class=\"field field-block\"\n >\n <label class=\"label\" htmlFor=\"filter-density\">\n {this.#componentLocale.filter.density}\n </label>\n <ch-combo-box-render\n id=\"filter-density\"\n class=\"combo-box\"\n value={this.filterDensityValue}\n disabled={!this.densities}\n model={this.densitiesComboBoxModel}\n onInput={this.#handleDensityChange}\n ></ch-combo-box-render>\n </div>\n\n <div\n // layer\n class=\"field field-block\"\n >\n <label class=\"label\" htmlFor=\"filter-layer\">\n {this.#componentLocale.filter.layer}\n </label>\n <ch-combo-box-render\n id=\"filter-layer\"\n class=\"combo-box\"\n value={this.filterLayerValue}\n disabled={!this.layers}\n model={this.layersComboBoxModel}\n onInput={this.#handleLayerChange}\n ></ch-combo-box-render>\n </div>\n\n <div\n // search contents\n class=\"field field-block search-by-contents\"\n >\n <label class=\"label\" htmlFor=\"search-input\">\n {this.#componentLocale.filter.search}\n </label>\n <ch-edit\n id=\"search-input\"\n debounce={config.inputDebounce}\n class=\"input\"\n value={this.filterSearchContentsValue}\n placeholder={\n this.#componentLocale.filter.searchContentsPlaceholder\n }\n onInput={this.#handleSearchContentsChange}\n startImgSrc={SEARCH_ICON}\n type=\"search\"\n ></ch-edit>\n </div>\n\n <button\n // reset filter button\n class=\"button-secondary button-icon-and-text button-reset\"\n onClick={this.#resetFilterHandler}\n >\n <ch-image class=\"icon-sm\" src={RESET_ICON} type=\"mask\"></ch-image>\n {this.#componentLocale.filter.resetFilters}\n </button>\n </div>\n </div>\n </ch-accordion-render>\n ];\n };\n\n #renderFilter = (): Element[] => {\n return (\n <div class=\"sidebar-container scrollable\">{this.#renderImages()}</div>\n );\n };\n\n #renderImages = (): Element => {\n return (\n /* tiles */\n\n <div class=\"main__images-container spacing-body-inline\">\n {this.imagesSelectedItems.map(item => (\n <figure class=\"figure\">\n <picture class=\"figure__picture\">\n <img class=\"figure__img\" src={item.url} alt={item.name} />\n </picture>\n <figcaption class=\"figure__figcaption\">{item.name}</figcaption>\n </figure>\n ))}\n </div>\n );\n };\n #renderTabularGrid = (): Element => {\n const commonColSize = \"minmax(max-content, auto)\";\n\n return (\n <div\n class={{\n \"field-group\": true,\n \"main__grid\": true\n }}\n >\n <ch-tabular-grid\n ref={(el: HTMLChTabularGridElement) => (this.#chGridEl = el)}\n rowSelectionMode=\"multiple\"\n class=\"tabular-grid tabular-grid-ww-images\"\n columnResizeMode=\"splitter\"\n >\n <ch-tabular-grid-columnset class=\"tabular-grid-column-set\">\n <ch-tabular-grid-column\n columnId=\"icon\"\n columnName=\"\"\n settingable={false}\n size={config.tabularGrid.colSize.maxContent}\n class=\"tabular-grid-column\"\n resizable={true}\n sortable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"name\"\n columnName={this.#componentLocale.tableHead.name}\n settingable={false}\n class=\"tabular-grid-column\"\n column-name-position=\"text\"\n size={commonColSize}\n resizable={true}\n sortable={true}\n onColumnSortChanged={this.#handleColumnSortChanged}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"module\"\n columnName={this.#componentLocale.tableHead.module}\n settingable={false}\n size={commonColSize}\n class=\"tabular-grid-column\"\n resizable={true}\n sortable={true}\n onColumnSortChanged={this.#handleColumnSortChanged}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"description\"\n columnName={this.#componentLocale.tableHead.description}\n settingable={false}\n size=\"minmax(300px, 1fr)\"\n class=\"tabular-grid-column\"\n resizable={false}\n sortable={false}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"modifiedDate\"\n columnName={this.#componentLocale.tableHead.modifiedDate}\n settingable={false}\n size={commonColSize}\n class=\"tabular-grid-column\"\n resizable={true}\n sortable={true}\n onColumnSortChanged={this.#handleColumnSortChanged}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"lastUser\"\n columnName={this.#componentLocale.tableHead.lastUser}\n settingable={false}\n size={commonColSize}\n class=\"tabular-grid-column\"\n resizable={true}\n sortable={true}\n onColumnSortChanged={this.#handleColumnSortChanged}\n ></ch-tabular-grid-column>\n <ch-tabular-grid-column\n columnId=\"importDate\"\n columnName={this.#componentLocale.tableHead.importDate}\n settingable={false}\n size={commonColSize}\n class=\"tabular-grid-column\"\n resizable={true}\n sortable={true}\n onColumnSortChanged={this.#handleColumnSortChanged}\n ></ch-tabular-grid-column>\n </ch-tabular-grid-columnset>\n\n {this.tabularGridData.length ? (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n {[...this.tabularGridData]\n .sort(this.#sortImages)\n .map((obj: ImageData) => (\n <ch-tabular-grid-row rowid={obj.id} class=\"tabular-grid-row\">\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n <ch-image src={obj.icon}></ch-image>\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.name}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.module}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell tabular-grid-cell-description\">\n {obj.description}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {formatDate(obj.modifiedDate)}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {obj.lastUser}\n </ch-tabular-grid-cell>\n <ch-tabular-grid-cell class=\"tabular-grid-cell\">\n {formatDate(obj.importDate)}\n </ch-tabular-grid-cell>\n </ch-tabular-grid-row>\n ))}\n </ch-tabular-grid-rowset>\n ) : (\n <ch-tabular-grid-rowset class=\"tabular-grid-rowset\">\n <ch-tabular-grid-rowset-empty>\n <gx-ide-empty-state\n isAnimated={false}\n stateIconSrc={NOTICE_ICON}\n stateTitle={this.#componentLocale.emptyState.title}\n key=\"no-images-empty-state\"\n ></gx-ide-empty-state>\n </ch-tabular-grid-rowset-empty>\n </ch-tabular-grid-rowset>\n )}\n </ch-tabular-grid>\n </div>\n );\n };\n\n #resetFilterHandler = () => {\n if (this.#filterInitialData) {\n this.filterNameValue = this.#filterInitialData.name;\n this.filterModuleValue = this.#filterInitialData.module;\n this.filterSearchContentsValue = this.#filterInitialData.searchContents;\n this.filterCategoryValue = this.#filterInitialData.category;\n this.filterAllDescendantsValue =\n this.#filterInitialData.allDescendants === ALL_DESCENDANTS_VALUE;\n this.filterAfterTypeValue = this.#filterInitialData.modifiedAfter;\n this.filterModifiedDateValue = this.#filterInitialData.modifiedDateTime;\n this.filterUserValue = this.#filterInitialData.modifiedUser;\n this.filterStyleValue = this.#filterInitialData.style;\n this.filterLanguageValue = this.#filterInitialData.language;\n this.filterDensityValue = this.#filterInitialData.density;\n this.filterLayerValue = this.#filterInitialData.layer;\n this.afterCurrentValue = this.filterAfterTypeValue;\n }\n };\n\n #saveInitialFilterData = () => {\n this.#filterInitialData = {\n name: this.filterNameValue,\n module: this.filterModuleValue,\n searchContents: this.filterSearchContentsValue,\n category: this.filterCategoryValue,\n allDescendants: this.filterAllDescendantsValue\n ? ALL_DESCENDANTS_VALUE\n : \"\",\n modifiedAfter: this.filterAfterTypeValue,\n modifiedDateTime: this.filterModifiedDateValue,\n modifiedUser: this.filterUserValue,\n style: this.filterStyleValue,\n language: this.filterLanguageValue,\n density: this.filterDensityValue,\n layer: this.filterLayerValue\n };\n };\n\n #selectAll = (): void => {\n (this.#chGridEl as any).selectAllRows();\n };\n\n render(): void {\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <section class=\"section\">\n <header class=\"header control-header-with-border spacing-body-inline spacing-body-block-start field-group\">\n {this.#renderHeader()}\n </header>\n\n <div class=\"main\">\n {this.#renderTabularGrid()}\n <div class=\"main__aside field-group\">{this.#renderFilter()}</div>\n </div>\n\n <footer class=\"dialog-footer-with-border dialog-footer-space-between spacing-body\">\n <p\n // matching objects\n class=\"text-body\"\n >\n {`${this.tabularGridData.length} ${\n this.#componentLocale.objCount.matching\n }`}\n </p>\n\n <div class=\"buttons-spacer\">\n <button\n // select all button\n id=\"button-select-all\"\n class=\"button-secondary\"\n onClick={this.#selectAll}\n >\n {this.#componentLocale.footer.btnSelectAll}\n </button>\n\n <button\n // new image button\n id=\"button-new-file\"\n class=\"button-primary button-icon-and-text\"\n onClick={this.#newObjectCallbackHandler}\n >\n {this.#componentLocale.footer.btnNew}\n </button>\n </div>\n </footer>\n </section>\n </Host>\n );\n }\n}\nexport type ContextMenuCallback = (\n contextMenuInfo: ContextMenuInfo\n) => Promise<void>;\n\nexport type DeleteSelectionCallback = (ids: string[]) => Promise<void>;\n\nexport type FilerInitialData = {\n name: string;\n module: EntityData;\n searchContents: string;\n category: string;\n allDescendants: string;\n modifiedAfter: string;\n modifiedDateTime: string;\n modifiedUser: string;\n style: string;\n language: string;\n density: string;\n layer: string;\n};\n\nexport type ImageData = {\n id: string;\n icon: string;\n name: string;\n description: string;\n parent: string;\n module: string;\n modifiedDate?: Date;\n lastUser?: string;\n importDate?: Date;\n};\n\nexport type ImageFiltersData = {\n name?: string;\n searchContents?: string;\n category?: string;\n parent?: string;\n allDescendants?: boolean;\n modifiedAfter?: string;\n modifiedBy?: string;\n modifiedDate?: Date;\n style?: string;\n language?: string;\n density?: string;\n layer?: string;\n};\n\nexport type ImageItemData = {\n id: string;\n name: string;\n url: string;\n};\n\nexport type LoadCallback = (filters: ImageFiltersData) => Promise<ImageData[]>;\n\nexport type LoadImageItemsCallback = (id: string) => Promise<ImageItemData[]>;\n\nexport type NewObjectCallback = () => Promise<void>;\n\nexport type OpenSelectionCallback = (ids: string[]) => Promise<void>;\n\nexport type SelectModuleCallback = () => Promise<EntityData | undefined>;\n\nexport type SelectionObjectCallback = (ids: string[]) => Promise<void>;\n"],"mappings":"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"}