@genexus/genexus-ide-ui 1.0.7 → 1.0.9

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 (192) hide show
  1. package/dist/cjs/{config-7499aff7.js → config-cefda28a.js} +2 -2
  2. package/dist/cjs/{config-7499aff7.js.map → config-cefda28a.js.map} +1 -1
  3. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  4. package/dist/cjs/gx-ide-bpm-app-declaration.cjs.entry.js +1 -1
  5. package/dist/cjs/gx-ide-bpm-assign-roles.cjs.entry.js +1 -1
  6. package/dist/cjs/gx-ide-bpm-export-xpdl.cjs.entry.js +1 -1
  7. package/dist/cjs/gx-ide-bpm-import-files.cjs.entry.js +1 -1
  8. package/dist/cjs/gx-ide-bpm-import-gxpm.cjs.entry.js +1 -1
  9. package/dist/cjs/gx-ide-bpm-objects-selector.cjs.entry.js +1 -1
  10. package/dist/cjs/gx-ide-bpm-timer-duration.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-connect-gx-server.cjs.entry.js +1 -1
  12. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +155 -133
  13. package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -1
  14. package/dist/cjs/gx-ide-design-import.cjs.entry.js +1 -1
  15. package/dist/cjs/{gx-ide-empty-state.cjs.entry.js → gx-ide-empty-state_2.cjs.entry.js} +56 -3
  16. package/dist/cjs/gx-ide-empty-state_2.cjs.entry.js.map +1 -0
  17. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +4 -1
  18. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js.map +1 -1
  19. package/dist/cjs/gx-ide-gam-installation-settings.cjs.entry.js +1 -1
  20. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js +1 -2
  21. package/dist/cjs/gx-ide-kb-manager-export.cjs.entry.js.map +1 -1
  22. package/dist/cjs/gx-ide-kb-manager-import.cjs.entry.js +1 -1
  23. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +1 -1
  24. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +1 -1
  25. package/dist/cjs/gx-ide-new-object.cjs.entry.js +1 -1
  26. package/dist/cjs/gx-ide-object-selector.cjs.entry.js +2 -2
  27. package/dist/cjs/gx-ide-object-selector.cjs.entry.js.map +1 -1
  28. package/dist/cjs/gx-ide-recent-news.cjs.entry.js +1 -1
  29. package/dist/cjs/gx-ide-references.cjs.entry.js +1 -1
  30. package/dist/cjs/gx-ide-share-kb.cjs.entry.js +1 -1
  31. package/dist/cjs/gx-ide-start-page.cjs.entry.js +1 -1
  32. package/dist/cjs/gx-ide-team-dev-commit.cjs.entry.js +1 -1
  33. package/dist/cjs/gx-ide-team-dev-select-recent-comment.cjs.entry.js +1 -1
  34. package/dist/cjs/gx-ide-team-dev-update-partial-selection.cjs.entry.js +1 -1
  35. package/dist/cjs/gx-ide-team-dev-update-to-revision.cjs.entry.js +1 -1
  36. package/dist/cjs/gx-ide-team-dev-update.cjs.entry.js +1 -1
  37. package/dist/cjs/gx-ide-template.cjs.entry.js +1 -1
  38. package/dist/cjs/gx-ide-wf-settings.cjs.entry.js +1 -1
  39. package/dist/cjs/gx-ide-ww-images.cjs.entry.js +1 -1
  40. package/dist/cjs/loader.cjs.js +1 -1
  41. package/dist/collection/common/config.js +1 -1
  42. package/dist/collection/common/config.js.map +1 -1
  43. package/dist/collection/components/_helpers/entity-selector/entity-selector.js +23 -3
  44. package/dist/collection/components/_helpers/entity-selector/entity-selector.js.map +1 -1
  45. package/dist/collection/components/_helpers/entity-selector/gx-ide-assets/entity-selector/langs/entity-selector.lang.en.json +1 -0
  46. package/dist/collection/components/data-selector/data-selector.css +19 -624
  47. package/dist/collection/components/data-selector/data-selector.js +251 -244
  48. package/dist/collection/components/data-selector/data-selector.js.map +1 -1
  49. package/dist/collection/components/data-selector/gx-ide-assets/data-selector/langs/data-selector.lang.en.json +4 -1
  50. package/dist/collection/components/data-selector/gx-ide-assets/data-selector/langs/data-selector.lang.ja.json +5 -2
  51. package/dist/collection/components/data-selector/gx-ide-assets/data-selector/shortcuts.json +2 -2
  52. package/dist/collection/components/kb-manager-export/kb-manager-export.js +1 -2
  53. package/dist/collection/components/kb-manager-export/kb-manager-export.js.map +1 -1
  54. package/dist/collection/components/object-selector/object-selector.js +1 -1
  55. package/dist/collection/components/object-selector/object-selector.js.map +1 -1
  56. package/dist/components/config.js +1 -1
  57. package/dist/components/config.js.map +1 -1
  58. package/dist/components/entity-selector.js +5 -1
  59. package/dist/components/entity-selector.js.map +1 -1
  60. package/dist/components/gx-ide-data-selector.js +167 -146
  61. package/dist/components/gx-ide-data-selector.js.map +1 -1
  62. package/dist/components/gx-ide-kb-manager-export.js +1 -2
  63. package/dist/components/gx-ide-kb-manager-export.js.map +1 -1
  64. package/dist/components/gx-ide-object-selector.js +1 -1
  65. package/dist/components/gx-ide-object-selector.js.map +1 -1
  66. package/dist/esm/{config-6cfbb06f.js → config-084ee328.js} +2 -2
  67. package/dist/esm/{config-6cfbb06f.js.map → config-084ee328.js.map} +1 -1
  68. package/dist/esm/genexus-ide-ui.js +1 -1
  69. package/dist/esm/gx-ide-bpm-app-declaration.entry.js +1 -1
  70. package/dist/esm/gx-ide-bpm-assign-roles.entry.js +1 -1
  71. package/dist/esm/gx-ide-bpm-export-xpdl.entry.js +1 -1
  72. package/dist/esm/gx-ide-bpm-import-files.entry.js +1 -1
  73. package/dist/esm/gx-ide-bpm-import-gxpm.entry.js +1 -1
  74. package/dist/esm/gx-ide-bpm-objects-selector.entry.js +1 -1
  75. package/dist/esm/gx-ide-bpm-timer-duration.entry.js +1 -1
  76. package/dist/esm/gx-ide-connect-gx-server.entry.js +1 -1
  77. package/dist/esm/gx-ide-data-selector.entry.js +156 -134
  78. package/dist/esm/gx-ide-data-selector.entry.js.map +1 -1
  79. package/dist/esm/gx-ide-design-import.entry.js +1 -1
  80. package/dist/esm/{gx-ide-empty-state.entry.js → gx-ide-empty-state_2.entry.js} +57 -5
  81. package/dist/esm/gx-ide-empty-state_2.entry.js.map +1 -0
  82. package/dist/esm/gx-ide-entity-selector.entry.js +4 -1
  83. package/dist/esm/gx-ide-entity-selector.entry.js.map +1 -1
  84. package/dist/esm/gx-ide-gam-installation-settings.entry.js +1 -1
  85. package/dist/esm/gx-ide-kb-manager-export.entry.js +1 -2
  86. package/dist/esm/gx-ide-kb-manager-export.entry.js.map +1 -1
  87. package/dist/esm/gx-ide-kb-manager-import.entry.js +1 -1
  88. package/dist/esm/gx-ide-new-environment.entry.js +1 -1
  89. package/dist/esm/gx-ide-new-kb.entry.js +1 -1
  90. package/dist/esm/gx-ide-new-object.entry.js +1 -1
  91. package/dist/esm/gx-ide-object-selector.entry.js +2 -2
  92. package/dist/esm/gx-ide-object-selector.entry.js.map +1 -1
  93. package/dist/esm/gx-ide-recent-news.entry.js +1 -1
  94. package/dist/esm/gx-ide-references.entry.js +1 -1
  95. package/dist/esm/gx-ide-share-kb.entry.js +1 -1
  96. package/dist/esm/gx-ide-start-page.entry.js +1 -1
  97. package/dist/esm/gx-ide-team-dev-commit.entry.js +1 -1
  98. package/dist/esm/gx-ide-team-dev-select-recent-comment.entry.js +1 -1
  99. package/dist/esm/gx-ide-team-dev-update-partial-selection.entry.js +1 -1
  100. package/dist/esm/gx-ide-team-dev-update-to-revision.entry.js +1 -1
  101. package/dist/esm/gx-ide-team-dev-update.entry.js +1 -1
  102. package/dist/esm/gx-ide-template.entry.js +1 -1
  103. package/dist/esm/gx-ide-wf-settings.entry.js +1 -1
  104. package/dist/esm/gx-ide-ww-images.entry.js +1 -1
  105. package/dist/esm/loader.js +1 -1
  106. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  107. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  108. package/dist/genexus-ide-ui/gx-ide-assets/data-selector/langs/data-selector.lang.en.json +4 -1
  109. package/dist/genexus-ide-ui/gx-ide-assets/data-selector/langs/data-selector.lang.ja.json +5 -2
  110. package/dist/genexus-ide-ui/gx-ide-assets/data-selector/shortcuts.json +2 -2
  111. package/dist/genexus-ide-ui/gx-ide-assets/entity-selector/langs/entity-selector.lang.en.json +1 -0
  112. package/dist/genexus-ide-ui/{p-3824978b.entry.js → p-05eb7c04.entry.js} +3 -3
  113. package/dist/genexus-ide-ui/{p-3824978b.entry.js.map → p-05eb7c04.entry.js.map} +1 -1
  114. package/dist/genexus-ide-ui/{p-27fcaad7.entry.js → p-1a1042c2.entry.js} +2 -2
  115. package/dist/genexus-ide-ui/{p-a3daa189.entry.js → p-1f8445eb.entry.js} +2 -2
  116. package/dist/genexus-ide-ui/{p-885302c2.entry.js → p-241f3d69.entry.js} +87 -18
  117. package/dist/genexus-ide-ui/p-241f3d69.entry.js.map +1 -0
  118. package/dist/genexus-ide-ui/{p-04421676.entry.js → p-2b200d34.entry.js} +2 -2
  119. package/dist/genexus-ide-ui/{p-0ac125fc.entry.js → p-41e5e8e0.entry.js} +2 -2
  120. package/dist/genexus-ide-ui/{p-980f96c5.entry.js → p-4ade9a67.entry.js} +2 -2
  121. package/dist/genexus-ide-ui/{p-8cf892b5.js → p-55a30661.js} +2 -2
  122. package/dist/genexus-ide-ui/{p-8cf892b5.js.map → p-55a30661.js.map} +1 -1
  123. package/dist/genexus-ide-ui/{p-0be068bf.entry.js → p-5620c188.entry.js} +2 -2
  124. package/dist/genexus-ide-ui/{p-a587e7ca.entry.js → p-58e33dda.entry.js} +36 -31
  125. package/dist/genexus-ide-ui/p-58e33dda.entry.js.map +1 -0
  126. package/dist/genexus-ide-ui/{p-33c1ddd9.entry.js → p-593981a8.entry.js} +2 -2
  127. package/dist/genexus-ide-ui/{p-38f61bea.entry.js → p-5d8817cb.entry.js} +2 -2
  128. package/dist/genexus-ide-ui/{p-2fd83e6c.entry.js → p-62be51c2.entry.js} +2 -2
  129. package/dist/genexus-ide-ui/{p-6da8bf60.entry.js → p-794ac8e6.entry.js} +2 -2
  130. package/dist/genexus-ide-ui/{p-3e48e2f6.entry.js → p-88ab3f67.entry.js} +2 -2
  131. package/dist/genexus-ide-ui/{p-7b8e41dd.entry.js → p-8beec8d4.entry.js} +2 -2
  132. package/dist/genexus-ide-ui/{p-64101478.entry.js → p-8f294d2e.entry.js} +2 -2
  133. package/dist/genexus-ide-ui/{p-d541640a.entry.js → p-9d02318b.entry.js} +2 -2
  134. package/dist/genexus-ide-ui/{p-19789aa2.entry.js → p-9d640444.entry.js} +2 -2
  135. package/dist/genexus-ide-ui/{p-68810397.entry.js → p-a4370f5d.entry.js} +2 -2
  136. package/dist/genexus-ide-ui/{p-69e879be.entry.js → p-aa38604e.entry.js} +2 -2
  137. package/dist/genexus-ide-ui/p-aa38604e.entry.js.map +1 -0
  138. package/dist/genexus-ide-ui/{p-d178da38.entry.js → p-aea82479.entry.js} +2 -2
  139. package/dist/genexus-ide-ui/{p-a04d556d.entry.js → p-afb531b3.entry.js} +2 -2
  140. package/dist/genexus-ide-ui/{p-d9f7d2c3.entry.js → p-b5bb18d9.entry.js} +2 -2
  141. package/dist/genexus-ide-ui/{p-8ff5da93.entry.js → p-b7dfdf6d.entry.js} +2 -2
  142. package/dist/genexus-ide-ui/{p-cd7100fa.entry.js → p-c0ee7647.entry.js} +2 -2
  143. package/dist/genexus-ide-ui/{p-0bb18689.entry.js → p-d5c2b4cc.entry.js} +2 -2
  144. package/dist/genexus-ide-ui/p-dcbf5cd9.entry.js +332 -0
  145. package/dist/genexus-ide-ui/p-dcbf5cd9.entry.js.map +1 -0
  146. package/dist/genexus-ide-ui/{p-69edc29c.entry.js → p-e0072adb.entry.js} +2 -2
  147. package/dist/genexus-ide-ui/{p-638befbe.entry.js → p-e557aa5e.entry.js} +2 -2
  148. package/dist/genexus-ide-ui/{p-c64a4398.entry.js → p-eb6ef221.entry.js} +2 -2
  149. package/dist/genexus-ide-ui/{p-f5c02654.entry.js → p-f512bbca.entry.js} +2 -2
  150. package/dist/types/components/_helpers/entity-selector/entity-selector.d.ts +6 -2
  151. package/dist/types/components/data-selector/data-selector.d.ts +26 -51
  152. package/dist/types/components.d.ts +21 -29
  153. package/package.json +1 -1
  154. package/dist/cjs/gx-ide-empty-state.cjs.entry.js.map +0 -1
  155. package/dist/cjs/gx-ide-loader.cjs.entry.js +0 -61
  156. package/dist/cjs/gx-ide-loader.cjs.entry.js.map +0 -1
  157. package/dist/esm/gx-ide-empty-state.entry.js.map +0 -1
  158. package/dist/esm/gx-ide-loader.entry.js +0 -57
  159. package/dist/esm/gx-ide-loader.entry.js.map +0 -1
  160. package/dist/genexus-ide-ui/p-69e879be.entry.js.map +0 -1
  161. package/dist/genexus-ide-ui/p-885302c2.entry.js.map +0 -1
  162. package/dist/genexus-ide-ui/p-a587e7ca.entry.js.map +0 -1
  163. package/dist/genexus-ide-ui/p-a6b76120.entry.js +0 -73
  164. package/dist/genexus-ide-ui/p-a6b76120.entry.js.map +0 -1
  165. package/dist/genexus-ide-ui/p-e4db9c34.entry.js +0 -309
  166. package/dist/genexus-ide-ui/p-e4db9c34.entry.js.map +0 -1
  167. /package/dist/genexus-ide-ui/{p-27fcaad7.entry.js.map → p-1a1042c2.entry.js.map} +0 -0
  168. /package/dist/genexus-ide-ui/{p-a3daa189.entry.js.map → p-1f8445eb.entry.js.map} +0 -0
  169. /package/dist/genexus-ide-ui/{p-04421676.entry.js.map → p-2b200d34.entry.js.map} +0 -0
  170. /package/dist/genexus-ide-ui/{p-0ac125fc.entry.js.map → p-41e5e8e0.entry.js.map} +0 -0
  171. /package/dist/genexus-ide-ui/{p-980f96c5.entry.js.map → p-4ade9a67.entry.js.map} +0 -0
  172. /package/dist/genexus-ide-ui/{p-0be068bf.entry.js.map → p-5620c188.entry.js.map} +0 -0
  173. /package/dist/genexus-ide-ui/{p-33c1ddd9.entry.js.map → p-593981a8.entry.js.map} +0 -0
  174. /package/dist/genexus-ide-ui/{p-38f61bea.entry.js.map → p-5d8817cb.entry.js.map} +0 -0
  175. /package/dist/genexus-ide-ui/{p-2fd83e6c.entry.js.map → p-62be51c2.entry.js.map} +0 -0
  176. /package/dist/genexus-ide-ui/{p-6da8bf60.entry.js.map → p-794ac8e6.entry.js.map} +0 -0
  177. /package/dist/genexus-ide-ui/{p-3e48e2f6.entry.js.map → p-88ab3f67.entry.js.map} +0 -0
  178. /package/dist/genexus-ide-ui/{p-7b8e41dd.entry.js.map → p-8beec8d4.entry.js.map} +0 -0
  179. /package/dist/genexus-ide-ui/{p-64101478.entry.js.map → p-8f294d2e.entry.js.map} +0 -0
  180. /package/dist/genexus-ide-ui/{p-d541640a.entry.js.map → p-9d02318b.entry.js.map} +0 -0
  181. /package/dist/genexus-ide-ui/{p-19789aa2.entry.js.map → p-9d640444.entry.js.map} +0 -0
  182. /package/dist/genexus-ide-ui/{p-68810397.entry.js.map → p-a4370f5d.entry.js.map} +0 -0
  183. /package/dist/genexus-ide-ui/{p-d178da38.entry.js.map → p-aea82479.entry.js.map} +0 -0
  184. /package/dist/genexus-ide-ui/{p-a04d556d.entry.js.map → p-afb531b3.entry.js.map} +0 -0
  185. /package/dist/genexus-ide-ui/{p-d9f7d2c3.entry.js.map → p-b5bb18d9.entry.js.map} +0 -0
  186. /package/dist/genexus-ide-ui/{p-8ff5da93.entry.js.map → p-b7dfdf6d.entry.js.map} +0 -0
  187. /package/dist/genexus-ide-ui/{p-cd7100fa.entry.js.map → p-c0ee7647.entry.js.map} +0 -0
  188. /package/dist/genexus-ide-ui/{p-0bb18689.entry.js.map → p-d5c2b4cc.entry.js.map} +0 -0
  189. /package/dist/genexus-ide-ui/{p-69edc29c.entry.js.map → p-e0072adb.entry.js.map} +0 -0
  190. /package/dist/genexus-ide-ui/{p-638befbe.entry.js.map → p-e557aa5e.entry.js.map} +0 -0
  191. /package/dist/genexus-ide-ui/{p-c64a4398.entry.js.map → p-eb6ef221.entry.js.map} +0 -0
  192. /package/dist/genexus-ide-ui/{p-f5c02654.entry.js.map → p-f512bbca.entry.js.map} +0 -0
@@ -1,8 +1,8 @@
1
- import { r as registerInstance, h, H as Host, g as getElement } from './index-27c691bc.js';
1
+ import { r as registerInstance, h, H as Host, g as getElement, c as createEvent } from './index-27c691bc.js';
2
2
 
3
3
  const gxIdeEmptyStateCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}:host{display:flex;align-items:center;justify-content:center;text-align:center;inline-size:100%;position:relative}:host(.animate){animation:fadeIn var(--mer-timing--fast) forwards;inset-block-start:0}.main-container{max-width:320px;margin:0 auto;gap:var(--mer-spacing--md);padding:var(--mer-spacing--md)}.main-container__icon-wrapper{border:var(--mer-border__width--sm) dashed var(--mer-accent__primary);border-radius:50%;min-width:40px;min-height:40px;display:flex;align-items:center;justify-content:center;pointer-events:none}.main-container__content{gap:var(--mer-spacing--sm)}.main-container,.main-container__content{display:flex;align-items:center;flex-direction:column}@keyframes fadeIn{0%{opacity:0;inset-block-start:5px}}";
4
4
 
5
- const CSS_BUNDLES = [
5
+ const CSS_BUNDLES$1 = [
6
6
  "resets/box-sizing",
7
7
  "components/button",
8
8
  "components/icon",
@@ -17,12 +17,64 @@ const GxIdeEmptyState = class {
17
17
  this.stateTitle = undefined;
18
18
  }
19
19
  render() {
20
- return (h(Host, { class: { animate: this.isAnimated } }, h("ch-theme", { model: CSS_BUNDLES }), h("article", { class: "main-container" }, this.stateIconSrc && (h("span", { class: "main-container__icon-wrapper" }, h("ch-image", { src: this.stateIconSrc, class: "icon-md" }))), h("div", { class: "main-container__content" }, this.stateTitle && (h("h2", { class: "text-body-regular-m" }, this.stateTitle)), this.stateDescription && (h("p", { class: "text-body-regular-s" }, this.stateDescription))), h("slot", null))));
20
+ return (h(Host, { class: { animate: this.isAnimated } }, h("ch-theme", { model: CSS_BUNDLES$1 }), h("article", { class: "main-container" }, this.stateIconSrc && (h("span", { class: "main-container__icon-wrapper" }, h("ch-image", { src: this.stateIconSrc, class: "icon-md" }))), h("div", { class: "main-container__content" }, this.stateTitle && (h("h2", { class: "text-body-regular-m" }, this.stateTitle)), this.stateDescription && (h("p", { class: "text-body-regular-s" }, this.stateDescription))), h("slot", null))));
21
21
  }
22
22
  get el() { return getElement(this); }
23
23
  };
24
24
  GxIdeEmptyState.style = gxIdeEmptyStateCss;
25
25
 
26
- export { GxIdeEmptyState as gx_ide_empty_state };
26
+ const ideLoaderCss = ".loader__wrapper{position:absolute;border:none;opacity:0;transition:var(--show-transition) opacity;inline-size:100%;block-size:100%;display:flex;background-color:var(--gxg-ide-loader-wrapper__background-color--from);backdrop-filter:var(--gxg-ide-loader-wrapper__backdrop-filter);padding:var(--gxg-ide-loader-wrapper__padding);flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;color:var(--gxg-ide-loader-wrapper__color);z-index:99;animation:fadeIn var(--mer-timing--fast) forwards}.loader__wrapper--visible{opacity:1}.loader__spinner{border:var(--gxg-ide-loader-spinner__border);border-block-start:var(--gxg-ide-loader-spinner__border-top);border-radius:50%;animation:spinner 0.6s infinite linear;inline-size:var(--gxg-ide-loader-spinner__width);block-size:var(--gxg-ide-loader-spinner__width);flex-shrink:0;opacity:1}.loader__content-wrapper{display:flex;text-align:center;flex-direction:column;margin-block-start:var(--gxg-ide-loader-content-wrapper__mbs);gap:var(--mer-spacing--md);max-block-size:var(--gxg-ide-loader-content-wrapper__max-width);opacity:1}.loader__content-wrapper--hidden{display:none}@keyframes wrapper{0%{background-color:var(--gxg-ide-loader-wrapper__background-color--from)}100%{background-color:var(--gxg-ide-loader-wrapper__background-color--to)}}@keyframes spinner{0%{transform:rotate(0deg)}100%{transform:rotate(359deg)}}:host([display-border]) .loader__wrapper{border:1px solid var(--mer-color__elevation--02)}@keyframes fadeIn{0%{opacity:0}}";
27
+
28
+ var __classPrivateFieldGet = (undefined && undefined.__classPrivateFieldGet) || function (receiver, state, kind, f) {
29
+ if (kind === "a" && !f)
30
+ throw new TypeError("Private accessor was defined without a getter");
31
+ if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver))
32
+ throw new TypeError("Cannot read private member from an object whose class did not declare it");
33
+ return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
34
+ };
35
+ var _IdeLoader_timeoutReference, _IdeLoader_cancelProcess, _IdeLoader_renderCancelButton, _IdeLoader_renderDescription, _IdeLoader_renderTitle;
36
+ const CSS_BUNDLES = [
37
+ "resets/box-sizing",
38
+ "components/button",
39
+ "utils/typography"
40
+ ];
41
+ const IdeLoader = class {
42
+ constructor(hostRef) {
43
+ registerInstance(this, hostRef);
44
+ this.loaderFinished = createEvent(this, "loaderFinished", 7);
45
+ _IdeLoader_timeoutReference.set(this, void 0);
46
+ _IdeLoader_cancelProcess.set(this, () => {
47
+ if (this.cancelCallback) {
48
+ this.cancelCallback();
49
+ }
50
+ clearTimeout(__classPrivateFieldGet(this, _IdeLoader_timeoutReference, "f"));
51
+ this.show = false;
52
+ });
53
+ _IdeLoader_renderCancelButton.set(this, () => this.cancelLabel && (h("div", null, h("button", { class: "button-secondary", type: "button", onClick: __classPrivateFieldGet(this, _IdeLoader_cancelProcess, "f") }, this.cancelLabel))));
54
+ _IdeLoader_renderDescription.set(this, () => this.description && h("p", { class: "text-body-italic-s" }, this.description));
55
+ _IdeLoader_renderTitle.set(this, () => this.loaderTitle && h("p", { class: "text-body-regular-m" }, this.loaderTitle));
56
+ this.showWrapper = true;
57
+ this.abortTime = 5 * 60 * 1000;
58
+ this.cancelCallback = undefined;
59
+ this.cancelLabel = undefined;
60
+ this.description = undefined;
61
+ this.displayBorder = false;
62
+ this.loaderTitle = undefined;
63
+ this.show = false;
64
+ }
65
+ render() {
66
+ return (h(Host, null, h("ch-theme", { model: CSS_BUNDLES }), this.show && (h("div", { class: {
67
+ [`loader__wrapper`]: true,
68
+ "loader__wrapper--visible": this.showWrapper
69
+ }, part: "loader-wrapper", popover: "" }, h("div", { class: "loader__spinner" }), h("div", { class: {
70
+ "loader__content-wrapper": true,
71
+ "loader__content-wrapper--hidden": !this.description && !this.loaderTitle && !this.cancelLabel
72
+ } }, __classPrivateFieldGet(this, _IdeLoader_renderTitle, "f").call(this), __classPrivateFieldGet(this, _IdeLoader_renderDescription, "f").call(this), __classPrivateFieldGet(this, _IdeLoader_renderCancelButton, "f").call(this))))));
73
+ }
74
+ };
75
+ _IdeLoader_timeoutReference = new WeakMap(), _IdeLoader_cancelProcess = new WeakMap(), _IdeLoader_renderCancelButton = new WeakMap(), _IdeLoader_renderDescription = new WeakMap(), _IdeLoader_renderTitle = new WeakMap();
76
+ IdeLoader.style = ideLoaderCss;
77
+
78
+ export { GxIdeEmptyState as gx_ide_empty_state, IdeLoader as gx_ide_loader };
27
79
 
28
- //# sourceMappingURL=gx-ide-empty-state.entry.js.map
80
+ //# sourceMappingURL=gx-ide-empty-state_2.entry.js.map
@@ -0,0 +1 @@
1
+ {"file":"gx-ide-empty-state.gx-ide-loader.entry.js","mappings":";;AAAA,MAAM,kBAAkB,GAAG,utZAAutZ;;ACGlvZ,MAAMA,aAAW,GAAmB;IAClC,mBAAmB;IACnB,mBAAmB;IACnB,iBAAiB;IACjB,kBAAkB;CACnB,CAAC;MAOW,eAAe;;;0BAOa,KAAK;;;;;IAiB5C,MAAM;QACJ,QACE,EAAC,IAAI,IAAC,KAAK,EAAE,EAAE,OAAO,EAAE,IAAI,CAAC,UAAU,EAAE,IACvC,gBAAU,KAAK,EAAEA,aAAW,GAAa,EACzC,eAAS,KAAK,EAAC,gBAAgB,IAC5B,IAAI,CAAC,YAAY,KAChB,YAAM,KAAK,EAAC,8BAA8B,IACxC,gBAAU,GAAG,EAAE,IAAI,CAAC,YAAY,EAAE,KAAK,EAAC,SAAS,GAAY,CACxD,CACR,EACD,WAAK,KAAK,EAAC,yBAAyB,IACjC,IAAI,CAAC,UAAU,KACd,UAAI,KAAK,EAAC,qBAAqB,IAAE,IAAI,CAAC,UAAU,CAAM,CACvD,EACA,IAAI,CAAC,gBAAgB,KACpB,SAAG,KAAK,EAAC,qBAAqB,IAAE,IAAI,CAAC,gBAAgB,CAAK,CAC3D,CACG,EACN,eAAa,CACL,CACL,EACP;KACH;;;;;AC7DH,MAAM,YAAY,GAAG,o+CAAo+C;;;;;;;;;;ACYz/C,MAAM,WAAW,GAAmB;IAClC,mBAAmB;IACnB,mBAAmB;IACnB,kBAAkB;CACnB,CAAC;MAMW,SAAS;;;;QACpB,8CAAiD;QA+CjD,mCAAiB;YACf,IAAI,IAAI,CAAC,cAAc,EAAE;gBACvB,IAAI,CAAC,cAAc,EAAE,CAAC;aACvB;YACD,YAAY,CAAC,uBAAA,IAAI,mCAAkB,CAAC,CAAC;YACrC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC;SACnB,EAAC;QAEF,wCAAsB,MACpB,IAAI,CAAC,WAAW,KACd,eACE,cACE,KAAK,EAAC,kBAAkB,EACxB,IAAI,EAAC,QAAQ,EACb,OAAO,EAAE,uBAAA,IAAI,gCAAe,IAE3B,IAAI,CAAC,WAAW,CACV,CACL,CACP,EAAC;QAEJ,uCAAqB,MACnB,IAAI,CAAC,WAAW,IAAI,SAAG,KAAK,EAAC,oBAAoB,IAAE,IAAI,CAAC,WAAW,CAAK,EAAC;QAE3E,iCAAe,MACb,IAAI,CAAC,WAAW,IAAI,SAAG,KAAK,EAAC,qBAAqB,IAAE,IAAI,CAAC,WAAW,CAAK,EAAC;2BAnErD,IAAI;yBAKU,CAAC,GAAG,EAAE,GAAG,IAAI;;;;6BAoBS,KAAK;;oBAUhC,KAAK;;IAkCrC,MAAM;QACJ,QACE,EAAC,IAAI,QACH,gBAAU,KAAK,EAAE,WAAW,GAAa,EACxC,IAAI,CAAC,IAAI,KACR,WACE,KAAK,EAAE;gBACL,CAAC,iBAAiB,GAAG,IAAI;gBACzB,0BAA0B,EAAE,IAAI,CAAC,WAAW;aAC7C,EACD,IAAI,EAAC,gBAAgB,EACrB,OAAO,EAAC,EAAE,IAEV,WAAK,KAAK,EAAC,iBAAiB,GAAO,EACnC,WACE,KAAK,EAAE;gBACL,yBAAyB,EAAE,IAAI;gBAC/B,iCAAiC,EAC/B,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC,IAAI,CAAC,WAAW;aAC9D,IAEA,uBAAA,IAAI,8BAAa,MAAjB,IAAI,CAAe,EACnB,uBAAA,IAAI,oCAAmB,MAAvB,IAAI,CAAqB,EACzB,uBAAA,IAAI,qCAAoB,MAAxB,IAAI,CAAsB,CACvB,CACF,CACP,CACI,EACP;KACH;;;;;;;","names":["CSS_BUNDLES"],"sources":["src/components/_helpers/empty-state/gx-ide-empty-state.scss?tag=gx-ide-empty-state&encapsulation=shadow","src/components/_helpers/empty-state/gx-ide-empty-state.tsx","src/components/_helpers/ide-loader/ide-loader.scss?tag=gx-ide-loader&encapsulation=shadow","src/components/_helpers/ide-loader/ide-loader.tsx"],"sourcesContent":["@import \"../../../global/gx-ide-common.scss\";\n\n:host {\n display: flex;\n align-items: center;\n justify-content: center;\n text-align: center;\n inline-size: 100%;\n position: relative;\n}\n:host(.animate) {\n animation: fadeIn var(--mer-timing--fast) forwards;\n inset-block-start: 0;\n}\n.main-container {\n max-width: 320px;\n margin: 0 auto;\n gap: var(--mer-spacing--md);\n padding: var(--mer-spacing--md);\n\n &__icon-wrapper {\n border: var(--mer-border__width--sm) dashed var(--mer-accent__primary);\n border-radius: 50%;\n min-width: 40px;\n min-height: 40px;\n display: flex;\n align-items: center;\n justify-content: center;\n pointer-events: none;\n }\n\n &__content {\n gap: var(--mer-spacing--sm);\n }\n}\n.main-container,\n.main-container__content {\n display: flex;\n align-items: center;\n flex-direction: column;\n}\n\n@keyframes fadeIn {\n 0% {\n opacity: 0;\n inset-block-start: 5px;\n }\n}\n","import { Component, Host, h, Prop, Element } from \"@stencil/core\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/icon\",\n \"utils/typography\"\n];\n\n@Component({\n tag: \"gx-ide-empty-state\",\n styleUrl: \"gx-ide-empty-state.scss\",\n shadow: true\n})\nexport class GxIdeEmptyState {\n @Element() el: HTMLGxIdeEmptyStateElement;\n\n /**\n * Includes a subtle entry animation\n */\n // eslint-disable-next-line @stencil-community/reserved-member-names\n @Prop() readonly isAnimated: boolean = false;\n\n /**\n * The state description\n */\n @Prop() readonly stateDescription?: string;\n\n /**\n * The state icon\n */\n @Prop() readonly stateIconSrc?: string;\n\n /**\n * The state title\n */\n @Prop() readonly stateTitle!: string;\n\n render() {\n return (\n <Host class={{ animate: this.isAnimated }}>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n <article class=\"main-container\">\n {this.stateIconSrc && (\n <span class=\"main-container__icon-wrapper\">\n <ch-image src={this.stateIconSrc} class=\"icon-md\"></ch-image>\n </span>\n )}\n <div class=\"main-container__content\">\n {this.stateTitle && (\n <h2 class=\"text-body-regular-m\">{this.stateTitle}</h2>\n )}\n {this.stateDescription && (\n <p class=\"text-body-regular-s\">{this.stateDescription}</p>\n )}\n </div>\n <slot></slot>\n </article>\n </Host>\n );\n }\n}\n",".loader {\n &__wrapper {\n position: absolute;\n border: none;\n opacity: 0;\n transition: var(--show-transition) opacity;\n inline-size: 100%;\n block-size: 100%;\n display: flex;\n background-color: var(--gxg-ide-loader-wrapper__background-color--from);\n backdrop-filter: var(--gxg-ide-loader-wrapper__backdrop-filter);\n padding: var(--gxg-ide-loader-wrapper__padding);\n flex-direction: column;\n align-items: center;\n justify-content: center;\n box-sizing: border-box;\n color: var(--gxg-ide-loader-wrapper__color);\n z-index: 99; // WA to prevent tree-view chevron arrow to appear above.\n animation: fadeIn var(--mer-timing--fast) forwards;\n\n &--visible {\n opacity: 1;\n }\n }\n &__spinner {\n border: var(--gxg-ide-loader-spinner__border);\n border-block-start: var(--gxg-ide-loader-spinner__border-top);\n border-radius: 50%;\n animation: spinner 0.6s infinite linear;\n inline-size: var(--gxg-ide-loader-spinner__width);\n block-size: var(--gxg-ide-loader-spinner__width);\n flex-shrink: 0;\n opacity: 1;\n }\n\n &__content-wrapper {\n display: flex;\n text-align: center;\n flex-direction: column;\n margin-block-start: var(--gxg-ide-loader-content-wrapper__mbs);\n gap: var(--mer-spacing--md);\n max-block-size: var(--gxg-ide-loader-content-wrapper__max-width);\n &--hidden {\n display: none;\n }\n opacity: 1;\n }\n}\n\n/*background color animation*/\n@keyframes wrapper {\n 0% {\n background-color: var(--gxg-ide-loader-wrapper__background-color--from);\n }\n 100% {\n background-color: var(--gxg-ide-loader-wrapper__background-color--to);\n }\n}\n@keyframes spinner {\n 0% {\n transform: rotate(0deg);\n }\n 100% {\n transform: rotate(359deg);\n }\n}\n\n:host([display-border]) {\n .loader {\n &__wrapper {\n border: 1px solid var(--mer-color__elevation--02);\n }\n }\n}\n\n@keyframes fadeIn {\n 0% {\n opacity: 0;\n }\n}\n","import {\n Component,\n Host,\n h,\n Prop,\n State,\n Event,\n EventEmitter\n} from \"@stencil/core\";\n\nimport { MercuryBundles } from \"@genexus/mercury\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"utils/typography\"\n];\n@Component({\n tag: \"gx-ide-loader\",\n styleUrl: \"ide-loader.scss\",\n shadow: true\n})\nexport class IdeLoader {\n #timeoutReference: ReturnType<typeof setTimeout>;\n\n /**\n * shows the '.loader-wrapper'\n */\n @State() showWrapper = true;\n\n /**\n * The time the loader will await before abort.\n */\n @Prop() readonly abortTime: number = 5 * 60 * 1000; // 5 minutes\n\n /**\n * The cancel callback\n */\n @Prop() readonly cancelCallback: IdeLoaderCancelCallback;\n\n /**\n * The cancel button label (optional)\n */\n @Prop() readonly cancelLabel: string;\n\n /**\n * The loader description (optional)\n */\n @Prop() readonly description: string;\n\n /**\n * Displays a border all around\n */\n @Prop({ reflect: true }) readonly displayBorder: boolean = false;\n\n /**\n * The loader title (optional)\n */\n @Prop() readonly loaderTitle: string;\n\n /**\n * It shows the loader\n */\n @Prop({ mutable: true }) show = false;\n\n /**\n * This event is emitted when \"show\" is false.\n */\n @Event() loaderFinished: EventEmitter<void>;\n\n #cancelProcess = (): void => {\n if (this.cancelCallback) {\n this.cancelCallback();\n }\n clearTimeout(this.#timeoutReference);\n this.show = false;\n };\n\n #renderCancelButton = (): HTMLButtonElement | null =>\n this.cancelLabel && (\n <div>\n <button\n class=\"button-secondary\"\n type=\"button\"\n onClick={this.#cancelProcess}\n >\n {this.cancelLabel}\n </button>\n </div>\n );\n\n #renderDescription = (): HTMLParagraphElement | null =>\n this.description && <p class=\"text-body-italic-s\">{this.description}</p>;\n\n #renderTitle = (): HTMLParagraphElement | null =>\n this.loaderTitle && <p class=\"text-body-regular-m\">{this.loaderTitle}</p>;\n\n render() {\n return (\n <Host>\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n {this.show && (\n <div\n class={{\n [`loader__wrapper`]: true,\n \"loader__wrapper--visible\": this.showWrapper\n }}\n part=\"loader-wrapper\"\n popover=\"\"\n >\n <div class=\"loader__spinner\"></div>\n <div\n class={{\n \"loader__content-wrapper\": true,\n \"loader__content-wrapper--hidden\":\n !this.description && !this.loaderTitle && !this.cancelLabel\n }}\n >\n {this.#renderTitle()}\n {this.#renderDescription()}\n {this.#renderCancelButton()}\n </div>\n </div>\n )}\n </Host>\n );\n }\n}\n\nexport type IdeLoaderCancelCallback = () => void;\n"],"version":3}
@@ -44,7 +44,9 @@ const GxIdeEntitySelector = class {
44
44
  this.valueChanged = createEvent(this, "valueChanged", 7);
45
45
  _GxIdeEntitySelector_componentLocale.set(this, void 0);
46
46
  _GxIdeEntitySelector_btnClearClickHandler.set(this, () => {
47
+ var _a;
47
48
  this.value = this.defaultValue;
49
+ this.iconSrc = (_a = this.defaultValue) === null || _a === void 0 ? void 0 : _a.iconSrc;
48
50
  });
49
51
  _GxIdeEntitySelector_btnSelectClickHandler.set(this, () => {
50
52
  this.selectEntityCallback().then(result => {
@@ -62,7 +64,7 @@ const GxIdeEntitySelector = class {
62
64
  _GxIdeEntitySelector_renderControl.set(this, () => {
63
65
  var _a, _b;
64
66
  return (h("div", { part: "wrapper", class: "wrapper" }, h("ch-edit", { accessibleName: this.labelPosition === "none" &&
65
- __classPrivateFieldGet(this, _GxIdeEntitySelector_componentLocale, "f").entitySelectorInputAccessibleName, class: "form-input", name: "entitySelector", startImgSrc: this.iconSrc, value: ((_a = this.value) === null || _a === void 0 ? void 0 : _a.name) || ((_b = this.defaultValue) === null || _b === void 0 ? void 0 : _b.name), id: "entity-input" }), h("button", { part: "button-clear", class: "icon-button", "aria-label": __classPrivateFieldGet(this, _GxIdeEntitySelector_componentLocale, "f").clearButtonLabel, title: __classPrivateFieldGet(this, _GxIdeEntitySelector_componentLocale, "f").clearButtonLabel, onClick: __classPrivateFieldGet(this, _GxIdeEntitySelector_btnClearClickHandler, "f"), onFocus: this.buttonHasFocus ? __classPrivateFieldGet(this, _GxIdeEntitySelector_buttonFocusHandler, "f") : undefined, onBlur: !this.buttonHasFocus ? __classPrivateFieldGet(this, _GxIdeEntitySelector_buttonFocusHandler, "f") : undefined }, h("ch-image", { class: "icon-md", src: CLEAR_ICON })), h("button", { class: "icon-button", "aria-label": __classPrivateFieldGet(this, _GxIdeEntitySelector_componentLocale, "f").selectButtonLabel, title: __classPrivateFieldGet(this, _GxIdeEntitySelector_componentLocale, "f").selectButtonLabel, disabled: !this.selectEntityCallback, onClick: __classPrivateFieldGet(this, _GxIdeEntitySelector_btnSelectClickHandler, "f"), onBlur: !this.buttonHasFocus ? __classPrivateFieldGet(this, _GxIdeEntitySelector_buttonFocusHandler, "f") : undefined, onFocus: this.buttonHasFocus ? __classPrivateFieldGet(this, _GxIdeEntitySelector_buttonFocusHandler, "f") : undefined }, h("ch-image", { class: "icon-md", src: SELECT_DEFAULT_ICON }))));
67
+ __classPrivateFieldGet(this, _GxIdeEntitySelector_componentLocale, "f").entitySelectorInputAccessibleName, class: "form-input", name: this.name || __classPrivateFieldGet(this, _GxIdeEntitySelector_componentLocale, "f").entitySelectorNameAttribute, startImgSrc: this.iconSrc, value: ((_a = this.value) === null || _a === void 0 ? void 0 : _a.name) || ((_b = this.defaultValue) === null || _b === void 0 ? void 0 : _b.name), id: "entity-input" }), h("button", { part: "button-clear", class: "icon-button", "aria-label": __classPrivateFieldGet(this, _GxIdeEntitySelector_componentLocale, "f").clearButtonLabel, title: __classPrivateFieldGet(this, _GxIdeEntitySelector_componentLocale, "f").clearButtonLabel, type: "button", onClick: __classPrivateFieldGet(this, _GxIdeEntitySelector_btnClearClickHandler, "f"), onFocus: this.buttonHasFocus ? __classPrivateFieldGet(this, _GxIdeEntitySelector_buttonFocusHandler, "f") : undefined, onBlur: !this.buttonHasFocus ? __classPrivateFieldGet(this, _GxIdeEntitySelector_buttonFocusHandler, "f") : undefined }, h("ch-image", { class: "icon-md", src: CLEAR_ICON })), h("button", { class: "icon-button", "aria-label": __classPrivateFieldGet(this, _GxIdeEntitySelector_componentLocale, "f").selectButtonLabel, title: __classPrivateFieldGet(this, _GxIdeEntitySelector_componentLocale, "f").selectButtonLabel, type: "button", disabled: !this.selectEntityCallback, onClick: __classPrivateFieldGet(this, _GxIdeEntitySelector_btnSelectClickHandler, "f"), onBlur: !this.buttonHasFocus ? __classPrivateFieldGet(this, _GxIdeEntitySelector_buttonFocusHandler, "f") : undefined, onFocus: this.buttonHasFocus ? __classPrivateFieldGet(this, _GxIdeEntitySelector_buttonFocusHandler, "f") : undefined }, h("ch-image", { class: "icon-md", src: SELECT_DEFAULT_ICON }))));
66
68
  });
67
69
  _GxIdeEntitySelector_updateIconSrc.set(this, () => {
68
70
  if (this.value && this.value.iconSrc) {
@@ -74,6 +76,7 @@ const GxIdeEntitySelector = class {
74
76
  this.defaultValue = undefined;
75
77
  this.labelCaption = undefined;
76
78
  this.labelPosition = "block-start";
79
+ this.name = undefined;
77
80
  this.selectEntityCallback = undefined;
78
81
  this.value = undefined;
79
82
  }
@@ -1 +1 @@
1
- {"file":"gx-ide-entity-selector.entry.js","mappings":"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","names":[],"sources":["src/components/_helpers/entity-selector/entity-selector.scss?tag=gx-ide-entity-selector&encapsulation=shadow","src/components/_helpers/entity-selector/entity-selector.tsx"],"sourcesContent":["/*wrapper*/\n.wrapper {\n display: grid;\n grid-template-columns: 1fr max-content max-content;\n gap: var(--mer-spacing--xs);\n border-radius: var(--control__border-radius);\n border: var(--control__border-width) var(--control__border-style)\n var(--control__border-color);\n padding: var(--control__padding-block) var(--control__padding-inline);\n\n &:hover {\n --control__border-color: var(--control__border-color--hover);\n }\n &:focus {\n }\n}\n/*form-input*/\n.form-input {\n --control__padding-block: 0;\n --control__padding-inline: 0;\n // Remove control border. We want to simulate a form-input that includes two buttons at the end.\n --control__border-width: 0;\n --focus__outline-width: 0;\n}\n:host(:focus-within) {\n .wrapper {\n --control__border-color: var(--focus__outline-color);\n }\n}\n:host(.entity-selector--button-has-focus) {\n .wrapper {\n outline: none;\n }\n}\n/*custom button icon*/\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Event,\n EventEmitter,\n Watch\n} from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../../common/locale\";\nimport { LabelPosition } from \"../../../common/types\";\nimport { EntityData } from \"../../../common/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/edit\",\n \"components/button\",\n \"components/icon\",\n \"utils/form\"\n];\nconst SELECT_DEFAULT_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"primary\"\n});\nconst CLEAR_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"reset\",\n colorType: \"primary\"\n});\n\n@Component({\n tag: \"gx-ide-entity-selector\",\n styleUrl: \"entity-selector.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/entity-selector\"]\n})\nexport class GxIdeEntitySelector {\n #componentLocale: any;\n\n @Element() el: HTMLGxIdeEntitySelectorElement;\n\n /**\n * Adds/removes a CSS class on the host. It removes focus-within styles when\n * focus is on a button.\n */\n @State() buttonHasFocus = false;\n\n @State() iconSrc: string = null;\n\n /**\n * Default value for the component. Used when the 'X' button is pressed.\n */\n @Prop() readonly defaultValue?: EntityData | null | undefined;\n\n /**\n * The label caption. Only visible if \"labelPosition\" is not \"none\".\n * I no \"labelCaption\" is provided, a generic caption \"Select Entity\" will be provided\n */\n @Prop() readonly labelCaption: string;\n\n /**\n * The label position\n */\n @Prop({ reflect: true }) readonly labelPosition: LabelPosition =\n \"block-start\";\n\n /**\n * Callback invoked when the action button is pressed. Returns the new value.\n */\n @Prop() readonly selectEntityCallback!: () => Promise<EntityData>;\n\n /**\n * Value currently assigned.\n */\n @Prop({ mutable: true }) value: EntityData | null | undefined;\n @Watch(\"value\")\n valueChangedHandler() {\n this.valueChanged.emit(this.value);\n this.#updateIconSrc();\n }\n\n /**\n * Emits the input value every time it changes\n */\n @Event() valueChanged: EventEmitter<EntityData>;\n\n // 6.Component Lifecycle Events\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n connectedCallback() {\n this.#updateIconSrc();\n }\n\n #btnClearClickHandler = () => {\n this.value = this.defaultValue;\n };\n\n #btnSelectClickHandler = () => {\n this.selectEntityCallback().then(result => {\n this.value = result;\n });\n };\n\n #buttonFocusHandler = (e: FocusEvent) => {\n if (e.type === \"focus\") {\n this.buttonHasFocus = true;\n } else if (e.type === \"blur\") {\n this.buttonHasFocus = false;\n }\n };\n\n #renderControl = (): HTMLDivElement => {\n return (\n <div part=\"wrapper\" class=\"wrapper\">\n <ch-edit\n accessibleName={\n this.labelPosition === \"none\" &&\n this.#componentLocale.entitySelectorInputAccessibleName\n }\n class=\"form-input\"\n name=\"entitySelector\"\n startImgSrc={this.iconSrc}\n value={this.value?.name || this.defaultValue?.name}\n id=\"entity-input\"\n ></ch-edit>\n\n <button\n part=\"button-clear\"\n class=\"icon-button\"\n aria-label={this.#componentLocale.clearButtonLabel}\n title={this.#componentLocale.clearButtonLabel}\n onClick={this.#btnClearClickHandler}\n onFocus={this.buttonHasFocus ? this.#buttonFocusHandler : undefined}\n onBlur={!this.buttonHasFocus ? this.#buttonFocusHandler : undefined}\n >\n <ch-image class=\"icon-md\" src={CLEAR_ICON}></ch-image>\n </button>\n\n <button\n class=\"icon-button\"\n aria-label={this.#componentLocale.selectButtonLabel}\n title={this.#componentLocale.selectButtonLabel}\n disabled={!this.selectEntityCallback}\n onClick={this.#btnSelectClickHandler}\n onBlur={!this.buttonHasFocus ? this.#buttonFocusHandler : undefined}\n onFocus={this.buttonHasFocus ? this.#buttonFocusHandler : undefined}\n >\n <ch-image class=\"icon-md\" src={SELECT_DEFAULT_ICON}></ch-image>\n </button>\n </div>\n );\n };\n\n #updateIconSrc = () => {\n if (this.value && this.value.iconSrc) {\n this.iconSrc = this.value.iconSrc;\n }\n };\n\n render() {\n return (\n <Host\n class={{\n \"entity-selector--button-has-focus\": this.buttonHasFocus\n }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n {this.labelPosition !== \"none\" ? (\n <div\n class={{\n \"field\": true,\n \"field-block\": this.labelPosition === \"block-start\",\n \"field-inline\": this.labelPosition === \"inline-start\"\n }}\n >\n <label class=\"label\" htmlFor=\"entity-input\">\n {this.labelCaption ||\n this.#componentLocale.entitySelectorInputAccessibleName}\n </label>\n {this.#renderControl()}\n </div>\n ) : (\n this.#renderControl()\n )}\n </Host>\n );\n }\n}\n\nexport type EntitySelectorLabels = {\n buttonClearLabel: string;\n buttonSelectLabel: string;\n};\n"],"version":3}
1
+ {"file":"gx-ide-entity-selector.entry.js","mappings":"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","names":[],"sources":["src/components/_helpers/entity-selector/entity-selector.scss?tag=gx-ide-entity-selector&encapsulation=shadow","src/components/_helpers/entity-selector/entity-selector.tsx"],"sourcesContent":["/*wrapper*/\n.wrapper {\n display: grid;\n grid-template-columns: 1fr max-content max-content;\n gap: var(--mer-spacing--xs);\n border-radius: var(--control__border-radius);\n border: var(--control__border-width) var(--control__border-style)\n var(--control__border-color);\n padding: var(--control__padding-block) var(--control__padding-inline);\n\n &:hover {\n --control__border-color: var(--control__border-color--hover);\n }\n &:focus {\n }\n}\n/*form-input*/\n.form-input {\n --control__padding-block: 0;\n --control__padding-inline: 0;\n // Remove control border. We want to simulate a form-input that includes two buttons at the end.\n --control__border-width: 0;\n --focus__outline-width: 0;\n}\n:host(:focus-within) {\n .wrapper {\n --control__border-color: var(--focus__outline-color);\n }\n}\n:host(.entity-selector--button-has-focus) {\n .wrapper {\n outline: none;\n }\n}\n/*custom button icon*/\n","import {\n Component,\n Host,\n h,\n Prop,\n Element,\n State,\n Event,\n EventEmitter,\n Watch\n} from \"@stencil/core\";\n\nimport { MercuryBundles, getIconPath } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../../common/locale\";\nimport { LabelPosition } from \"../../../common/types\";\nimport { EntityData } from \"../../../common/types\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/edit\",\n \"components/button\",\n \"components/icon\",\n \"utils/form\"\n];\nconst SELECT_DEFAULT_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"show-more-horizontal\",\n colorType: \"primary\"\n});\nconst CLEAR_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"reset\",\n colorType: \"primary\"\n});\n\n@Component({\n tag: \"gx-ide-entity-selector\",\n styleUrl: \"entity-selector.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/entity-selector\"]\n})\nexport class GxIdeEntitySelector {\n #componentLocale: any;\n\n @Element() el: HTMLGxIdeEntitySelectorElement;\n\n /**\n * Adds/removes a CSS class on the host. It removes focus-within styles when\n * focus is on a button.\n */\n @State() buttonHasFocus = false;\n\n @State() iconSrc: string = null;\n\n /**\n * Default value for the component. Used when the 'X' button is pressed.\n */\n @Prop() readonly defaultValue?: EntityData | null | undefined;\n\n /**\n * The label caption. Only visible if \"labelPosition\" is not \"none\".\n * I no \"labelCaption\" is provided, a generic caption \"Select Entity\" will be provided\n */\n @Prop() readonly labelCaption?: string;\n\n /**\n * The label position\n */\n @Prop({ reflect: true }) readonly labelPosition?: LabelPosition =\n \"block-start\";\n\n /**\n * This property specifies the `name` of the control when used in a form.\n */\n @Prop({ reflect: true }) readonly name?: string;\n\n /**\n * Callback invoked when the action button is pressed. Returns the new value.\n */\n @Prop() readonly selectEntityCallback!: () => Promise<EntityData>;\n\n /**\n * Value currently assigned.\n */\n @Prop({ mutable: true }) value: EntityData | null | undefined;\n @Watch(\"value\")\n valueChangedHandler() {\n this.valueChanged.emit(this.value);\n this.#updateIconSrc();\n }\n\n /**\n * Emits the input value every time it changes\n */\n @Event() valueChanged: EventEmitter<EntityData>;\n\n // 6.Component Lifecycle Events\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n }\n\n connectedCallback() {\n this.#updateIconSrc();\n }\n\n #btnClearClickHandler = () => {\n this.value = this.defaultValue;\n this.iconSrc = this.defaultValue?.iconSrc;\n };\n\n #btnSelectClickHandler = () => {\n this.selectEntityCallback().then(result => {\n this.value = result;\n });\n };\n\n #buttonFocusHandler = (e: FocusEvent) => {\n if (e.type === \"focus\") {\n this.buttonHasFocus = true;\n } else if (e.type === \"blur\") {\n this.buttonHasFocus = false;\n }\n };\n\n #renderControl = (): HTMLDivElement => {\n return (\n <div part=\"wrapper\" class=\"wrapper\">\n <ch-edit\n accessibleName={\n this.labelPosition === \"none\" &&\n this.#componentLocale.entitySelectorInputAccessibleName\n }\n class=\"form-input\"\n name={this.name || this.#componentLocale.entitySelectorNameAttribute}\n startImgSrc={this.iconSrc}\n value={this.value?.name || this.defaultValue?.name}\n id=\"entity-input\"\n ></ch-edit>\n\n <button\n part=\"button-clear\"\n class=\"icon-button\"\n aria-label={this.#componentLocale.clearButtonLabel}\n title={this.#componentLocale.clearButtonLabel}\n type=\"button\"\n onClick={this.#btnClearClickHandler}\n onFocus={this.buttonHasFocus ? this.#buttonFocusHandler : undefined}\n onBlur={!this.buttonHasFocus ? this.#buttonFocusHandler : undefined}\n >\n <ch-image class=\"icon-md\" src={CLEAR_ICON}></ch-image>\n </button>\n\n <button\n class=\"icon-button\"\n aria-label={this.#componentLocale.selectButtonLabel}\n title={this.#componentLocale.selectButtonLabel}\n type=\"button\"\n disabled={!this.selectEntityCallback}\n onClick={this.#btnSelectClickHandler}\n onBlur={!this.buttonHasFocus ? this.#buttonFocusHandler : undefined}\n onFocus={this.buttonHasFocus ? this.#buttonFocusHandler : undefined}\n >\n <ch-image class=\"icon-md\" src={SELECT_DEFAULT_ICON}></ch-image>\n </button>\n </div>\n );\n };\n\n #updateIconSrc = () => {\n if (this.value && this.value.iconSrc) {\n this.iconSrc = this.value.iconSrc;\n }\n };\n\n render() {\n return (\n <Host\n class={{\n \"entity-selector--button-has-focus\": this.buttonHasFocus\n }}\n >\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n {this.labelPosition !== \"none\" ? (\n <div\n class={{\n \"field\": true,\n \"field-block\": this.labelPosition === \"block-start\",\n \"field-inline\": this.labelPosition === \"inline-start\"\n }}\n >\n <label class=\"label\" htmlFor=\"entity-input\">\n {this.labelCaption ||\n this.#componentLocale.entitySelectorInputAccessibleName}\n </label>\n {this.#renderControl()}\n </div>\n ) : (\n this.#renderControl()\n )}\n </Host>\n );\n }\n}\n\nexport type EntitySelectorLabels = {\n buttonClearLabel: string;\n buttonSelectLabel: string;\n};\n"],"version":3}
@@ -1,5 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-27c691bc.js';
2
- import { c as config } from './config-6cfbb06f.js';
2
+ import { c as config } from './config-084ee328.js';
3
3
  import { L as Locale } from './locale-3c32f251.js';
4
4
 
5
5
  const gamInstallationSettingsCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}:host{display:block}.header{border-top:1px solid var(--gx-ide-container-border-color);padding:var(--gx-ide-container__padding) var(--gx-ide-container__padding)}.message-checkbox-container{padding:0 var(--gx-ide-container__padding) var(--gx-ide-container__padding) var(--gx-ide-container__padding)}.filters{display:grid;gap:var(--gx-ide-grid-column-gap);padding:var(--gx-ide-container__padding)}.filters__wrapper{display:flex;gap:var(--gx-ide-container__padding)}.filters__wrapper>*{flex:1}.filters__front-end-objects{display:flex;gap:var(--gx-ide-grid-column-gap)}.footer-above{display:flex;gap:var(--gx-ide-container__padding)}.footer-above>*{flex:1;font-size:var(--mer-font__size--2xs);padding:var(--mer-spacing--xs);display:flex;align-items:center;justify-content:center;line-height:1.5em}.footer-above>*:first-child{border-inline-end:var(--mer-border__width--sm) solid var(--gx-ide-container-border-color)}.footer-above__right{display:flex;flex-direction:column}";
@@ -188,8 +188,7 @@ const GxIdeKbManagerExport = class {
188
188
  // eslint-disable-next-line @stencil-community/own-props-must-be-private
189
189
  _GxIdeKbManagerExport_objectsSet.set(this, new Set());
190
190
  _GxIdeKbManagerExport_addKBPropertiesCallbackHandler.set(this, async (e) => {
191
- this.addKbPropertiesIsChecked =
192
- e.detail.target.value === CHECKBOX_CHECKED_VALUE;
191
+ this.addKbPropertiesIsChecked = e.detail === CHECKBOX_CHECKED_VALUE;
193
192
  if (this.addKbPropertiesIsChecked) {
194
193
  __classPrivateFieldSet(this, _GxIdeKbManagerExport_kBPropertiesData, await this.addKBPropertiesCallback(), "f");
195
194
  if (__classPrivateFieldGet(this, _GxIdeKbManagerExport_kBPropertiesData, "f").length) {
@@ -1 +1 @@
1
- {"file":"gx-ide-kb-manager-export.entry.js","mappings":"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","names":[],"sources":["src/components/kb-manager-export/helpers.ts","src/components/kb-manager-export/kb-manager-export.scss?tag=gx-ide-kb-manager-export&encapsulation=shadow","src/components/kb-manager-export/kb-manager-export.tsx"],"sourcesContent":["// /* Tree View */\nimport {\n TreeViewItemModel,\n TreeViewModel\n} from \"@genexus/chameleon-controls-library\";\nimport { ObjectData, KBPropertyData, KBPropertyType } from \"./types\";\nimport { ObjectType } from \"../../common/types\";\nexport const KB_PROPERTY = \"property\";\nexport const KB_OBJECT = \"object\";\n\nconst getPropertyIcon = (\n typeId: string,\n kbPropertiesTypes: KBPropertyType[]\n): string =>\n // The object icon has to be retrieved from the ObjectTypes array, by\n // matching the ObjectData typeId with the ObjectType id\n kbPropertiesTypes.find(propertyType => propertyType.id === typeId).icon;\n\nconst convertObjectTypeToTreeItem = (\n objectType: ObjectType\n): TreeViewItemModel => ({\n caption: objectType.name,\n id: objectType.id,\n startImgSrc: objectType.icon,\n leaf: false,\n parts: \"object-type tree-view-item\",\n expanded: true,\n items: []\n});\n\nconst convertObjectToTreeItem = (\n object: ObjectData,\n objectTypes: Map<string, ObjectType>\n): TreeViewItemModel => ({\n caption: object.name,\n id: object.id,\n startImgSrc: objectTypes.get(object.typeId).icon,\n parts: \"object tree-view-item\",\n metadata: KB_OBJECT,\n leaf: true\n});\n\nconst convertPropertyToTreeItem = (\n property: KBPropertyData,\n kbPropertiesTypes: KBPropertyType[]\n): TreeViewItemModel => ({\n caption: property.name,\n id: property.id,\n startImgSrc: getPropertyIcon(property.typeId, kbPropertiesTypes),\n parts: \"property tree-view-item\",\n metadata: KB_PROPERTY,\n leaf: true\n});\n\n/**\n * Updates the tree model with the provided objects.\n * Objects may already exist and are placed under their parent node.\n * If the parent node doesn't exist (identified by typeId on ObjectTypes),\n * it is created and added at the bottom.\n *\n * @param {ObjectData[] | undefined} objects - The array of objects to update.\n * @param {Map<string, ObjectType>} objectTypesMap - A map of object types by ID.\n * @param {Set<string>} objectsSet - A set of existing object IDs.\n * @param {TreeViewModel} actualTreeState - The current tree state to be updated.\n * @returns {TreeViewModel} - The updated tree view model.\n */\nexport const updateObjectsTreeModel = (\n objects: ObjectData[] | undefined,\n objectTypesMap: Map<string, ObjectType>,\n objectsSet: Set<string>,\n actualTreeState: TreeViewModel\n): TreeViewModel => {\n if (!objects) {\n return [...actualTreeState];\n }\n\n const updatedTreeData: TreeViewModel = [...actualTreeState];\n objects.forEach(object => {\n // objects that already exists in the actual actualTreeState should not be added.\n\n if (objectsSet.has(object.id)) {\n // object already exists\n return;\n }\n\n const objectTreeItem = convertObjectToTreeItem(object, objectTypesMap);\n\n // TODO: Improve the algorithm efficiency. This check visits potentially all nodes\n // from the TreeViewModel on each iteration. Using a Map to pre-store the TreeView\n // nodes would improve efficiency.\n const objectTypeTreeItemIndex = updatedTreeData.findIndex(\n treeItem => treeItem.id === object.typeId\n );\n\n if (objectTypeTreeItemIndex === -1) {\n // Create and add new object type tree item\n const objectType = objectTypesMap.get(object.typeId);\n if (objectType) {\n const objectTypeTreeItem = convertObjectTypeToTreeItem(objectType);\n objectTypeTreeItem.items.push(objectTreeItem);\n updatedTreeData.push(objectTypeTreeItem);\n }\n } else {\n // objectType exists already. insert object as children of the object type tree item.\n updatedTreeData[objectTypeTreeItemIndex].items.push(objectTreeItem);\n }\n\n objectsSet.add(object.id);\n });\n\n return updatedTreeData;\n};\n\n/**\n * Converts an array of KB properties data into tree item data for a tree view.\n *\n * @param {KBPropertyData[]} properties - The array of KB property data.\n * @param {KBPropertyType[]} kbPropertiesTypes - The array of KB property types.\n * @param {TreeViewModel} actualTreeState - The current state of the tree.\n * @returns {TreeViewModel} - The updated tree view item models.\n */\nexport const convertKbPropertiesDataToTreeItemData = (\n properties: KBPropertyData[],\n kbPropertiesTypes: KBPropertyType[],\n actualTreeState: TreeViewModel\n): TreeViewModel => {\n if (!properties) {\n return [...actualTreeState];\n }\n\n const updatedTreeData: TreeViewModel = [...actualTreeState];\n properties.forEach(property => {\n // properties have no parent node, and they should be added at the beginning of the tree\n const propertyAlreadyExists =\n updatedTreeData.find(node => node.id === property.id) !== undefined;\n if (propertyAlreadyExists) {\n return;\n }\n const propertyTreeItem = convertPropertyToTreeItem(\n property,\n kbPropertiesTypes\n );\n updatedTreeData.unshift(propertyTreeItem);\n });\n return updatedTreeData;\n};\n\n/**\n * Removes properties from the tree model.\n *\n * @param {TreeViewModel} actualTreeState - The current state of the tree,\n * containing various tree view items.\n * @returns {TreeViewModel} - A new array of tree view items that excludes\n * any items with metadata of type `KB_PROPERTY`.\n */\nexport const clearKbPropertiesFromTree = (\n actualTreeState: TreeViewModel\n): TreeViewModel =>\n actualTreeState.filter(item => item.metadata !== KB_PROPERTY);\n","section {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.header__field-group {\n grid-template:\n \"export-file-name buttons-container\" max-content\n \"checkboxes checkboxes\" max-content\n / 1fr max-content;\n}\n.export-file-name {\n grid-area: export-file-name;\n}\n.header__buttons-container {\n grid-area: buttons-container;\n}\n.header__checkboxes {\n grid-area: checkboxes;\n grid-template-columns: max-content 1fr;\n}\n\n.main {\n position: relative;\n padding-block: var(--content-block-spacing);\n}\n","import { Component, Host, h, Prop, Element, State, Watch } from \"@stencil/core\";\n\nimport { ChCheckboxCustomEvent } from \"@genexus/chameleon-controls-library\";\nimport {\n TreeViewItemModelExtended,\n TreeViewModel\n} from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../common/locale\";\nimport {\n updateObjectsTreeModel,\n convertKbPropertiesDataToTreeItemData,\n clearKbPropertiesFromTree\n} from \"./helpers\";\nimport { ObjectType } from \"../../common/types\";\n\nimport { KB_PROPERTY, KB_OBJECT } from \"./helpers\";\nimport {\n KBPropertiesCallback,\n KBPropertyData,\n KBPropertyType,\n ObjectData,\n ExportFileDirectoryCallback,\n OptionsCallback,\n AddObjectsCallback,\n ExportCallback,\n AddReferencesCallback,\n CancelCallback\n} from \"./types\";\n\nimport { getIconPath } from \"@genexus/mercury\";\n\nconst FILE_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"file\",\n colorType: \"on-elevation\"\n});\nconst SETTINGS_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"settings\",\n colorType: \"primary\"\n});\nconst GENERAL_REFERENCES_ICON = getIconPath({\n category: \"window-tools\",\n name: \"references\",\n colorType: \"neutral\"\n});\nconst MENUS_NEW_OBJECT_ICON = getIconPath({\n category: \"menus\",\n name: \"new-object\",\n colorType: \"on-primary\"\n});\nconst TREE_VIEW_ICON = getIconPath({\n category: \"controls\",\n name: \"treeview\"\n});\nconst CHECKBOX_CHECKED_VALUE = \"true\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/checkbox\",\n \"components/edit\",\n \"components/icon\",\n \"components/tree-view\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\"\n];\n@Component({\n tag: \"gx-ide-kb-manager-export\",\n styleUrl: \"kb-manager-export.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/kb-manager-export\"]\n})\nexport class GxIdeKbManagerExport {\n #addKbDescriptionEl!: HTMLChCheckboxElement;\n #componentLocale: any;\n #animateEmptyState: boolean = false;\n #exportAllEl!: HTMLChCheckboxElement;\n #fileNameEl!: HTMLChEditElement;\n #kBPropertiesData!: KBPropertyData[];\n /**\n * Stores the object types information (name, and icon)\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #objectTypesMap: Map<string, ObjectType> = new Map();\n /**\n * Stores the object's id that have been added.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #objectsSet: Set<string> = new Set();\n\n @Element() el: HTMLGxIdeKbManagerExportElement;\n\n @State() addKbPropertiesIsChecked = false;\n @State() atLeastOnePropertyItemIsChecked = false;\n @State() atLeastOneObjectItemIsChecked = false;\n @State() checkedObjectsIds: string[] = [];\n @State() checkedPropertiesIds: string[] = [];\n @State() exportAllIsChecked = false;\n @State() exportingIsInProcess = false;\n @State() hasObjects: boolean;\n @State() objectsTreeViewModel: TreeViewModel = [];\n @Watch(\"objectsTreeViewModel\")\n objectsTreeViewModelChanged(newObjectsTreeViewModel: TreeViewModel) {\n this.hasObjects =\n newObjectsTreeViewModel && newObjectsTreeViewModel.length > 0;\n if (!this.hasObjects) {\n this.atLeastOnePropertyItemIsChecked = false;\n this.atLeastOneObjectItemIsChecked = false;\n }\n }\n\n /**\n * Callback invoked when the user wants to include KB properties.\n */\n @Prop() readonly addKBPropertiesCallback!: KBPropertiesCallback;\n\n /**\n * Callback invoked when the user wants to add objects.\n */\n @Prop() readonly addObjectsCallback!: AddObjectsCallback;\n\n /**\n *Callback invoked when the user wants to add all the references for the selected objects.\n *@param itemIds:string[] The selected item ids\n *@returns : Returns an object with the items and its references\n */\n @Prop() readonly addReferencesCallback!: AddReferencesCallback;\n\n /**\n * Callback invoked when the user wants to cancel the export process.\n * @returns It returns a boolean indicating whether the process could be canceled or not.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n *Callback invoked when the user wants to initiate the export process.\n *@param fileName:string\n *@param itemIds:string[] The selected item ids\n *@returns : It returns a boolean indicating whether the process was successful\n */\n @Prop() readonly exportCallback!: ExportCallback;\n\n /**\n * Callback invoked when the user wants to access the export options.\n */\n @Prop() readonly exportFileDirectoryCallback!: ExportFileDirectoryCallback;\n\n /**\n * It allows defining the default Export File Name\n */\n @Prop() readonly fileName: string;\n\n /**\n * Array with the possible types of KB properties\n */\n @Prop() readonly kbPropertiesTypes: KBPropertyType[];\n\n /**\n * If true, it will display a loader when needed.\n */\n @Prop() readonly loader = false;\n\n /**\n * Array of possible object types\n */\n @Prop() readonly objectTypes: ObjectType[];\n @Watch(\"objectTypes\")\n objectTypesChanged(newObjectTypesArray: ObjectType[]) {\n this.#objectsTypesArrayToMap(newObjectTypesArray);\n }\n\n /**\n * Callback invoked when the user wants to access the export options.\n */\n @Prop() readonly optionsCallback: OptionsCallback;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#evaluateObjects();\n this.#objectsTypesArrayToMap(this.objectTypes);\n }\n\n #addKBPropertiesCallbackHandler = async (\n e: ChCheckboxCustomEvent<any> | InputEvent\n ) => {\n this.addKbPropertiesIsChecked =\n e.detail.target.value === CHECKBOX_CHECKED_VALUE;\n if (this.addKbPropertiesIsChecked) {\n this.#kBPropertiesData = await this.addKBPropertiesCallback();\n if (this.#kBPropertiesData.length) {\n this.objectsTreeViewModel = convertKbPropertiesDataToTreeItemData(\n this.#kBPropertiesData,\n this.kbPropertiesTypes,\n this.objectsTreeViewModel\n );\n }\n } else {\n // previous properties (if any) should be removed\n this.objectsTreeViewModel = clearKbPropertiesFromTree(\n this.objectsTreeViewModel\n );\n }\n };\n\n #addObjectsCallbackHandler = async () => {\n this.#exportAllEl.value = undefined;\n this.exportAllIsChecked = false;\n const addedObjects = await this.addObjectsCallback();\n this.#updateObjects(addedObjects);\n };\n\n #addReferencesCallbackHandler = async () => {\n const objects: ObjectData[] = await this.addReferencesCallback(\n this.checkedObjectsIds\n );\n this.#updateObjects(objects);\n };\n\n #cancelCallbackHandler = async () => {\n const cancelled = await this.cancelCallback();\n if (cancelled) {\n this.exportingIsInProcess = false;\n }\n };\n\n #clearButtonHandler = () => {\n this.objectsTreeViewModel = [];\n this.#objectsSet.clear();\n this.#addKbDescriptionEl.value = undefined;\n this.#exportAllEl.value = undefined;\n };\n\n #evaluateContentToDisplay = () => {\n // Nothing to display on the tree-view\n if (!this.hasObjects && !this.exportAllIsChecked) {\n return (\n <gx-ide-empty-state\n isAnimated={this.#animateEmptyState}\n stateTitle={this.#componentLocale.main.noObjectsToDisplay}\n key=\"no-objects-empty-state\"\n >\n <button\n class=\"button-primary\"\n onClick={this.#addObjectsCallbackHandler}\n >\n {this.#componentLocale.main.beginByADdingSomeObjects}\n </button>\n </gx-ide-empty-state>\n );\n } else {\n this.#animateEmptyState = true; // improve performance if is first render\n }\n\n if (this.exportAllIsChecked) {\n return (\n <gx-ide-empty-state\n isAnimated={this.#animateEmptyState}\n stateIconSrc={TREE_VIEW_ICON}\n stateTitle={this.#componentLocale.main.exportAllMessage}\n key=\"exporting-all-empty-state\"\n ></gx-ide-empty-state>\n );\n } else {\n this.#animateEmptyState = true; // improve performance if is first render\n }\n\n return (\n <ch-tree-view-render\n class=\"tree-view\"\n checkbox\n checked\n dragDisabled\n dropDisabled\n filter={this.#evaluateTreeViewFilters()}\n filterType={\n this.addKbPropertiesIsChecked && !this.exportAllIsChecked\n ? \"none\"\n : \"metadata\"\n }\n model={this.objectsTreeViewModel}\n showLines=\"last\"\n toggleCheckboxes\n sortItemsCallback={this.#sortTreeItems}\n onCheckedItemsChange={this.#objectsTreeCheckedItemsChangedHandler}\n ></ch-tree-view-render>\n );\n };\n\n #evaluateObjects = () => {\n this.hasObjects =\n this.objectsTreeViewModel && this.objectsTreeViewModel.length > 0;\n };\n\n #evaluateTreeViewFilters = (): string => {\n if (this.addKbPropertiesIsChecked && this.exportAllIsChecked) {\n return KB_PROPERTY; // only show properties\n }\n if (!this.addKbPropertiesIsChecked && !this.exportAllIsChecked) {\n return KB_OBJECT; // only show objects\n }\n return \"none\";\n };\n\n #exportAllChangedHandler = (\n event: ChCheckboxCustomEvent<any> | InputEvent\n ) => {\n this.exportAllIsChecked = event.detail;\n };\n\n #exportCallbackHandler = async () => {\n this.exportingIsInProcess = true;\n const fileName: string = this.#fileNameEl.value;\n const checkedKbPropertiesIds = this.addKbPropertiesIsChecked\n ? this.checkedPropertiesIds\n : [];\n const checkedObjectIds = this.exportAllIsChecked\n ? undefined\n : this.checkedObjectsIds;\n this.exportCallback(\n fileName,\n checkedKbPropertiesIds,\n checkedObjectIds\n ).then(() => {\n this.exportingIsInProcess = false;\n });\n // returns Promise<boolean> but no procedure was detailed on the spec.\n };\n\n #objectsTypesArrayToMap(objectTypesArray: ObjectType[]) {\n objectTypesArray.forEach(objectType => {\n this.#objectTypesMap.set(objectType.id, objectType);\n });\n }\n\n #objectsTreeCheckedItemsChangedHandler = (\n event: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n // filter 'checked objects' and 'checked properties' ids\n const checkedObjectsIds: string[] = [];\n const checkedPropertiesIds: string[] = [];\n const allItemsWithCheckbox = [...event.detail.values()];\n allItemsWithCheckbox.forEach(node => {\n if (node.item.checked && node.item.metadata === KB_OBJECT) {\n checkedObjectsIds.push(node.item.id);\n } else if (node.item.checked && node.item.metadata === KB_PROPERTY) {\n checkedPropertiesIds.push(node.item.id);\n }\n });\n this.checkedObjectsIds = checkedObjectsIds;\n this.checkedPropertiesIds = checkedPropertiesIds;\n\n this.atLeastOnePropertyItemIsChecked = this.checkedPropertiesIds.length > 0;\n this.atLeastOneObjectItemIsChecked = this.checkedObjectsIds.length > 0;\n };\n\n #sortTreeItems = (subModel: TreeViewModel) => {\n // \"property\" items should be added on top.\n // else sort alphabetically by \"caption\" value.\n return subModel.sort((a, b) => {\n if (a.metadata === \"property\" && b.metadata !== \"property\") {\n return -1;\n }\n if (b.metadata === \"property\" && a.metadata !== \"property\") {\n return 1;\n }\n\n return a.caption.localeCompare(b.caption);\n });\n };\n\n #renderFooter = (): HTMLElement => {\n const referencesButtonEnabled = this.atLeastOneObjectItemIsChecked;\n const clearButtonEnabled = this.objectsTreeViewModel.length > 0;\n return (\n <footer class=\"footer control-footer-with-border control-footer-space-between space-body spacing-body-inline spacing-body-block-end\">\n <button\n class=\"button-tertiary clear-btn\"\n disabled={!clearButtonEnabled}\n part=\"clear-button\"\n onClick={clearButtonEnabled && this.#clearButtonHandler}\n >\n {this.#componentLocale.footer.clearButton}\n </button>\n\n <div class=\"buttons-spacer\">\n <button\n class=\"button-secondary button-icon-and-text\"\n part=\"references-button\"\n disabled={!referencesButtonEnabled}\n onClick={\n referencesButtonEnabled && this.#addReferencesCallbackHandler\n }\n >\n <ch-image\n class=\"icon-sm\"\n disabled={!referencesButtonEnabled}\n src={GENERAL_REFERENCES_ICON}\n ></ch-image>\n {this.#componentLocale.footer.addReferencesButton}\n </button>\n\n <button\n // Add button\n class=\"button-primary button-icon-and-text\"\n disabled={this.exportAllIsChecked}\n part=\"add-button\"\n onClick={\n !this.exportAllIsChecked && this.#addObjectsCallbackHandler\n }\n >\n <ch-image\n class=\"icon-sm\"\n disabled={this.exportAllIsChecked}\n src={MENUS_NEW_OBJECT_ICON}\n ></ch-image>\n {this.#componentLocale.footer.addButton}\n </button>\n </div>\n </footer>\n );\n };\n\n #updateObjects = (objectsDataArray: ObjectData[]) => {\n if (objectsDataArray.length) {\n const newObjectsTreeModel = updateObjectsTreeModel(\n objectsDataArray,\n this.#objectTypesMap,\n this.#objectsSet,\n this.objectsTreeViewModel\n );\n this.objectsTreeViewModel = newObjectsTreeModel;\n }\n };\n\n render(): void {\n const exportButtonEnabled =\n this.atLeastOnePropertyItemIsChecked ||\n this.atLeastOneObjectItemIsChecked ||\n this.exportAllIsChecked;\n\n const cancelButtonEnabled = this.exportingIsInProcess;\n\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <section>\n <header class=\"header control-header-with-border space-body spacing-body-inline spacing-body-block-start\">\n <div class=\"field-group header__field-group\">\n <div class=\"field field-inline export-file-name\">\n <label class=\"label\" htmlFor=\"xpz-file\">\n {this.#componentLocale.header.exportFileName}\n </label>\n <ch-edit\n autoFocus\n id=\"xpz-file\"\n class=\"form-input\"\n part=\"xpz-file\"\n value={this.fileName}\n startImgSrc={FILE_ICON}\n ref={(el: HTMLChEditElement) =>\n (this.#fileNameEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div class=\"header__buttons-container buttons-spacer\">\n <button\n id=\"export-kb-btn\"\n class=\"button-primary export-btn\"\n part=\"export-btn\"\n disabled={!exportButtonEnabled}\n onClick={exportButtonEnabled && this.#exportCallbackHandler}\n >\n {this.#componentLocale.header.exportButton}\n </button>\n <button\n id=\"cancel-kb-export-btn\"\n class=\"button-secondary cancel-btn\"\n part=\"cancel-button\"\n disabled={!cancelButtonEnabled}\n onClick={cancelButtonEnabled && this.#cancelCallbackHandler}\n >\n {this.#componentLocale.header.cancelButton}\n </button>\n\n <button\n aria-label={this.#componentLocale.header.optionsButton}\n title={this.#componentLocale.header.optionsButton}\n class=\"button-tertiary button-icon-only options-btn\"\n part=\"select-kb-btn\"\n onClick={this.optionsCallback}\n >\n <ch-image class=\"icon-md\" src={SETTINGS_ICON}></ch-image>\n </button>\n </div>\n\n <div class=\"header__checkboxes field-group\">\n <ch-checkbox\n class=\"checkbox add-kb-description\"\n part=\"add-kb-description\"\n caption={\n this.#componentLocale.main.addKnowledgeBaseDescription\n }\n checkedValue={CHECKBOX_CHECKED_VALUE}\n onInput={this.#addKBPropertiesCallbackHandler}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#addKbDescriptionEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n\n <ch-checkbox\n class=\"checkbox export-all\"\n part=\"export-all-checkbox\"\n checkedValue={CHECKBOX_CHECKED_VALUE}\n caption={this.#componentLocale.main.exportAll}\n onInput={this.#exportAllChangedHandler}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#exportAllEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </div>\n </div>\n </header>\n\n <div class=\"main spacing-body-inline\">\n {this.#evaluateContentToDisplay()}\n {this.loader && this.exportingIsInProcess && (\n <gx-ide-loader\n cancelLabel={this.#componentLocale.loader.cancelLabel}\n loaderTitle={this.#componentLocale.loader.title}\n cancelCallback={this.#cancelCallbackHandler}\n show\n class=\"loader\"\n ></gx-ide-loader>\n )}\n </div>\n\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n"],"version":3}
1
+ {"file":"gx-ide-kb-manager-export.entry.js","mappings":";;;;AAOO,MAAM,WAAW,GAAG,UAAU,CAAC;AAC/B,MAAM,SAAS,GAAG,QAAQ,CAAC;AAElC,MAAM,eAAe,GAAG,CACtB,MAAc,EACd,iBAAmC;AAEnC;AACA;AACA,iBAAiB,CAAC,IAAI,CAAC,YAAY,IAAI,YAAY,CAAC,EAAE,KAAK,MAAM,CAAC,CAAC,IAAI,CAAC;AAE1E,MAAM,2BAA2B,GAAG,CAClC,UAAsB,MACC;IACvB,OAAO,EAAE,UAAU,CAAC,IAAI;IACxB,EAAE,EAAE,UAAU,CAAC,EAAE;IACjB,WAAW,EAAE,UAAU,CAAC,IAAI;IAC5B,IAAI,EAAE,KAAK;IACX,KAAK,EAAE,4BAA4B;IACnC,QAAQ,EAAE,IAAI;IACd,KAAK,EAAE,EAAE;CACV,CAAC,CAAC;AAEH,MAAM,uBAAuB,GAAG,CAC9B,MAAkB,EAClB,WAAoC,MACb;IACvB,OAAO,EAAE,MAAM,CAAC,IAAI;IACpB,EAAE,EAAE,MAAM,CAAC,EAAE;IACb,WAAW,EAAE,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,IAAI;IAChD,KAAK,EAAE,uBAAuB;IAC9B,QAAQ,EAAE,SAAS;IACnB,IAAI,EAAE,IAAI;CACX,CAAC,CAAC;AAEH,MAAM,yBAAyB,GAAG,CAChC,QAAwB,EACxB,iBAAmC,MACZ;IACvB,OAAO,EAAE,QAAQ,CAAC,IAAI;IACtB,EAAE,EAAE,QAAQ,CAAC,EAAE;IACf,WAAW,EAAE,eAAe,CAAC,QAAQ,CAAC,MAAM,EAAE,iBAAiB,CAAC;IAChE,KAAK,EAAE,yBAAyB;IAChC,QAAQ,EAAE,WAAW;IACrB,IAAI,EAAE,IAAI;CACX,CAAC,CAAC;AAEH;;;;;;;;;;;;AAYO,MAAM,sBAAsB,GAAG,CACpC,OAAiC,EACjC,cAAuC,EACvC,UAAuB,EACvB,eAA8B;IAE9B,IAAI,CAAC,OAAO,EAAE;QACZ,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC;KAC7B;IAED,MAAM,eAAe,GAAkB,CAAC,GAAG,eAAe,CAAC,CAAC;IAC5D,OAAO,CAAC,OAAO,CAAC,MAAM;;QAGpB,IAAI,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE;;YAE7B,OAAO;SACR;QAED,MAAM,cAAc,GAAG,uBAAuB,CAAC,MAAM,EAAE,cAAc,CAAC,CAAC;;;;QAKvE,MAAM,uBAAuB,GAAG,eAAe,CAAC,SAAS,CACvD,QAAQ,IAAI,QAAQ,CAAC,EAAE,KAAK,MAAM,CAAC,MAAM,CAC1C,CAAC;QAEF,IAAI,uBAAuB,KAAK,CAAC,CAAC,EAAE;;YAElC,MAAM,UAAU,GAAG,cAAc,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;YACrD,IAAI,UAAU,EAAE;gBACd,MAAM,kBAAkB,GAAG,2BAA2B,CAAC,UAAU,CAAC,CAAC;gBACnE,kBAAkB,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;gBAC9C,eAAe,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;aAC1C;SACF;aAAM;;YAEL,eAAe,CAAC,uBAAuB,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;SACrE;QAED,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;KAC3B,CAAC,CAAC;IAEH,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF;;;;;;;;AAQO,MAAM,qCAAqC,GAAG,CACnD,UAA4B,EAC5B,iBAAmC,EACnC,eAA8B;IAE9B,IAAI,CAAC,UAAU,EAAE;QACf,OAAO,CAAC,GAAG,eAAe,CAAC,CAAC;KAC7B;IAED,MAAM,eAAe,GAAkB,CAAC,GAAG,eAAe,CAAC,CAAC;IAC5D,UAAU,CAAC,OAAO,CAAC,QAAQ;;QAEzB,MAAM,qBAAqB,GACzB,eAAe,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,EAAE,KAAK,QAAQ,CAAC,EAAE,CAAC,KAAK,SAAS,CAAC;QACtE,IAAI,qBAAqB,EAAE;YACzB,OAAO;SACR;QACD,MAAM,gBAAgB,GAAG,yBAAyB,CAChD,QAAQ,EACR,iBAAiB,CAClB,CAAC;QACF,eAAe,CAAC,OAAO,CAAC,gBAAgB,CAAC,CAAC;KAC3C,CAAC,CAAC;IACH,OAAO,eAAe,CAAC;AACzB,CAAC,CAAC;AAEF;;;;;;;;AAQO,MAAM,yBAAyB,GAAG,CACvC,eAA8B,KAE9B,eAAe,CAAC,MAAM,CAAC,IAAI,IAAI,IAAI,CAAC,QAAQ,KAAK,WAAW,CAAC;;AC9J/D,MAAM,kBAAkB,GAAG,wdAAwd;;;;;;;;;;;;;;;;;;;ACiCnf,MAAM,SAAS,GAAG,WAAW,CAAC;IAC5B,QAAQ,EAAE,cAAc;IACxB,IAAI,EAAE,MAAM;IACZ,SAAS,EAAE,cAAc;CAC1B,CAAC,CAAC;AACH,MAAM,aAAa,GAAG,WAAW,CAAC;IAChC,QAAQ,EAAE,cAAc;IACxB,IAAI,EAAE,UAAU;IAChB,SAAS,EAAE,SAAS;CACrB,CAAC,CAAC;AACH,MAAM,uBAAuB,GAAG,WAAW,CAAC;IAC1C,QAAQ,EAAE,cAAc;IACxB,IAAI,EAAE,YAAY;IAClB,SAAS,EAAE,SAAS;CACrB,CAAC,CAAC;AACH,MAAM,qBAAqB,GAAG,WAAW,CAAC;IACxC,QAAQ,EAAE,OAAO;IACjB,IAAI,EAAE,YAAY;IAClB,SAAS,EAAE,YAAY;CACxB,CAAC,CAAC;AACH,MAAM,cAAc,GAAG,WAAW,CAAC;IACjC,QAAQ,EAAE,UAAU;IACpB,IAAI,EAAE,UAAU;CACjB,CAAC,CAAC;AACH,MAAM,sBAAsB,GAAG,MAAM,CAAC;AAEtC,MAAM,WAAW,GAAmB;IAClC,mBAAmB;IACnB,mBAAmB;IACnB,qBAAqB;IACrB,iBAAiB;IACjB,iBAAiB;IACjB,sBAAsB;IACtB,YAAY;IACZ,cAAc;IACd,kBAAkB;CACnB,CAAC;MAOW,oBAAoB;;;;QAC/B,2DAA4C;QAC5C,wDAAsB;QACtB,kDAA8B,KAAK,EAAC;QACpC,oDAAqC;QACrC,mDAAgC;QAChC,yDAAqC;;;;;QAKrC,+CAA2C,IAAI,GAAG,EAAE,EAAC;;;;;QAKrD,2CAA2B,IAAI,GAAG,EAAE,EAAC;QA8FrC,+DAAkC,OAChC,CAA0C;YAE1C,IAAI,CAAC,wBAAwB,GAAG,CAAC,CAAC,MAAM,KAAK,sBAAsB,CAAC;YACpE,IAAI,IAAI,CAAC,wBAAwB,EAAE;gBACjC,uBAAA,IAAI,0CAAqB,MAAM,IAAI,CAAC,uBAAuB,EAAE,MAAA,CAAC;gBAC9D,IAAI,uBAAA,IAAI,8CAAkB,CAAC,MAAM,EAAE;oBACjC,IAAI,CAAC,oBAAoB,GAAG,qCAAqC,CAC/D,uBAAA,IAAI,8CAAkB,EACtB,IAAI,CAAC,iBAAiB,EACtB,IAAI,CAAC,oBAAoB,CAC1B,CAAC;iBACH;aACF;iBAAM;;gBAEL,IAAI,CAAC,oBAAoB,GAAG,yBAAyB,CACnD,IAAI,CAAC,oBAAoB,CAC1B,CAAC;aACH;SACF,EAAC;QAEF,0DAA6B;YAC3B,uBAAA,IAAI,yCAAa,CAAC,KAAK,GAAG,SAAS,CAAC;YACpC,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC;YAChC,MAAM,YAAY,GAAG,MAAM,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACrD,uBAAA,IAAI,2CAAe,MAAnB,IAAI,EAAgB,YAAY,CAAC,CAAC;SACnC,EAAC;QAEF,6DAAgC;YAC9B,MAAM,OAAO,GAAiB,MAAM,IAAI,CAAC,qBAAqB,CAC5D,IAAI,CAAC,iBAAiB,CACvB,CAAC;YACF,uBAAA,IAAI,2CAAe,MAAnB,IAAI,EAAgB,OAAO,CAAC,CAAC;SAC9B,EAAC;QAEF,sDAAyB;YACvB,MAAM,SAAS,GAAG,MAAM,IAAI,CAAC,cAAc,EAAE,CAAC;YAC9C,IAAI,SAAS,EAAE;gBACb,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;aACnC;SACF,EAAC;QAEF,mDAAsB;YACpB,IAAI,CAAC,oBAAoB,GAAG,EAAE,CAAC;YAC/B,uBAAA,IAAI,wCAAY,CAAC,KAAK,EAAE,CAAC;YACzB,uBAAA,IAAI,gDAAoB,CAAC,KAAK,GAAG,SAAS,CAAC;YAC3C,uBAAA,IAAI,yCAAa,CAAC,KAAK,GAAG,SAAS,CAAC;SACrC,EAAC;QAEF,yDAA4B;;YAE1B,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBAChD,QACE,0BACE,UAAU,EAAE,uBAAA,IAAI,+CAAmB,EACnC,UAAU,EAAE,uBAAA,IAAI,6CAAiB,CAAC,IAAI,CAAC,kBAAkB,EACzD,GAAG,EAAC,wBAAwB,IAE5B,cACE,KAAK,EAAC,gBAAgB,EACtB,OAAO,EAAE,uBAAA,IAAI,uDAA2B,IAEvC,uBAAA,IAAI,6CAAiB,CAAC,IAAI,CAAC,wBAAwB,CAC7C,CACU,EACrB;aACH;iBAAM;gBACL,uBAAA,IAAI,2CAAsB,IAAI,MAAA,CAAC;aAChC;YAED,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC3B,QACE,0BACE,UAAU,EAAE,uBAAA,IAAI,+CAAmB,EACnC,YAAY,EAAE,cAAc,EAC5B,UAAU,EAAE,uBAAA,IAAI,6CAAiB,CAAC,IAAI,CAAC,gBAAgB,EACvD,GAAG,EAAC,2BAA2B,GACX,EACtB;aACH;iBAAM;gBACL,uBAAA,IAAI,2CAAsB,IAAI,MAAA,CAAC;aAChC;YAED,QACE,2BACE,KAAK,EAAC,WAAW,EACjB,QAAQ,QACR,OAAO,QACP,YAAY,QACZ,YAAY,QACZ,MAAM,EAAE,uBAAA,IAAI,qDAAyB,MAA7B,IAAI,CAA2B,EACvC,UAAU,EACR,IAAI,CAAC,wBAAwB,IAAI,CAAC,IAAI,CAAC,kBAAkB;sBACrD,MAAM;sBACN,UAAU,EAEhB,KAAK,EAAE,IAAI,CAAC,oBAAoB,EAChC,SAAS,EAAC,MAAM,EAChB,gBAAgB,QAChB,iBAAiB,EAAE,uBAAA,IAAI,2CAAe,EACtC,oBAAoB,EAAE,uBAAA,IAAI,mEAAuC,GAC5C,EACvB;SACH,EAAC;QAEF,gDAAmB;YACjB,IAAI,CAAC,UAAU;gBACb,IAAI,CAAC,oBAAoB,IAAI,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC;SACrE,EAAC;QAEF,wDAA2B;YACzB,IAAI,IAAI,CAAC,wBAAwB,IAAI,IAAI,CAAC,kBAAkB,EAAE;gBAC5D,OAAO,WAAW,CAAC;aACpB;YACD,IAAI,CAAC,IAAI,CAAC,wBAAwB,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE;gBAC9D,OAAO,SAAS,CAAC;aAClB;YACD,OAAO,MAAM,CAAC;SACf,EAAC;QAEF,wDAA2B,CACzB,KAA8C;YAE9C,IAAI,CAAC,kBAAkB,GAAG,KAAK,CAAC,MAAM,CAAC;SACxC,EAAC;QAEF,sDAAyB;YACvB,IAAI,CAAC,oBAAoB,GAAG,IAAI,CAAC;YACjC,MAAM,QAAQ,GAAW,uBAAA,IAAI,wCAAY,CAAC,KAAK,CAAC;YAChD,MAAM,sBAAsB,GAAG,IAAI,CAAC,wBAAwB;kBACxD,IAAI,CAAC,oBAAoB;kBACzB,EAAE,CAAC;YACP,MAAM,gBAAgB,GAAG,IAAI,CAAC,kBAAkB;kBAC5C,SAAS;kBACT,IAAI,CAAC,iBAAiB,CAAC;YAC3B,IAAI,CAAC,cAAc,CACjB,QAAQ,EACR,sBAAsB,EACtB,gBAAgB,CACjB,CAAC,IAAI,CAAC;gBACL,IAAI,CAAC,oBAAoB,GAAG,KAAK,CAAC;aACnC,CAAC,CAAC;;SAEJ,EAAC;QAQF,sEAAyC,CACvC,KAA0D;;YAG1D,MAAM,iBAAiB,GAAa,EAAE,CAAC;YACvC,MAAM,oBAAoB,GAAa,EAAE,CAAC;YAC1C,MAAM,oBAAoB,GAAG,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACxD,oBAAoB,CAAC,OAAO,CAAC,IAAI;gBAC/B,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;oBACzD,iBAAiB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBACtC;qBAAM,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,IAAI,CAAC,QAAQ,KAAK,WAAW,EAAE;oBAClE,oBAAoB,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;iBACzC;aACF,CAAC,CAAC;YACH,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;YAC3C,IAAI,CAAC,oBAAoB,GAAG,oBAAoB,CAAC;YAEjD,IAAI,CAAC,+BAA+B,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC;YAC5E,IAAI,CAAC,6BAA6B,GAAG,IAAI,CAAC,iBAAiB,CAAC,MAAM,GAAG,CAAC,CAAC;SACxE,EAAC;QAEF,8CAAiB,CAAC,QAAuB;;;YAGvC,OAAO,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;gBACxB,IAAI,CAAC,CAAC,QAAQ,KAAK,UAAU,IAAI,CAAC,CAAC,QAAQ,KAAK,UAAU,EAAE;oBAC1D,OAAO,CAAC,CAAC,CAAC;iBACX;gBACD,IAAI,CAAC,CAAC,QAAQ,KAAK,UAAU,IAAI,CAAC,CAAC,QAAQ,KAAK,UAAU,EAAE;oBAC1D,OAAO,CAAC,CAAC;iBACV;gBAED,OAAO,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC;aAC3C,CAAC,CAAC;SACJ,EAAC;QAEF,6CAAgB;YACd,MAAM,uBAAuB,GAAG,IAAI,CAAC,6BAA6B,CAAC;YACnE,MAAM,kBAAkB,GAAG,IAAI,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC;YAChE,QACE,cAAQ,KAAK,EAAC,sHAAsH,IAClI,cACE,KAAK,EAAC,2BAA2B,EACjC,QAAQ,EAAE,CAAC,kBAAkB,EAC7B,IAAI,EAAC,cAAc,EACnB,OAAO,EAAE,kBAAkB,IAAI,uBAAA,IAAI,gDAAoB,IAEtD,uBAAA,IAAI,6CAAiB,CAAC,MAAM,CAAC,WAAW,CAClC,EAET,WAAK,KAAK,EAAC,gBAAgB,IACzB,cACE,KAAK,EAAC,uCAAuC,EAC7C,IAAI,EAAC,mBAAmB,EACxB,QAAQ,EAAE,CAAC,uBAAuB,EAClC,OAAO,EACL,uBAAuB,IAAI,uBAAA,IAAI,0DAA8B,IAG/D,gBACE,KAAK,EAAC,SAAS,EACf,QAAQ,EAAE,CAAC,uBAAuB,EAClC,GAAG,EAAE,uBAAuB,GAClB,EACX,uBAAA,IAAI,6CAAiB,CAAC,MAAM,CAAC,mBAAmB,CAC1C,EAET;;gBAEE,KAAK,EAAC,qCAAqC,EAC3C,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EACjC,IAAI,EAAC,YAAY,EACjB,OAAO,EACL,CAAC,IAAI,CAAC,kBAAkB,IAAI,uBAAA,IAAI,uDAA2B;eAG7D,gBACE,KAAK,EAAC,SAAS,EACf,QAAQ,EAAE,IAAI,CAAC,kBAAkB,EACjC,GAAG,EAAE,qBAAqB,GAChB,EACX,uBAAA,IAAI,6CAAiB,CAAC,MAAM,CAAC,SAAS,CAChC,CACL,CACC,EACT;SACH,EAAC;QAEF,8CAAiB,CAAC,gBAA8B;YAC9C,IAAI,gBAAgB,CAAC,MAAM,EAAE;gBAC3B,MAAM,mBAAmB,GAAG,sBAAsB,CAChD,gBAAgB,EAChB,uBAAA,IAAI,4CAAgB,EACpB,uBAAA,IAAI,wCAAY,EAChB,IAAI,CAAC,oBAAoB,CAC1B,CAAC;gBACF,IAAI,CAAC,oBAAoB,GAAG,mBAAmB,CAAC;aACjD;SACF,EAAC;wCAnVkC,KAAK;+CACE,KAAK;6CACP,KAAK;iCACP,EAAE;oCACC,EAAE;kCACd,KAAK;oCACH,KAAK;;oCAEU,EAAE;;;;;;;;;sBA4DvB,KAAK;;;;IA1D/B,2BAA2B,CAAC,uBAAsC;QAChE,IAAI,CAAC,UAAU;YACb,uBAAuB,IAAI,uBAAuB,CAAC,MAAM,GAAG,CAAC,CAAC;QAChE,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACpB,IAAI,CAAC,+BAA+B,GAAG,KAAK,CAAC;YAC7C,IAAI,CAAC,6BAA6B,GAAG,KAAK,CAAC;SAC5C;KACF;IA0DD,kBAAkB,CAAC,mBAAiC;QAClD,uBAAA,IAAI,qFAAwB,MAA5B,IAAI,EAAyB,mBAAmB,CAAC,CAAC;KACnD;IAOD,MAAM,iBAAiB;QACrB,uBAAA,IAAI,yCAAoB,MAAM,MAAM,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAC,MAAA,CAAC;QAClE,uBAAA,IAAI,6CAAiB,MAArB,IAAI,CAAmB,CAAC;QACxB,uBAAA,IAAI,qFAAwB,MAA5B,IAAI,EAAyB,IAAI,CAAC,WAAW,CAAC,CAAC;KAChD;IA6PD,MAAM;QACJ,MAAM,mBAAmB,GACvB,IAAI,CAAC,+BAA+B;YACpC,IAAI,CAAC,6BAA6B;YAClC,IAAI,CAAC,kBAAkB,CAAC;QAE1B,MAAM,mBAAmB,GAAG,IAAI,CAAC,oBAAoB,CAAC;QAEtD,QACE,EAAC,IAAI,IAAC,KAAK,EAAC,QAAQ,IAClB,gBAAU,KAAK,EAAE,WAAW,GAAa,EAEzC,mBACE,cAAQ,KAAK,EAAC,2FAA2F,IACvG,WAAK,KAAK,EAAC,iCAAiC,IAC1C,WAAK,KAAK,EAAC,qCAAqC,IAC9C,aAAO,KAAK,EAAC,OAAO,EAAC,OAAO,EAAC,UAAU,IACpC,uBAAA,IAAI,6CAAiB,CAAC,MAAM,CAAC,cAAc,CACtC,EACR,eACE,SAAS,QACT,EAAE,EAAC,UAAU,EACb,KAAK,EAAC,YAAY,EAClB,IAAI,EAAC,UAAU,EACf,KAAK,EAAE,IAAI,CAAC,QAAQ,EACpB,WAAW,EAAE,SAAS,EACtB,GAAG,EAAE,CAAC,EAAqB,MACxB,uBAAA,IAAI,oCAAe,EAAuB,MAAA,CAAC,GAErC,CACP,EAEN,WAAK,KAAK,EAAC,0CAA0C,IACnD,cACE,EAAE,EAAC,eAAe,EAClB,KAAK,EAAC,2BAA2B,EACjC,IAAI,EAAC,YAAY,EACjB,QAAQ,EAAE,CAAC,mBAAmB,EAC9B,OAAO,EAAE,mBAAmB,IAAI,uBAAA,IAAI,mDAAuB,IAE1D,uBAAA,IAAI,6CAAiB,CAAC,MAAM,CAAC,YAAY,CACnC,EACT,cACE,EAAE,EAAC,sBAAsB,EACzB,KAAK,EAAC,6BAA6B,EACnC,IAAI,EAAC,eAAe,EACpB,QAAQ,EAAE,CAAC,mBAAmB,EAC9B,OAAO,EAAE,mBAAmB,IAAI,uBAAA,IAAI,mDAAuB,IAE1D,uBAAA,IAAI,6CAAiB,CAAC,MAAM,CAAC,YAAY,CACnC,EAET,4BACc,uBAAA,IAAI,6CAAiB,CAAC,MAAM,CAAC,aAAa,EACtD,KAAK,EAAE,uBAAA,IAAI,6CAAiB,CAAC,MAAM,CAAC,aAAa,EACjD,KAAK,EAAC,8CAA8C,EACpD,IAAI,EAAC,eAAe,EACpB,OAAO,EAAE,IAAI,CAAC,eAAe,IAE7B,gBAAU,KAAK,EAAC,SAAS,EAAC,GAAG,EAAE,aAAa,GAAa,CAClD,CACL,EAEN,WAAK,KAAK,EAAC,gCAAgC,IACzC,mBACE,KAAK,EAAC,6BAA6B,EACnC,IAAI,EAAC,oBAAoB,EACzB,OAAO,EACL,uBAAA,IAAI,6CAAiB,CAAC,IAAI,CAAC,2BAA2B,EAExD,YAAY,EAAE,sBAAsB,EACpC,OAAO,EAAE,uBAAA,IAAI,4DAAgC,EAC7C,GAAG,EAAE,CAAC,EAAyB,MAC5B,uBAAA,IAAI,4CAAuB,EAA2B,MAAA,CAAC,GAE7C,EAEf,mBACE,KAAK,EAAC,qBAAqB,EAC3B,IAAI,EAAC,qBAAqB,EAC1B,YAAY,EAAE,sBAAsB,EACpC,OAAO,EAAE,uBAAA,IAAI,6CAAiB,CAAC,IAAI,CAAC,SAAS,EAC7C,OAAO,EAAE,uBAAA,IAAI,qDAAyB,EACtC,GAAG,EAAE,CAAC,EAAyB,MAC5B,uBAAA,IAAI,qCAAgB,EAA2B,MAAA,CAAC,GAEtC,CACX,CACF,CACC,EAET,WAAK,KAAK,EAAC,0BAA0B,IAClC,uBAAA,IAAI,sDAA0B,MAA9B,IAAI,CAA4B,EAChC,IAAI,CAAC,MAAM,IAAI,IAAI,CAAC,oBAAoB,KACvC,qBACE,WAAW,EAAE,uBAAA,IAAI,6CAAiB,CAAC,MAAM,CAAC,WAAW,EACrD,WAAW,EAAE,uBAAA,IAAI,6CAAiB,CAAC,MAAM,CAAC,KAAK,EAC/C,cAAc,EAAE,uBAAA,IAAI,mDAAuB,EAC3C,IAAI,QACJ,KAAK,EAAC,QAAQ,GACC,CAClB,CACG,EAEL,uBAAA,IAAI,0CAAc,MAAlB,IAAI,CAAgB,CACb,CACL,EACP;KACH;;;;;;;;o6CAtNuB,gBAA8B;IACpD,gBAAgB,CAAC,OAAO,CAAC,UAAU;QACjC,uBAAA,IAAI,4CAAgB,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,EAAE,UAAU,CAAC,CAAC;KACrD,CAAC,CAAC;AACL,CAAC;;;;;","names":[],"sources":["src/components/kb-manager-export/helpers.ts","src/components/kb-manager-export/kb-manager-export.scss?tag=gx-ide-kb-manager-export&encapsulation=shadow","src/components/kb-manager-export/kb-manager-export.tsx"],"sourcesContent":["// /* Tree View */\nimport {\n TreeViewItemModel,\n TreeViewModel\n} from \"@genexus/chameleon-controls-library\";\nimport { ObjectData, KBPropertyData, KBPropertyType } from \"./types\";\nimport { ObjectType } from \"../../common/types\";\nexport const KB_PROPERTY = \"property\";\nexport const KB_OBJECT = \"object\";\n\nconst getPropertyIcon = (\n typeId: string,\n kbPropertiesTypes: KBPropertyType[]\n): string =>\n // The object icon has to be retrieved from the ObjectTypes array, by\n // matching the ObjectData typeId with the ObjectType id\n kbPropertiesTypes.find(propertyType => propertyType.id === typeId).icon;\n\nconst convertObjectTypeToTreeItem = (\n objectType: ObjectType\n): TreeViewItemModel => ({\n caption: objectType.name,\n id: objectType.id,\n startImgSrc: objectType.icon,\n leaf: false,\n parts: \"object-type tree-view-item\",\n expanded: true,\n items: []\n});\n\nconst convertObjectToTreeItem = (\n object: ObjectData,\n objectTypes: Map<string, ObjectType>\n): TreeViewItemModel => ({\n caption: object.name,\n id: object.id,\n startImgSrc: objectTypes.get(object.typeId).icon,\n parts: \"object tree-view-item\",\n metadata: KB_OBJECT,\n leaf: true\n});\n\nconst convertPropertyToTreeItem = (\n property: KBPropertyData,\n kbPropertiesTypes: KBPropertyType[]\n): TreeViewItemModel => ({\n caption: property.name,\n id: property.id,\n startImgSrc: getPropertyIcon(property.typeId, kbPropertiesTypes),\n parts: \"property tree-view-item\",\n metadata: KB_PROPERTY,\n leaf: true\n});\n\n/**\n * Updates the tree model with the provided objects.\n * Objects may already exist and are placed under their parent node.\n * If the parent node doesn't exist (identified by typeId on ObjectTypes),\n * it is created and added at the bottom.\n *\n * @param {ObjectData[] | undefined} objects - The array of objects to update.\n * @param {Map<string, ObjectType>} objectTypesMap - A map of object types by ID.\n * @param {Set<string>} objectsSet - A set of existing object IDs.\n * @param {TreeViewModel} actualTreeState - The current tree state to be updated.\n * @returns {TreeViewModel} - The updated tree view model.\n */\nexport const updateObjectsTreeModel = (\n objects: ObjectData[] | undefined,\n objectTypesMap: Map<string, ObjectType>,\n objectsSet: Set<string>,\n actualTreeState: TreeViewModel\n): TreeViewModel => {\n if (!objects) {\n return [...actualTreeState];\n }\n\n const updatedTreeData: TreeViewModel = [...actualTreeState];\n objects.forEach(object => {\n // objects that already exists in the actual actualTreeState should not be added.\n\n if (objectsSet.has(object.id)) {\n // object already exists\n return;\n }\n\n const objectTreeItem = convertObjectToTreeItem(object, objectTypesMap);\n\n // TODO: Improve the algorithm efficiency. This check visits potentially all nodes\n // from the TreeViewModel on each iteration. Using a Map to pre-store the TreeView\n // nodes would improve efficiency.\n const objectTypeTreeItemIndex = updatedTreeData.findIndex(\n treeItem => treeItem.id === object.typeId\n );\n\n if (objectTypeTreeItemIndex === -1) {\n // Create and add new object type tree item\n const objectType = objectTypesMap.get(object.typeId);\n if (objectType) {\n const objectTypeTreeItem = convertObjectTypeToTreeItem(objectType);\n objectTypeTreeItem.items.push(objectTreeItem);\n updatedTreeData.push(objectTypeTreeItem);\n }\n } else {\n // objectType exists already. insert object as children of the object type tree item.\n updatedTreeData[objectTypeTreeItemIndex].items.push(objectTreeItem);\n }\n\n objectsSet.add(object.id);\n });\n\n return updatedTreeData;\n};\n\n/**\n * Converts an array of KB properties data into tree item data for a tree view.\n *\n * @param {KBPropertyData[]} properties - The array of KB property data.\n * @param {KBPropertyType[]} kbPropertiesTypes - The array of KB property types.\n * @param {TreeViewModel} actualTreeState - The current state of the tree.\n * @returns {TreeViewModel} - The updated tree view item models.\n */\nexport const convertKbPropertiesDataToTreeItemData = (\n properties: KBPropertyData[],\n kbPropertiesTypes: KBPropertyType[],\n actualTreeState: TreeViewModel\n): TreeViewModel => {\n if (!properties) {\n return [...actualTreeState];\n }\n\n const updatedTreeData: TreeViewModel = [...actualTreeState];\n properties.forEach(property => {\n // properties have no parent node, and they should be added at the beginning of the tree\n const propertyAlreadyExists =\n updatedTreeData.find(node => node.id === property.id) !== undefined;\n if (propertyAlreadyExists) {\n return;\n }\n const propertyTreeItem = convertPropertyToTreeItem(\n property,\n kbPropertiesTypes\n );\n updatedTreeData.unshift(propertyTreeItem);\n });\n return updatedTreeData;\n};\n\n/**\n * Removes properties from the tree model.\n *\n * @param {TreeViewModel} actualTreeState - The current state of the tree,\n * containing various tree view items.\n * @returns {TreeViewModel} - A new array of tree view items that excludes\n * any items with metadata of type `KB_PROPERTY`.\n */\nexport const clearKbPropertiesFromTree = (\n actualTreeState: TreeViewModel\n): TreeViewModel =>\n actualTreeState.filter(item => item.metadata !== KB_PROPERTY);\n","section {\n display: grid;\n block-size: 100%;\n grid-template-rows: max-content 1fr max-content;\n}\n\n.header__field-group {\n grid-template:\n \"export-file-name buttons-container\" max-content\n \"checkboxes checkboxes\" max-content\n / 1fr max-content;\n}\n.export-file-name {\n grid-area: export-file-name;\n}\n.header__buttons-container {\n grid-area: buttons-container;\n}\n.header__checkboxes {\n grid-area: checkboxes;\n grid-template-columns: max-content 1fr;\n}\n\n.main {\n position: relative;\n padding-block: var(--content-block-spacing);\n}\n","import { Component, Host, h, Prop, Element, State, Watch } from \"@stencil/core\";\n\nimport { ChCheckboxCustomEvent } from \"@genexus/chameleon-controls-library\";\nimport {\n TreeViewItemModelExtended,\n TreeViewModel\n} from \"@genexus/chameleon-controls-library\";\nimport { MercuryBundles } from \"@genexus/mercury\";\n\nimport { Locale } from \"../../common/locale\";\nimport {\n updateObjectsTreeModel,\n convertKbPropertiesDataToTreeItemData,\n clearKbPropertiesFromTree\n} from \"./helpers\";\nimport { ObjectType } from \"../../common/types\";\n\nimport { KB_PROPERTY, KB_OBJECT } from \"./helpers\";\nimport {\n KBPropertiesCallback,\n KBPropertyData,\n KBPropertyType,\n ObjectData,\n ExportFileDirectoryCallback,\n OptionsCallback,\n AddObjectsCallback,\n ExportCallback,\n AddReferencesCallback,\n CancelCallback\n} from \"./types\";\n\nimport { getIconPath } from \"@genexus/mercury\";\n\nconst FILE_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"file\",\n colorType: \"on-elevation\"\n});\nconst SETTINGS_ICON = getIconPath({\n category: \"gemini-tools\",\n name: \"settings\",\n colorType: \"primary\"\n});\nconst GENERAL_REFERENCES_ICON = getIconPath({\n category: \"window-tools\",\n name: \"references\",\n colorType: \"neutral\"\n});\nconst MENUS_NEW_OBJECT_ICON = getIconPath({\n category: \"menus\",\n name: \"new-object\",\n colorType: \"on-primary\"\n});\nconst TREE_VIEW_ICON = getIconPath({\n category: \"controls\",\n name: \"treeview\"\n});\nconst CHECKBOX_CHECKED_VALUE = \"true\";\n\nconst CSS_BUNDLES: MercuryBundles = [\n \"resets/box-sizing\",\n \"components/button\",\n \"components/checkbox\",\n \"components/edit\",\n \"components/icon\",\n \"components/tree-view\",\n \"utils/form\",\n \"utils/layout\",\n \"utils/typography\"\n];\n@Component({\n tag: \"gx-ide-kb-manager-export\",\n styleUrl: \"kb-manager-export.scss\",\n shadow: true,\n assetsDirs: [\"gx-ide-assets/kb-manager-export\"]\n})\nexport class GxIdeKbManagerExport {\n #addKbDescriptionEl!: HTMLChCheckboxElement;\n #componentLocale: any;\n #animateEmptyState: boolean = false;\n #exportAllEl!: HTMLChCheckboxElement;\n #fileNameEl!: HTMLChEditElement;\n #kBPropertiesData!: KBPropertyData[];\n /**\n * Stores the object types information (name, and icon)\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #objectTypesMap: Map<string, ObjectType> = new Map();\n /**\n * Stores the object's id that have been added.\n */\n // eslint-disable-next-line @stencil-community/own-props-must-be-private\n #objectsSet: Set<string> = new Set();\n\n @Element() el: HTMLGxIdeKbManagerExportElement;\n\n @State() addKbPropertiesIsChecked = false;\n @State() atLeastOnePropertyItemIsChecked = false;\n @State() atLeastOneObjectItemIsChecked = false;\n @State() checkedObjectsIds: string[] = [];\n @State() checkedPropertiesIds: string[] = [];\n @State() exportAllIsChecked = false;\n @State() exportingIsInProcess = false;\n @State() hasObjects: boolean;\n @State() objectsTreeViewModel: TreeViewModel = [];\n @Watch(\"objectsTreeViewModel\")\n objectsTreeViewModelChanged(newObjectsTreeViewModel: TreeViewModel) {\n this.hasObjects =\n newObjectsTreeViewModel && newObjectsTreeViewModel.length > 0;\n if (!this.hasObjects) {\n this.atLeastOnePropertyItemIsChecked = false;\n this.atLeastOneObjectItemIsChecked = false;\n }\n }\n\n /**\n * Callback invoked when the user wants to include KB properties.\n */\n @Prop() readonly addKBPropertiesCallback!: KBPropertiesCallback;\n\n /**\n * Callback invoked when the user wants to add objects.\n */\n @Prop() readonly addObjectsCallback!: AddObjectsCallback;\n\n /**\n *Callback invoked when the user wants to add all the references for the selected objects.\n *@param itemIds:string[] The selected item ids\n *@returns : Returns an object with the items and its references\n */\n @Prop() readonly addReferencesCallback!: AddReferencesCallback;\n\n /**\n * Callback invoked when the user wants to cancel the export process.\n * @returns It returns a boolean indicating whether the process could be canceled or not.\n */\n @Prop() readonly cancelCallback!: CancelCallback;\n\n /**\n *Callback invoked when the user wants to initiate the export process.\n *@param fileName:string\n *@param itemIds:string[] The selected item ids\n *@returns : It returns a boolean indicating whether the process was successful\n */\n @Prop() readonly exportCallback!: ExportCallback;\n\n /**\n * Callback invoked when the user wants to access the export options.\n */\n @Prop() readonly exportFileDirectoryCallback!: ExportFileDirectoryCallback;\n\n /**\n * It allows defining the default Export File Name\n */\n @Prop() readonly fileName: string;\n\n /**\n * Array with the possible types of KB properties\n */\n @Prop() readonly kbPropertiesTypes: KBPropertyType[];\n\n /**\n * If true, it will display a loader when needed.\n */\n @Prop() readonly loader = false;\n\n /**\n * Array of possible object types\n */\n @Prop() readonly objectTypes: ObjectType[];\n @Watch(\"objectTypes\")\n objectTypesChanged(newObjectTypesArray: ObjectType[]) {\n this.#objectsTypesArrayToMap(newObjectTypesArray);\n }\n\n /**\n * Callback invoked when the user wants to access the export options.\n */\n @Prop() readonly optionsCallback: OptionsCallback;\n\n async componentWillLoad() {\n this.#componentLocale = await Locale.getComponentStrings(this.el);\n this.#evaluateObjects();\n this.#objectsTypesArrayToMap(this.objectTypes);\n }\n\n #addKBPropertiesCallbackHandler = async (\n e: ChCheckboxCustomEvent<any> | InputEvent\n ) => {\n this.addKbPropertiesIsChecked = e.detail === CHECKBOX_CHECKED_VALUE;\n if (this.addKbPropertiesIsChecked) {\n this.#kBPropertiesData = await this.addKBPropertiesCallback();\n if (this.#kBPropertiesData.length) {\n this.objectsTreeViewModel = convertKbPropertiesDataToTreeItemData(\n this.#kBPropertiesData,\n this.kbPropertiesTypes,\n this.objectsTreeViewModel\n );\n }\n } else {\n // previous properties (if any) should be removed\n this.objectsTreeViewModel = clearKbPropertiesFromTree(\n this.objectsTreeViewModel\n );\n }\n };\n\n #addObjectsCallbackHandler = async () => {\n this.#exportAllEl.value = undefined;\n this.exportAllIsChecked = false;\n const addedObjects = await this.addObjectsCallback();\n this.#updateObjects(addedObjects);\n };\n\n #addReferencesCallbackHandler = async () => {\n const objects: ObjectData[] = await this.addReferencesCallback(\n this.checkedObjectsIds\n );\n this.#updateObjects(objects);\n };\n\n #cancelCallbackHandler = async () => {\n const cancelled = await this.cancelCallback();\n if (cancelled) {\n this.exportingIsInProcess = false;\n }\n };\n\n #clearButtonHandler = () => {\n this.objectsTreeViewModel = [];\n this.#objectsSet.clear();\n this.#addKbDescriptionEl.value = undefined;\n this.#exportAllEl.value = undefined;\n };\n\n #evaluateContentToDisplay = () => {\n // Nothing to display on the tree-view\n if (!this.hasObjects && !this.exportAllIsChecked) {\n return (\n <gx-ide-empty-state\n isAnimated={this.#animateEmptyState}\n stateTitle={this.#componentLocale.main.noObjectsToDisplay}\n key=\"no-objects-empty-state\"\n >\n <button\n class=\"button-primary\"\n onClick={this.#addObjectsCallbackHandler}\n >\n {this.#componentLocale.main.beginByADdingSomeObjects}\n </button>\n </gx-ide-empty-state>\n );\n } else {\n this.#animateEmptyState = true; // improve performance if is first render\n }\n\n if (this.exportAllIsChecked) {\n return (\n <gx-ide-empty-state\n isAnimated={this.#animateEmptyState}\n stateIconSrc={TREE_VIEW_ICON}\n stateTitle={this.#componentLocale.main.exportAllMessage}\n key=\"exporting-all-empty-state\"\n ></gx-ide-empty-state>\n );\n } else {\n this.#animateEmptyState = true; // improve performance if is first render\n }\n\n return (\n <ch-tree-view-render\n class=\"tree-view\"\n checkbox\n checked\n dragDisabled\n dropDisabled\n filter={this.#evaluateTreeViewFilters()}\n filterType={\n this.addKbPropertiesIsChecked && !this.exportAllIsChecked\n ? \"none\"\n : \"metadata\"\n }\n model={this.objectsTreeViewModel}\n showLines=\"last\"\n toggleCheckboxes\n sortItemsCallback={this.#sortTreeItems}\n onCheckedItemsChange={this.#objectsTreeCheckedItemsChangedHandler}\n ></ch-tree-view-render>\n );\n };\n\n #evaluateObjects = () => {\n this.hasObjects =\n this.objectsTreeViewModel && this.objectsTreeViewModel.length > 0;\n };\n\n #evaluateTreeViewFilters = (): string => {\n if (this.addKbPropertiesIsChecked && this.exportAllIsChecked) {\n return KB_PROPERTY; // only show properties\n }\n if (!this.addKbPropertiesIsChecked && !this.exportAllIsChecked) {\n return KB_OBJECT; // only show objects\n }\n return \"none\";\n };\n\n #exportAllChangedHandler = (\n event: ChCheckboxCustomEvent<any> | InputEvent\n ) => {\n this.exportAllIsChecked = event.detail;\n };\n\n #exportCallbackHandler = async () => {\n this.exportingIsInProcess = true;\n const fileName: string = this.#fileNameEl.value;\n const checkedKbPropertiesIds = this.addKbPropertiesIsChecked\n ? this.checkedPropertiesIds\n : [];\n const checkedObjectIds = this.exportAllIsChecked\n ? undefined\n : this.checkedObjectsIds;\n this.exportCallback(\n fileName,\n checkedKbPropertiesIds,\n checkedObjectIds\n ).then(() => {\n this.exportingIsInProcess = false;\n });\n // returns Promise<boolean> but no procedure was detailed on the spec.\n };\n\n #objectsTypesArrayToMap(objectTypesArray: ObjectType[]) {\n objectTypesArray.forEach(objectType => {\n this.#objectTypesMap.set(objectType.id, objectType);\n });\n }\n\n #objectsTreeCheckedItemsChangedHandler = (\n event: CustomEvent<Map<string, TreeViewItemModelExtended>>\n ) => {\n // filter 'checked objects' and 'checked properties' ids\n const checkedObjectsIds: string[] = [];\n const checkedPropertiesIds: string[] = [];\n const allItemsWithCheckbox = [...event.detail.values()];\n allItemsWithCheckbox.forEach(node => {\n if (node.item.checked && node.item.metadata === KB_OBJECT) {\n checkedObjectsIds.push(node.item.id);\n } else if (node.item.checked && node.item.metadata === KB_PROPERTY) {\n checkedPropertiesIds.push(node.item.id);\n }\n });\n this.checkedObjectsIds = checkedObjectsIds;\n this.checkedPropertiesIds = checkedPropertiesIds;\n\n this.atLeastOnePropertyItemIsChecked = this.checkedPropertiesIds.length > 0;\n this.atLeastOneObjectItemIsChecked = this.checkedObjectsIds.length > 0;\n };\n\n #sortTreeItems = (subModel: TreeViewModel) => {\n // \"property\" items should be added on top.\n // else sort alphabetically by \"caption\" value.\n return subModel.sort((a, b) => {\n if (a.metadata === \"property\" && b.metadata !== \"property\") {\n return -1;\n }\n if (b.metadata === \"property\" && a.metadata !== \"property\") {\n return 1;\n }\n\n return a.caption.localeCompare(b.caption);\n });\n };\n\n #renderFooter = (): HTMLElement => {\n const referencesButtonEnabled = this.atLeastOneObjectItemIsChecked;\n const clearButtonEnabled = this.objectsTreeViewModel.length > 0;\n return (\n <footer class=\"footer control-footer-with-border control-footer-space-between space-body spacing-body-inline spacing-body-block-end\">\n <button\n class=\"button-tertiary clear-btn\"\n disabled={!clearButtonEnabled}\n part=\"clear-button\"\n onClick={clearButtonEnabled && this.#clearButtonHandler}\n >\n {this.#componentLocale.footer.clearButton}\n </button>\n\n <div class=\"buttons-spacer\">\n <button\n class=\"button-secondary button-icon-and-text\"\n part=\"references-button\"\n disabled={!referencesButtonEnabled}\n onClick={\n referencesButtonEnabled && this.#addReferencesCallbackHandler\n }\n >\n <ch-image\n class=\"icon-sm\"\n disabled={!referencesButtonEnabled}\n src={GENERAL_REFERENCES_ICON}\n ></ch-image>\n {this.#componentLocale.footer.addReferencesButton}\n </button>\n\n <button\n // Add button\n class=\"button-primary button-icon-and-text\"\n disabled={this.exportAllIsChecked}\n part=\"add-button\"\n onClick={\n !this.exportAllIsChecked && this.#addObjectsCallbackHandler\n }\n >\n <ch-image\n class=\"icon-sm\"\n disabled={this.exportAllIsChecked}\n src={MENUS_NEW_OBJECT_ICON}\n ></ch-image>\n {this.#componentLocale.footer.addButton}\n </button>\n </div>\n </footer>\n );\n };\n\n #updateObjects = (objectsDataArray: ObjectData[]) => {\n if (objectsDataArray.length) {\n const newObjectsTreeModel = updateObjectsTreeModel(\n objectsDataArray,\n this.#objectTypesMap,\n this.#objectsSet,\n this.objectsTreeViewModel\n );\n this.objectsTreeViewModel = newObjectsTreeModel;\n }\n };\n\n render(): void {\n const exportButtonEnabled =\n this.atLeastOnePropertyItemIsChecked ||\n this.atLeastOneObjectItemIsChecked ||\n this.exportAllIsChecked;\n\n const cancelButtonEnabled = this.exportingIsInProcess;\n\n return (\n <Host class=\"widget\">\n <ch-theme model={CSS_BUNDLES}></ch-theme>\n\n <section>\n <header class=\"header control-header-with-border space-body spacing-body-inline spacing-body-block-start\">\n <div class=\"field-group header__field-group\">\n <div class=\"field field-inline export-file-name\">\n <label class=\"label\" htmlFor=\"xpz-file\">\n {this.#componentLocale.header.exportFileName}\n </label>\n <ch-edit\n autoFocus\n id=\"xpz-file\"\n class=\"form-input\"\n part=\"xpz-file\"\n value={this.fileName}\n startImgSrc={FILE_ICON}\n ref={(el: HTMLChEditElement) =>\n (this.#fileNameEl = el as HTMLChEditElement)\n }\n ></ch-edit>\n </div>\n\n <div class=\"header__buttons-container buttons-spacer\">\n <button\n id=\"export-kb-btn\"\n class=\"button-primary export-btn\"\n part=\"export-btn\"\n disabled={!exportButtonEnabled}\n onClick={exportButtonEnabled && this.#exportCallbackHandler}\n >\n {this.#componentLocale.header.exportButton}\n </button>\n <button\n id=\"cancel-kb-export-btn\"\n class=\"button-secondary cancel-btn\"\n part=\"cancel-button\"\n disabled={!cancelButtonEnabled}\n onClick={cancelButtonEnabled && this.#cancelCallbackHandler}\n >\n {this.#componentLocale.header.cancelButton}\n </button>\n\n <button\n aria-label={this.#componentLocale.header.optionsButton}\n title={this.#componentLocale.header.optionsButton}\n class=\"button-tertiary button-icon-only options-btn\"\n part=\"select-kb-btn\"\n onClick={this.optionsCallback}\n >\n <ch-image class=\"icon-md\" src={SETTINGS_ICON}></ch-image>\n </button>\n </div>\n\n <div class=\"header__checkboxes field-group\">\n <ch-checkbox\n class=\"checkbox add-kb-description\"\n part=\"add-kb-description\"\n caption={\n this.#componentLocale.main.addKnowledgeBaseDescription\n }\n checkedValue={CHECKBOX_CHECKED_VALUE}\n onInput={this.#addKBPropertiesCallbackHandler}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#addKbDescriptionEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n\n <ch-checkbox\n class=\"checkbox export-all\"\n part=\"export-all-checkbox\"\n checkedValue={CHECKBOX_CHECKED_VALUE}\n caption={this.#componentLocale.main.exportAll}\n onInput={this.#exportAllChangedHandler}\n ref={(el: HTMLChCheckboxElement) =>\n (this.#exportAllEl = el as HTMLChCheckboxElement)\n }\n ></ch-checkbox>\n </div>\n </div>\n </header>\n\n <div class=\"main spacing-body-inline\">\n {this.#evaluateContentToDisplay()}\n {this.loader && this.exportingIsInProcess && (\n <gx-ide-loader\n cancelLabel={this.#componentLocale.loader.cancelLabel}\n loaderTitle={this.#componentLocale.loader.title}\n cancelCallback={this.#cancelCallbackHandler}\n show\n class=\"loader\"\n ></gx-ide-loader>\n )}\n </div>\n\n {this.#renderFooter()}\n </section>\n </Host>\n );\n }\n}\n"],"version":3}
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, h, H as Host, g as getElement } from './index-27c691bc.js';
2
2
  import { L as Locale } from './locale-3c32f251.js';
3
- import { c as config } from './config-6cfbb06f.js';
3
+ import { c as config } from './config-084ee328.js';
4
4
  import { c as countTreeItems } from './helpers-05c62775.js';
5
5
 
6
6
  /* objects in file metadata*/
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, c as createEvent, a as getAssetPath, h, H as Host, g as getElement } from './index-27c691bc.js';
2
2
  import { L as Locale } from './locale-3c32f251.js';
3
3
  import { f as formSubmitValidation, s as setInitialComboValue } from './helpers-05c62775.js';
4
- import { c as config } from './config-6cfbb06f.js';
4
+ import { c as config } from './config-084ee328.js';
5
5
  import { r as renderFormItems } from './common-31ac2b05.js';
6
6
 
7
7
  const newEnvironmentCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}:host{display:block;border:1px solid var(--gxg-border-color--regular);background-color:var(--mer-color__surface)}.header{display:flex}.header__label{flex:none}.main{height:100%}.gxg-tabs{margin-top:0;box-shadow:none}.tab__basic__single-runtime{display:flex;align-items:center;justify-content:center;gap:var(--mer-spacing--2xs)}.basic-main{display:flex;height:100%}.basic-main__back-end{flex:1}.basic-main__front-end{flex:1}.advanced-second-row{grid-template-columns:repeat(2, 1fr);grid-template-rows:1fr}.advanced-second-row>*:nth-child(1){grid-area:1/1/2/2}.advanced-second-row>*:nth-child(2){grid-area:1/2/2/3}.advanced-second-row-col-left{grid-template-columns:repeat(2, 1fr);grid-template-rows:repeat(4, 1fr);grid-template-columns:1fr auto}.advanced-second-row-col-left>*{display:flex;align-items:self-end}.advanced-second-row-col-left>*:nth-child(1){grid-area:1/1/2/2}.advanced-second-row-col-left>*:nth-child(2){grid-area:1/2/2/3}.advanced-second-row-col-left>*:nth-child(3){grid-area:2/1/3/2}.advanced-second-row-col-left>*:nth-child(4){grid-area:2/2/3/3}.advanced-second-row-col-left>*:nth-child(5){grid-area:3/1/4/2}.advanced-second-row-col-left>*:nth-child(6){grid-area:3/2/4/3}.advanced-second-row-col-left>*:nth-child(7){grid-area:4/1/5/2}.advanced-second-row-col-left>*:nth-child(8){grid-area:4/2/5/3}.advanced-second-row-col-right{grid-template-columns:1fr;grid-template-rows:repeat(4, 1fr);grid-auto-rows:1fr}.advanced-second-row-col-right *:nth-child(1){grid-area:1/1/2/2}.advanced-second-row-col-right *:nth-child(2){grid-area:2/1/3/2}.advanced-second-row-col-right *:nth-child(3){grid-area:3/1/4/2}.advanced-second-row-col-right *:nth-child(4){grid-area:4/1/5/2}";
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, a as getAssetPath, h, H as Host, g as getElement } from './index-27c691bc.js';
2
2
  import { L as Locale } from './locale-3c32f251.js';
3
- import { c as config } from './config-6cfbb06f.js';
3
+ import { c as config } from './config-084ee328.js';
4
4
  import { g as getSelectedGxOption, r as renderFormItems } from './common-31ac2b05.js';
5
5
  import { f as formSubmitValidation } from './helpers-05c62775.js';
6
6
 
@@ -1,6 +1,6 @@
1
1
  import { r as registerInstance, c as createEvent, a as getAssetPath, h, H as Host, g as getElement } from './index-27c691bc.js';
2
2
  import { L as Locale } from './locale-3c32f251.js';
3
- import { c as config } from './config-6cfbb06f.js';
3
+ import { c as config } from './config-084ee328.js';
4
4
 
5
5
  const newObjectCss = ":root{--ui-animaton-speed:0.2s}.gxg-title-01{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-01--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-01-font-weight);font-size:var(--ds-title-01-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-02{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-02--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-02-font-weight);font-size:var(--ds-title-02-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--color-on-primary)}.gxg-title-03{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-03--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-03-font-weight);font-size:var(--ds-title-03-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;text-transform:uppercase;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-04{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-04--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-04-font-weight);font-size:var(--ds-title-04-font-size);letter-spacing:var(--ds-base-font-letter-spacing--comfortable);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-title-05{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable)}.gxg-title-05--negative{font-family:var(--ds-base-font-family-primary);font-weight:var(--ds-title-05-font-weight);font-size:var(--ds-title-05-font-size);letter-spacing:var(--ds-base-font-letter-spacing--regular);color:var(--ds-base-font-color);text-align:start;line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable)}.gxg-text--negative{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--negative)}.gxg-text--gray{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--dimmed)}.gxg-quote{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);font-style:italic}.gxg-quote--negative{color:var(--ds-base-font-color--negative)}.gxg-link{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block}.gxg-link:hover{color:var(--ds-base-font-color--link-hover)}.gxg-link:active{color:var(--ds-base-font-color--link-active)}.gxg-link-gray{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed)}.gxg-link-gray:hover{line-height:unset;font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--link);text-decoration:underline;cursor:pointer;display:inline-block;color:var(--ds-base-font-color--dimmed);filter:brightness(1.4)}.gxg-alert-error{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--error);display:inline-block}.gxg-alert-warning{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--warning);display:inline-block}.gxg-alert-success{font-family:var(--ds-base-font-family-primary);font-size:var(--ds-base-font-size);color:var(--ds-base-font-size-color);font-weight:var(--ds-base-font-size-weight);line-height:var(--ds-base-font-line-height--comfortable);color:var(--ds-base-font-color--success);display:inline-block}.gxg-tab--disabled{color:var(--color-primary-disabled);pointer-events:none}.gxg-tab--disabled[disabled]{color:var(--color-primary-disabled);pointer-events:none}.gxg-label{font-family:var(--ds-base-font-family-primary);font-weight:var(--gxg-label-font-weight);font-size:var(--gxg-label-font-size);color:var(--gxg-label-color);text-align:center;line-height:1.455em;display:flex;align-items:center}.gxg-label:hover{color:var(--color-primary-hover)}.gxg-label:focus{color:var(--color-primary-active)}.gxg-label:active{color:var(--color-primary-active)}.gxg-label[disabled]{color:var(--color-primary-disabled)}.gxg-label--negative{color:var(--color-on-primary)}.gxg-label--negative[disabled]{color:var(--color-on-disabled)}.gxg-scrollbar{}.gxg-scrollbar::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gxg-scrollbar::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gxg-scrollbar::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gxg-scrollbar::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}:host{display:grid;block-size:100%}.card-regular{background-color:var(--mer-surface__elevation--01);border:var(--mer-border__width--sm) solid var(--mer-border-color__on-elevation--01);border-radius:var(--mer-border__radius--md);padding:var(--mer-spacing--md) var(--mer-spacing--md);display:grid}.card-small{background-color:var(--mer-surface__elevation--02);border-radius:var(--mer-border__radius--sm);padding:var(--mer-spacing--sm) var(--mer-spacing--sm)}.card-small--actionable:hover{background-color:var(--mer-color__neutral-gray--600)}.card-small--actionable:active{background-color:var(--mer-color__neutral-gray--650)}.card-small:focus-visible{outline:var(--focus__outline-width) var(--focus__outline-style) var(--focus__outline-color);outline-offset:var(--focus__outline-offset)}.empty-state{block-size:100%;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:var(--mer-spacing--sm);text-align:center}.empty-state__title,.empty-state__button,.empty-state__link{max-inline-size:300px}.opacity-0{opacity:0}.opacity-1{opacity:1}.display-contents{display:contents}.gxi-hidden{display:none !important}.gxi-full-height{height:100%}.gxi-overflow-auto{overflow:auto}.gxi-display-flex{display:flex}.align-start{display:flex;align-items:start}.align-center{display:flex;align-items:center}.align-end{display:flex;align-items:end}.overflow-auto{overflow:auto}.justify-start{display:flex;justify-content:start}.justify-center{display:flex;justify-content:center}.justify-end{display:flex;justify-content:end}.grid{display:grid;grid-row-gap:var(--gx-ide-grid-row-gap);grid-column-gap:var(--gx-ide-grid-column-gap);grid-template-rows:auto}ch-grid-cell{display:flex}ch-grid{overflow:auto;height:100%}ch-grid-column{z-index:99;border-bottom:1px solid var(--mer-color__neutral-gray--800)}ch-grid-column:first-child{padding-inline-start:var(--gx-ide-container__padding) !important}ch-grid-column:last-child{padding-inline-end:var(--gx-ide-container__padding) !important}ch-grid-cell{--mer-spacing--xs:var(--gx-ide-container__padding)}.layout{display:grid;gap:var(--mer-spacing--lg);box-sizing:border-box}.layout--two-cols{grid-template-columns:1fr 1fr}.layout--space-above{padding-block-start:var(--mer-spacing--lg)}gxg-tabs{box-shadow:none}:host(.gx-ide-component){height:100% !important;display:flex !important;flex-direction:column !important}:host(:focus-within) gx-ide-top-bar::part(wrapper){background-color:var(--color-secondary-enabled)}.gx-ide-main-wrapper{color:var(--gx-ide-component-text-color);font-weight:var(--mer-font__weight--regular);font-size:var(--mer-font__size--xs);font-family:var(--mer-font-family--primary);height:100%;background-color:var(--gx-ide-component-background-color);display:flex;flex-direction:column;flex-grow:1;box-sizing:border-box}.gx-ide-main{flex-grow:1;overflow-y:auto;}.gx-ide-main::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-main::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-main::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-main::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-main::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.gx-ide-overflow{overflow-y:auto;}.gx-ide-overflow::-webkit-scrollbar{width:var(--gxg-scrollbar-width);height:var(--gxg-scrollbar-width)}.gx-ide-overflow::-webkit-scrollbar-track{background-color:var(--gxg-scrollbar-track-background);border-radius:var(--gxg-scrollbar-track-border-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb{background-color:var(--gxg-scrollbar-track-thumb-background);border-radius:var(--gxg-scrollbar-track-thumb-radius)}.gx-ide-overflow::-webkit-scrollbar-thumb:hover{background-color:var(--gxg-scrollbar-track-thumb-hover-background)}.gx-ide-overflow::-webkit-scrollbar-corner{background:rgba(0, 0, 0, 0)}.tree-view-primary{font-size:var(--mer-font__size--2xs)}p{margin:0;font-size:var(--mer-font__size--xxs)}.buttons-container{display:flex;gap:var(--mer-spacing--xs)}:host{display:block;border:1px solid var(--gxg-border-color--regular);background-color:var(--mer-color__surface)}.main{display:grid;grid-template-rows:1fr auto;overflow:auto;height:100%}.categories-types-container{display:flex;flex-direction:row;flex-shrink:1;overflow:hidden;border-bottom:1px solid var(--gx-ide-container-border-color)}.categories-types-container .categories{flex:1}.categories-types-container .types{flex:2}.api-description{display:flex;flex-direction:column;flex-shrink:0;gap:var(--gx-ide-grid-row-gap);padding:var(--gx-ide-grid-row-gap)}.form{display:grid;grid-template-columns:minmax(95px, auto) 1fr;grid-template-areas:\"name-label name-input\" \"description-label description-input\" \"module-label module-input\";gap:var(--gx-ide-grid-row-gap);column-gap:0}.form .name-label{grid-area:\"name-label\"}.form .name-input{grid-area:\"name-input\"}.form .description-label{grid-area:\"description-label\"}.form .description-input{grid-area:\"description-input\"}.form .module-label{grid-area:\"module-label\"}.form .module-input{grid-area:\"module-input\"}";
6
6
 
@@ -1,7 +1,7 @@
1
1
  import { r as registerInstance, a as getAssetPath, h, H as Host, g as getElement } from './index-27c691bc.js';
2
2
  import { g as getIconPath } from './assets-manager-120996e9.js';
3
3
  import { L as Locale } from './locale-3c32f251.js';
4
- import { c as config } from './config-6cfbb06f.js';
4
+ import { c as config } from './config-084ee328.js';
5
5
  import { a as formatDate } from './helpers-05c62775.js';
6
6
  import { F as FILTER_AFTER } from './constants-f9193da7.js';
7
7
 
@@ -202,7 +202,7 @@ const GxIdeObjectSelector = class {
202
202
  return (h("footer", { class: "footer" }, h("div", { class: "control-footer control-footer-space-between objects-count spacing-body-inline", slot: "footer-above" }, h("p", { class: "text-body-regular-s objects-selected", part: "objects-selected" }, __classPrivateFieldGet(this, _GxIdeObjectSelector_evaluateObjectsCount, "f").call(this, "selected")), h("p", { class: "text-body-regular-s objects-matching", part: "objects-matching" }, __classPrivateFieldGet(this, _GxIdeObjectSelector_evaluateObjectsCount, "f").call(this, "matching"))), h("div", { class: "control-footer-with-border control-footer-space-between spacing-body-inline spacing-body-block-end" }, h("button", {
203
203
  // button new object
204
204
  class: "button-secondary", part: "button button-new", onClick: !this.loading ? __classPrivateFieldGet(this, _GxIdeObjectSelector_newObjectCallbackHandler, "f") : undefined, disabled: this.loading
205
- }, __classPrivateFieldGet(this, _GxIdeObjectSelector_componentLocale, "f").footer.btnNew), h("div", { class: "end buttons-container" }, h("button", {
205
+ }, __classPrivateFieldGet(this, _GxIdeObjectSelector_componentLocale, "f").footer.btnNew), h("div", { class: "end buttons-spacer" }, h("button", {
206
206
  // button cancel
207
207
  class: "button-secondary", part: "button button-cancel", onClick: __classPrivateFieldGet(this, _GxIdeObjectSelector_cancelCallbackHandler, "f")
208
208
  }, __classPrivateFieldGet(this, _GxIdeObjectSelector_componentLocale, "f").footer.btnCancel), h("button", {