@genexus/genexus-ide-ui 0.0.12 → 0.0.13

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 (270) hide show
  1. package/dist/cjs/ch-grid-action-refresh_6.cjs.entry.js +359 -0
  2. package/dist/cjs/ch-grid-rowset-legend_2.cjs.entry.js +51 -0
  3. package/dist/cjs/{ch-grid_9.cjs.entry.js → ch-grid_7.cjs.entry.js} +130 -332
  4. package/dist/cjs/ch-suggest-list-item.cjs.entry.js +11 -16
  5. package/dist/cjs/ch-suggest-list.cjs.entry.js +10 -10
  6. package/dist/cjs/ch-suggest.cjs.entry.js +51 -47
  7. package/dist/cjs/form-validation-87e3749d.js +68 -0
  8. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  9. package/dist/cjs/{gxg-combo-box_8.cjs.entry.js → gx-ide-container_10.cjs.entry.js} +334 -231
  10. package/dist/cjs/gx-ide-entity-selector.cjs.entry.js +1 -1
  11. package/dist/cjs/gx-ide-new-environment.cjs.entry.js +118 -0
  12. package/dist/cjs/gx-ide-new-kb.cjs.entry.js +36 -87
  13. package/dist/cjs/gx-ide-template.cjs.entry.js +11 -12
  14. package/dist/cjs/gxg-breadcrumb.cjs.entry.js +0 -1
  15. package/dist/cjs/gxg-button-group.cjs.entry.js +1 -1
  16. package/dist/cjs/gxg-button.cjs.entry.js +2 -2
  17. package/dist/cjs/gxg-container.cjs.entry.js +215 -0
  18. package/dist/cjs/gxg-date-picker.cjs.entry.js +1 -1
  19. package/dist/cjs/gxg-drop-down.cjs.entry.js +1 -1
  20. package/dist/cjs/gxg-form-checkbox.cjs.entry.js +3 -1
  21. package/dist/cjs/gxg-form-radio-group.cjs.entry.js +76 -36
  22. package/dist/cjs/gxg-form-text.cjs.entry.js +17 -5
  23. package/dist/cjs/gxg-form-textarea.cjs.entry.js +1 -1
  24. package/dist/cjs/gxg-list-box.cjs.entry.js +3 -2
  25. package/dist/cjs/gxg-menu-item.cjs.entry.js +59 -12
  26. package/dist/cjs/gxg-menu-list.cjs.entry.js +28 -0
  27. package/dist/cjs/gxg-menu.cjs.entry.js +228 -12
  28. package/dist/cjs/gxg-option.cjs.entry.js +1 -1
  29. package/dist/cjs/gxg-paginator.cjs.entry.js +1 -1
  30. package/dist/cjs/gxg-select.cjs.entry.js +1 -1
  31. package/dist/cjs/gxg-suggest.cjs.entry.js +26 -3
  32. package/dist/cjs/gxg-test.cjs.entry.js +36 -10
  33. package/dist/cjs/gxg-text.cjs.entry.js +23 -11
  34. package/dist/cjs/gxg-title.cjs.entry.js +11 -7
  35. package/dist/cjs/gxg-tree-item.cjs.entry.js +30 -43
  36. package/dist/cjs/gxg-tree.cjs.entry.js +0 -4
  37. package/dist/cjs/loader.cjs.js +1 -1
  38. package/dist/cjs/{repositionScroll-e3ae1947.js → reposition-scroll-accee84c.js} +3 -15
  39. package/dist/cjs/types-e04c9098.js +12 -0
  40. package/dist/collection/collection-manifest.json +6 -1
  41. package/dist/collection/common/common.js +6 -6
  42. package/dist/collection/common/form-validation.js +17 -0
  43. package/dist/collection/common/interfaces.js +3 -1
  44. package/dist/collection/components/_template/gx-ide-assets/template/langs/template.lang.en.json +1 -1
  45. package/dist/collection/components/_template/template.css +90 -6
  46. package/dist/collection/components/_template/template.js +26 -23
  47. package/dist/{node_modules/@genexus/gemini/dist/collection/components/suggest/gxg-suggest.css → collection/components/container/container.css} +118 -120
  48. package/dist/collection/components/container/container.js +535 -0
  49. package/dist/collection/components/entity-selector/entity-selector.css +1 -1
  50. package/dist/collection/components/new-environment/gx-ide-assets/new-environment/langs/new-environment.lang.en.json +26 -0
  51. package/dist/collection/components/new-environment/gx-ide-assets/new-environment/langs/new-environment.lang.ja.json +3 -0
  52. package/dist/collection/components/new-environment/gx-ide-assets/new-environment/langs/new-environment.lang.zh.json +3 -0
  53. package/dist/collection/components/new-environment/new-environment.css +219 -0
  54. package/dist/collection/components/new-environment/new-environment.js +355 -0
  55. package/dist/collection/components/new-kb/gx-ide-assets/new-kb/langs/new-kb.lang.en.json +1 -0
  56. package/dist/collection/components/new-kb/new-kb.css +100 -8
  57. package/dist/collection/components/new-kb/new-kb.js +88 -84
  58. package/dist/collection/components/top-bar/top-bar.css +17 -0
  59. package/dist/collection/components/top-bar/top-bar.js +62 -0
  60. package/dist/collection/pages/assets/common.js +28 -8
  61. package/dist/components/button-group.js +1 -1
  62. package/dist/components/button.js +2 -2
  63. package/dist/components/ch-grid-rowset-legend.js +1 -32
  64. package/dist/components/ch-grid-rowset-legend2.js +34 -0
  65. package/dist/components/ch-grid2.js +1 -1
  66. package/dist/components/ch-suggest-list-item.js +15 -18
  67. package/dist/components/ch-suggest-list.js +10 -10
  68. package/dist/components/ch-suggest.js +58 -48
  69. package/dist/components/combo-box-item.js +6 -1
  70. package/dist/components/combo-box.js +72 -11
  71. package/dist/components/container.js +83 -156
  72. package/dist/components/form-checkbox.js +4 -2
  73. package/dist/components/form-radio-group.js +244 -0
  74. package/dist/components/form-radio.js +13 -22
  75. package/dist/components/form-text.js +20 -6
  76. package/dist/components/form-validation.js +64 -0
  77. package/dist/components/gx-ide-container.d.ts +11 -0
  78. package/dist/components/gx-ide-container.js +6 -0
  79. package/dist/components/gx-ide-entity-selector.js +1 -1
  80. package/dist/components/gx-ide-new-environment.d.ts +11 -0
  81. package/dist/components/gx-ide-new-environment.js +258 -0
  82. package/dist/components/gx-ide-new-kb.js +55 -93
  83. package/dist/components/gx-ide-template.js +67 -14
  84. package/dist/components/gx-ide-top-bar.d.ts +11 -0
  85. package/dist/components/gx-ide-top-bar.js +6 -0
  86. package/dist/components/gxg-breadcrumb.js +0 -1
  87. package/dist/components/gxg-container.js +251 -1
  88. package/dist/components/gxg-date-picker.js +1 -1
  89. package/dist/components/gxg-drop-down.js +1 -1
  90. package/dist/components/gxg-form-checkbox-group.js +6 -0
  91. package/dist/components/gxg-form-checkbox-group2.js +109 -0
  92. package/dist/components/gxg-form-radio-group.js +1 -202
  93. package/dist/components/gxg-form-textarea.js +1 -1
  94. package/dist/components/gxg-grid.js +1 -44
  95. package/dist/components/gxg-grid2.js +46 -0
  96. package/dist/components/gxg-list-box.js +2 -2
  97. package/dist/components/gxg-menu-item.js +64 -15
  98. package/dist/components/gxg-menu-list.js +50 -0
  99. package/dist/components/gxg-menu.js +233 -14
  100. package/dist/components/gxg-option.js +1 -1
  101. package/dist/components/gxg-paginator.js +1 -1
  102. package/dist/components/gxg-select.js +1 -1
  103. package/dist/components/gxg-suggest.js +32 -4
  104. package/dist/components/gxg-test.js +110 -16
  105. package/dist/components/gxg-text.js +27 -12
  106. package/dist/components/gxg-tree-item2.js +31 -43
  107. package/dist/components/gxg-tree2.js +0 -4
  108. package/dist/components/index.d.ts +3 -0
  109. package/dist/components/index.js +5 -0
  110. package/dist/{esm/repositionScroll-9d3ee138.js → components/reposition-scroll.js} +2 -13
  111. package/dist/components/tab-button.js +1 -1
  112. package/dist/components/tab.js +17 -2
  113. package/dist/components/title.js +13 -8
  114. package/dist/components/top-bar.js +74 -0
  115. package/dist/components/types.js +10 -0
  116. package/dist/esm/ch-grid-action-refresh_6.entry.js +350 -0
  117. package/dist/esm/ch-grid-rowset-legend_2.entry.js +46 -0
  118. package/dist/esm/{ch-grid_9.entry.js → ch-grid_7.entry.js} +125 -325
  119. package/dist/esm/ch-suggest-list-item.entry.js +11 -16
  120. package/dist/esm/ch-suggest-list.entry.js +10 -10
  121. package/dist/esm/ch-suggest.entry.js +51 -47
  122. package/dist/esm/form-validation-a6686ca1.js +64 -0
  123. package/dist/esm/genexus-ide-ui.js +1 -1
  124. package/dist/esm/{gxg-combo-box_8.entry.js → gx-ide-container_10.entry.js} +325 -224
  125. package/dist/esm/gx-ide-entity-selector.entry.js +1 -1
  126. package/dist/esm/gx-ide-new-environment.entry.js +114 -0
  127. package/dist/esm/gx-ide-new-kb.entry.js +36 -87
  128. package/dist/esm/gx-ide-template.entry.js +11 -12
  129. package/dist/esm/gxg-breadcrumb.entry.js +0 -1
  130. package/dist/esm/gxg-button-group.entry.js +1 -1
  131. package/dist/esm/gxg-button.entry.js +2 -2
  132. package/dist/esm/gxg-container.entry.js +211 -0
  133. package/dist/esm/gxg-date-picker.entry.js +1 -1
  134. package/dist/esm/gxg-drop-down.entry.js +1 -1
  135. package/dist/esm/gxg-form-checkbox.entry.js +4 -2
  136. package/dist/esm/gxg-form-radio-group.entry.js +77 -37
  137. package/dist/esm/gxg-form-text.entry.js +17 -5
  138. package/dist/esm/gxg-form-textarea.entry.js +1 -1
  139. package/dist/esm/gxg-list-box.entry.js +3 -2
  140. package/dist/esm/gxg-menu-item.entry.js +60 -13
  141. package/dist/esm/gxg-menu-list.entry.js +24 -0
  142. package/dist/esm/gxg-menu.entry.js +228 -12
  143. package/dist/esm/gxg-option.entry.js +1 -1
  144. package/dist/esm/gxg-paginator.entry.js +1 -1
  145. package/dist/esm/gxg-select.entry.js +1 -1
  146. package/dist/esm/gxg-suggest.entry.js +26 -3
  147. package/dist/esm/gxg-test.entry.js +36 -10
  148. package/dist/esm/gxg-text.entry.js +23 -11
  149. package/dist/esm/gxg-title.entry.js +11 -7
  150. package/dist/esm/gxg-tree-item.entry.js +30 -43
  151. package/dist/esm/gxg-tree.entry.js +0 -4
  152. package/dist/esm/loader.js +1 -1
  153. package/dist/{components/repositionScroll.js → esm/reposition-scroll-3478b46f.js} +2 -13
  154. package/dist/esm/types-02481dff.js +10 -0
  155. package/dist/genexus-ide-ui/genexus-ide-ui.css +2 -2
  156. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  157. package/dist/genexus-ide-ui/gx-ide-assets/new-environment/langs/new-environment.lang.en.json +26 -0
  158. package/dist/genexus-ide-ui/gx-ide-assets/new-environment/langs/new-environment.lang.ja.json +3 -0
  159. package/dist/genexus-ide-ui/gx-ide-assets/new-environment/langs/new-environment.lang.zh.json +3 -0
  160. package/dist/genexus-ide-ui/gx-ide-assets/new-kb/langs/new-kb.lang.en.json +1 -0
  161. package/dist/genexus-ide-ui/gx-ide-assets/template/langs/template.lang.en.json +1 -1
  162. package/dist/genexus-ide-ui/{p-7e7af90d.entry.js → p-01e9d3aa.entry.js} +1 -1
  163. package/dist/genexus-ide-ui/p-05ad8cad.js +1 -0
  164. package/dist/genexus-ide-ui/p-0a8bd33f.entry.js +1 -0
  165. package/dist/genexus-ide-ui/p-0a954e0f.entry.js +1 -0
  166. package/dist/genexus-ide-ui/{p-9292edf8.entry.js → p-18936375.entry.js} +1 -1
  167. package/dist/genexus-ide-ui/p-203ea363.entry.js +1 -0
  168. package/dist/genexus-ide-ui/p-20a45778.entry.js +1 -0
  169. package/dist/genexus-ide-ui/{p-fed1d2ba.entry.js → p-23d4b295.entry.js} +1 -1
  170. package/dist/genexus-ide-ui/p-408bdfc6.entry.js +1 -0
  171. package/dist/genexus-ide-ui/p-4198315e.entry.js +1 -0
  172. package/dist/genexus-ide-ui/{p-944e787a.entry.js → p-41e8442b.entry.js} +1 -1
  173. package/dist/genexus-ide-ui/p-4d572963.entry.js +1 -0
  174. package/dist/genexus-ide-ui/p-4e78d56d.entry.js +1 -0
  175. package/dist/genexus-ide-ui/p-5463844e.entry.js +1 -0
  176. package/dist/genexus-ide-ui/p-6a84b339.js +1 -0
  177. package/dist/genexus-ide-ui/p-6bee904e.entry.js +1 -0
  178. package/dist/genexus-ide-ui/{p-1cedf0b2.entry.js → p-7137b4cf.entry.js} +1 -1
  179. package/dist/genexus-ide-ui/p-75961324.entry.js +1 -0
  180. package/dist/genexus-ide-ui/p-7a5e0988.entry.js +1 -0
  181. package/dist/genexus-ide-ui/p-7c2068c2.entry.js +1 -0
  182. package/dist/genexus-ide-ui/{p-c0360787.entry.js → p-7fa78be9.entry.js} +1 -1
  183. package/dist/genexus-ide-ui/p-89d0ef14.entry.js +1 -0
  184. package/dist/genexus-ide-ui/p-925cb9fe.js +1 -0
  185. package/dist/genexus-ide-ui/p-9e32e006.entry.js +1 -0
  186. package/dist/genexus-ide-ui/{p-8eb472e6.entry.js → p-a985b448.entry.js} +1 -1
  187. package/dist/genexus-ide-ui/p-ad9fe469.entry.js +1 -0
  188. package/dist/genexus-ide-ui/p-ae1871e4.entry.js +1 -0
  189. package/dist/genexus-ide-ui/{p-8ae0846e.entry.js → p-af0ac52d.entry.js} +1 -1
  190. package/dist/genexus-ide-ui/p-b3727324.entry.js +1 -0
  191. package/dist/genexus-ide-ui/p-b4e4fc69.entry.js +1 -0
  192. package/dist/genexus-ide-ui/p-c670dcba.entry.js +1 -0
  193. package/dist/genexus-ide-ui/p-e377e5be.entry.js +1 -0
  194. package/dist/genexus-ide-ui/p-eb8e9655.entry.js +1 -0
  195. package/dist/genexus-ide-ui/p-ecedca13.entry.js +1 -0
  196. package/dist/genexus-ide-ui/p-f5aa333b.entry.js +1 -0
  197. package/dist/genexus-ide-ui/{p-01795e05.entry.js → p-f6536bbc.entry.js} +1 -1
  198. package/dist/genexus-ide-ui/{p-f739d5dc.entry.js → p-ff877c22.entry.js} +1 -1
  199. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/suggest/ch-suggest.css +28 -6
  200. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/suggest/suggest-list/ch-suggest-list.css +6 -0
  201. package/dist/node_modules/@genexus/chameleon-controls-library/dist/collection/components/suggest/suggest-list-item/ch-suggest-list-item.css +13 -0
  202. package/dist/node_modules/@genexus/gemini/dist/collection/components/button/button.css +1 -1
  203. package/dist/node_modules/@genexus/gemini/dist/collection/components/date-picker/date-picker.css +1 -1
  204. package/dist/node_modules/@genexus/gemini/dist/collection/components/drop-down/drop-down.css +1 -1
  205. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-checkbox/form-checkbox.css +14 -1
  206. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-checkbox-group/gxg-form-checkbox-group.css +336 -0
  207. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-option/option.css +1 -1
  208. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-radio/form-radio.css +2 -2
  209. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-radio-group/form-radio-group.css +2 -2
  210. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-select/select.css +1 -1
  211. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-text/form-text.css +1 -1
  212. package/dist/node_modules/@genexus/gemini/dist/collection/components/form-textarea/form-textarea.css +1 -1
  213. package/dist/node_modules/@genexus/gemini/dist/collection/components/grid/gxg-grid.css +344 -10
  214. package/dist/node_modules/@genexus/gemini/dist/collection/components/list-box/list-box.css +1 -1
  215. package/dist/node_modules/@genexus/gemini/dist/collection/components/menu/menu.css +31 -23
  216. package/dist/node_modules/@genexus/gemini/dist/collection/components/menu-item/menu-item.css +35 -11
  217. package/dist/node_modules/@genexus/gemini/dist/collection/components/menu-list/menu-list.css +340 -0
  218. package/dist/node_modules/@genexus/gemini/dist/collection/components/paginator/gxg-paginator.css +1 -1
  219. package/dist/node_modules/@genexus/gemini/dist/collection/components/suggest/styles.css +617 -0
  220. package/dist/node_modules/@genexus/gemini/dist/collection/components/tab/tab.css +10 -0
  221. package/dist/node_modules/@genexus/gemini/dist/collection/components/tab-button/tab-button.css +1 -1
  222. package/dist/node_modules/@genexus/gemini/dist/collection/components/text/text.css +35 -9
  223. package/dist/node_modules/@genexus/gemini/dist/collection/components/title/title.css +27 -0
  224. package/dist/node_modules/@genexus/gemini/dist/collection/components/tree-item/gxg-tree-item.css +1 -1
  225. package/dist/types/common/common.d.ts +4 -4
  226. package/dist/types/common/form-validation.d.ts +2 -0
  227. package/dist/types/common/interfaces.d.ts +0 -3
  228. package/dist/types/common/types.d.ts +10 -18
  229. package/dist/types/components/_template/template.d.ts +5 -5
  230. package/dist/types/components/container/container.d.ts +117 -0
  231. package/dist/types/components/new-environment/new-environment.d.ts +91 -0
  232. package/dist/types/components/new-kb/new-kb.d.ts +43 -38
  233. package/dist/types/components/top-bar/top-bar.d.ts +14 -0
  234. package/dist/types/components.d.ts +345 -35
  235. package/package.json +5 -2
  236. package/dist/cjs/ch-grid-column-resize_2.cjs.entry.js +0 -94
  237. package/dist/cjs/ch-grid-rowset-legend.cjs.entry.js +0 -23
  238. package/dist/cjs/ch-grid-settings_2.cjs.entry.js +0 -62
  239. package/dist/cjs/gxg-grid.cjs.entry.js +0 -34
  240. package/dist/cjs/helpers-00cb4402.js +0 -12
  241. package/dist/esm/ch-grid-column-resize_2.entry.js +0 -89
  242. package/dist/esm/ch-grid-rowset-legend.entry.js +0 -19
  243. package/dist/esm/ch-grid-settings_2.entry.js +0 -57
  244. package/dist/esm/gxg-grid.entry.js +0 -30
  245. package/dist/esm/helpers-78ca0d8a.js +0 -10
  246. package/dist/genexus-ide-ui/p-161b5c92.entry.js +0 -1
  247. package/dist/genexus-ide-ui/p-18c86754.entry.js +0 -1
  248. package/dist/genexus-ide-ui/p-215a6957.entry.js +0 -1
  249. package/dist/genexus-ide-ui/p-26000a72.entry.js +0 -1
  250. package/dist/genexus-ide-ui/p-26b1d9c2.entry.js +0 -1
  251. package/dist/genexus-ide-ui/p-3182ba74.entry.js +0 -1
  252. package/dist/genexus-ide-ui/p-3c6099ff.entry.js +0 -1
  253. package/dist/genexus-ide-ui/p-421bd2fb.entry.js +0 -1
  254. package/dist/genexus-ide-ui/p-783b8e55.entry.js +0 -1
  255. package/dist/genexus-ide-ui/p-7b79281c.entry.js +0 -1
  256. package/dist/genexus-ide-ui/p-7dead490.entry.js +0 -1
  257. package/dist/genexus-ide-ui/p-847aca21.entry.js +0 -1
  258. package/dist/genexus-ide-ui/p-84a47196.entry.js +0 -1
  259. package/dist/genexus-ide-ui/p-8f89e354.entry.js +0 -1
  260. package/dist/genexus-ide-ui/p-a04ce551.entry.js +0 -1
  261. package/dist/genexus-ide-ui/p-ad1b71a0.js +0 -1
  262. package/dist/genexus-ide-ui/p-b31a9621.entry.js +0 -1
  263. package/dist/genexus-ide-ui/p-b7a03c38.js +0 -1
  264. package/dist/genexus-ide-ui/p-b7c204b2.entry.js +0 -1
  265. package/dist/genexus-ide-ui/p-c3c9f7a2.entry.js +0 -1
  266. package/dist/genexus-ide-ui/p-c714cf27.entry.js +0 -1
  267. package/dist/genexus-ide-ui/p-da94ba10.entry.js +0 -1
  268. package/dist/genexus-ide-ui/p-de120e4b.entry.js +0 -1
  269. package/dist/genexus-ide-ui/p-e82e2182.entry.js +0 -1
  270. package/dist/genexus-ide-ui/p-e9d84bbe.entry.js +0 -1
@@ -1,10 +1,12 @@
1
- /*********************
2
- HELPER CLASSES
3
- *********************/
1
+ /* Helper Classes */
4
2
  .gxi-hidden {
5
3
  display: none !important;
6
4
  }
7
5
 
6
+ .gxi-full-height {
7
+ height: 100%;
8
+ }
9
+
8
10
  .align-start {
9
11
  display: flex;
10
12
  align-items: start;
@@ -20,9 +22,7 @@ HELPER CLASSES
20
22
  align-items: end;
21
23
  }
22
24
 
23
- /*********************
24
- GRIDS
25
- *********************/
25
+ /* Grids */
26
26
  .grid {
27
27
  display: grid;
28
28
  grid-row-gap: var(--gx-ide-grid-row-gap);
@@ -30,6 +30,90 @@ GRIDS
30
30
  grid-template-rows: auto;
31
31
  }
32
32
 
33
+ /*All components Host should have this class set. !important is set on every rule, since this styles could be overridden by the host user, since they are applied on the host component*/
34
+ :host(.gx-ide-component) {
35
+ box-shadow: var(--box-shadow-01) !important;
36
+ height: 100% !important;
37
+ display: flex !important;
38
+ flex-direction: column !important;
39
+ }
40
+
41
+ /*stylize the top bar*/
42
+ :host(:focus-within) gx-ide-top-bar::part(wrapper) {
43
+ background-color: var(--color-secondary-enabled);
44
+ }
45
+
46
+ /* Main wrapper (should be the first element inside the host. Everything should be inside .gx-ide-main-wrapper) */
47
+ .gx-ide-main-wrapper {
48
+ color: var(--gx-ide-component-text-color);
49
+ font-weight: var(--font-weight-regular);
50
+ font-size: var(--font-size-lg);
51
+ line-height: 1.6em;
52
+ height: 100%;
53
+ background-color: var(--gx-ide-component-background-color);
54
+ display: flex;
55
+ flex-direction: column;
56
+ flex-grow: 1;
57
+ }
58
+
59
+ /*This is the main element. This is the one that take the remaining vertical space*/
60
+ .gx-ide-main {
61
+ flex-grow: 1;
62
+ overflow-y: auto;
63
+ /* Track */
64
+ /* Handle */
65
+ /* Handle on hover */
66
+ }
67
+ .gx-ide-main::-webkit-scrollbar {
68
+ width: 6px;
69
+ height: 6px;
70
+ }
71
+ .gx-ide-main::-webkit-scrollbar-track {
72
+ background-color: var(--gray-02);
73
+ border-radius: 10px;
74
+ }
75
+ .gx-ide-main::-webkit-scrollbar-thumb {
76
+ background: var(--gray-05);
77
+ border-radius: 10px;
78
+ }
79
+ .gx-ide-main::-webkit-scrollbar-thumb:hover {
80
+ background: var(--gray-04);
81
+ cursor: pointer;
82
+ }
83
+ .gx-ide-main .gxg-scroll {
84
+ display: block;
85
+ overflow-y: auto;
86
+ padding-right: 2px;
87
+ }
88
+
89
+ .gx-ide-overflow {
90
+ overflow-y: auto;
91
+ /* Track */
92
+ /* Handle */
93
+ /* Handle on hover */
94
+ }
95
+ .gx-ide-overflow::-webkit-scrollbar {
96
+ width: 6px;
97
+ height: 6px;
98
+ }
99
+ .gx-ide-overflow::-webkit-scrollbar-track {
100
+ background-color: var(--gray-02);
101
+ border-radius: 10px;
102
+ }
103
+ .gx-ide-overflow::-webkit-scrollbar-thumb {
104
+ background: var(--gray-05);
105
+ border-radius: 10px;
106
+ }
107
+ .gx-ide-overflow::-webkit-scrollbar-thumb:hover {
108
+ background: var(--gray-04);
109
+ cursor: pointer;
110
+ }
111
+ .gx-ide-overflow .gxg-scroll {
112
+ display: block;
113
+ overflow-y: auto;
114
+ padding-right: 2px;
115
+ }
116
+
33
117
  :host {
34
118
  display: block;
35
119
  border: 1px solid var(--gxg-border-color--regular);
@@ -74,14 +158,22 @@ GRIDS
74
158
  grid-template-columns: repeat(2, 1fr);
75
159
  grid-column-gap: 0;
76
160
  grid-row-gap: 0;
161
+ flex-grow: 1;
162
+ }
163
+ .basic-row-second > *:first-child {
164
+ border-right: 1px solid var(--gx-ide-container-border-color);
77
165
  }
78
166
 
79
167
  /*Advanced*/
80
168
  .knowledge-base-storage {
81
169
  grid-template-areas: "knowledge-base-storage__col-left knowledge-base-storage__col-right";
82
170
  grid-template-columns: repeat(2, 1fr);
171
+ flex-grow: 1;
83
172
  gap: 0;
84
173
  }
174
+ .knowledge-base-storage > *:first-child {
175
+ border-right: 1px solid var(--gx-ide-container-border-color);
176
+ }
85
177
  .knowledge-base-storage__col-left {
86
178
  grid-area: knowledge-base-storage__col-left;
87
179
  grid-template-columns: 1fr auto;
@@ -92,7 +184,7 @@ GRIDS
92
184
  }
93
185
  .knowledge-base-storage__col-left .server-name-button {
94
186
  grid-area: server-name-button;
95
- align-self: last baseline;
187
+ align-self: center;
96
188
  }
97
189
  .knowledge-base-storage__col-left .database-name {
98
190
  grid-area: database-name;
@@ -102,7 +194,7 @@ GRIDS
102
194
  }
103
195
  .knowledge-base-storage__col-left .collation-button {
104
196
  grid-area: collation-button;
105
- align-self: last baseline;
197
+ align-self: center;
106
198
  }
107
199
  .knowledge-base-storage__col-left .create-data-in-kb {
108
200
  grid-area: create-data-in-kb;
@@ -1,7 +1,9 @@
1
1
  /* STENCIL IMPORTS */
2
2
  import { Host, h } from "@stencil/core";
3
+ /* CUSTOM IMPORTS */
3
4
  import { Locale } from "../../common/locale";
4
- import { renderFormItems, getSelectedGxgOption } from "../../common/common";
5
+ import { renderFormItems, getSelectedGxOption } from "../../common/common";
6
+ import { formSubmitValidation } from "../../common/form-validation";
5
7
  export class GxIdeNewKb {
6
8
  constructor() {
7
9
  /**
@@ -16,13 +18,16 @@ export class GxIdeNewKb {
16
18
  collations: null,
17
19
  authenticationTypes: null
18
20
  };
21
+ // 7.LISTENERS //
22
+ // 8.PUBLIC METHODS API //
23
+ // 9.LOCAL METHODS //
19
24
  /**
20
25
  * Set the initial/selected option for multi-option components
21
26
  */
22
27
  this.setInitialValues = () => {
23
28
  if (this._initialComboValue) {
24
29
  Object.keys(this._initialComboValue).forEach(property => {
25
- const selectedOption = getSelectedGxgOption(this[property]);
30
+ const selectedOption = getSelectedGxOption(this[property]);
26
31
  const value = (selectedOption === null || selectedOption === void 0 ? void 0 : selectedOption.selected)
27
32
  ? selectedOption.id
28
33
  : null;
@@ -32,9 +37,6 @@ export class GxIdeNewKb {
32
37
  });
33
38
  }
34
39
  };
35
- // 7.LISTENERS //
36
- // 8.PUBLIC METHODS API //
37
- // 9.LOCAL METHODS //
38
40
  /**
39
41
  * @description If Server Name first option is selected, "Create Data in Knowledge Base Folder" should be disabled
40
42
  */
@@ -88,28 +90,19 @@ export class GxIdeNewKb {
88
90
  }
89
91
  });
90
92
  };
91
- this.getFrontEndsOptionsValues = () => {
92
- this.frontEndsOptionsArray = [];
93
- const frontEndsOptions = this.frontEndsBoxEl.querySelectorAll("gxg-form-checkbox");
94
- frontEndsOptions === null || frontEndsOptions === void 0 ? void 0 : frontEndsOptions.forEach(frontEndsOption => {
95
- this.frontEndsOptionsArray.push({
96
- id: frontEndsOption.id,
97
- checked: frontEndsOption.checked
93
+ this.getFrontEndOptionsValues = () => {
94
+ const gxOptions = [];
95
+ const frontEndValues = this.frontEndsEl.getValues();
96
+ frontEndValues.then(result => {
97
+ result.forEach(checkbox => {
98
+ gxOptions.push({
99
+ id: checkbox.id,
100
+ checked: checkbox.value,
101
+ disabled: checkbox.disabled
102
+ });
98
103
  });
99
104
  });
100
- return this.frontEndsOptionsArray;
101
- };
102
- this.validation = (result) => {
103
- result.forEach(item => {
104
- const key = Object.entries(item)[0];
105
- const reference = this[`${Object.keys(item)[0]}El`];
106
- const status = key[1].status;
107
- const message = key[1].message;
108
- if (reference && status && message) {
109
- reference.validationStatus = status;
110
- reference.validationMessage = message;
111
- }
112
- });
105
+ return gxOptions;
113
106
  };
114
107
  this.createKbHandler = () => {
115
108
  var _a, _b, _c;
@@ -121,7 +114,7 @@ export class GxIdeNewKb {
121
114
  userInterfaceLanguage: this.userInterfaceLanguageEl.value,
122
115
  prototypingEnvironment: this.prototypingEnvironmentEl.value,
123
116
  dataSource: this.dataSourceEl.value,
124
- frontEnds: this.getFrontEndsOptionsValues(),
117
+ frontEnds: this.getFrontEndOptionsValues(),
125
118
  serverName: this.serverNameEl.value,
126
119
  databaseName: this.databaseNameEl.value,
127
120
  collation: this.collationEl.value,
@@ -131,8 +124,8 @@ export class GxIdeNewKb {
131
124
  password: (_b = this.passwordEl) === null || _b === void 0 ? void 0 : _b.value,
132
125
  savePassword: (_c = this.savePasswordEl) === null || _c === void 0 ? void 0 : _c.checked
133
126
  });
134
- createCallbackPromise.then(result => {
135
- this.validation(result);
127
+ createCallbackPromise.then(formSubmitResult => {
128
+ formSubmitValidation(formSubmitResult, this);
136
129
  });
137
130
  }
138
131
  };
@@ -144,17 +137,22 @@ export class GxIdeNewKb {
144
137
  // 10.RENDER() FUNCTION //
145
138
  this.renderTabBasic = () => {
146
139
  var _a, _b, _c, _d;
147
- return (h("gxg-tab", { tab: "basic", "no-padding": true }, h("gxg-container", { displayBorderTop: true, displayBorderBottom: true }, h("div", { class: "grid basic-row-first" }, h("gxg-combo-box", { disabled: !this.isAdvanced, disableFilter: true, label: this._componentLocale.tabBasic.prototypingTarget, value: (_a = this._initialComboValue["prototypingTargets"]) !== null && _a !== void 0 ? _a : this.prototypingTargets[0].id, ref: (el) => (this.prototypingTargetEl = el), class: "prototyping-target", part: "prototyping-target" }, renderFormItems("gxg-combo-box-item", this.prototypingTargets, "prototyping-target")), h("gxg-combo-box", { disableFilter: true, label: this._componentLocale.tabBasic.userInterfaceLanguage, value: (_b = this._initialComboValue["userInterfaceLanguages"]) !== null && _b !== void 0 ? _b : this.userInterfaceLanguages[0].id, ref: (el) => (this.userInterfaceLanguageEl = el), class: "user-interface-language", part: "user-interface-language" }, renderFormItems("gxg-combo-box-item", this.userInterfaceLanguages, "user-interface-language")))), h("div", { class: "grid basic-row-second" }, h("gxg-container", { fieldset: true, displayBorderEnd: true, noHeadingBorder: true, containerTitle: this._componentLocale.tabBasic.backEnd.backEndLabel }, h("gxg-combo-box", { disableFilter: true, label: this._componentLocale.tabBasic.backEnd.prototypingEnvironment, value: (_c = this._initialComboValue["prototypingEnvironments"]) !== null && _c !== void 0 ? _c : this.prototypingEnvironments[0].id, ref: (el) => (this.prototypingEnvironmentEl = el), class: "prototyping-environment", part: "prototyping-environment" }, renderFormItems("gxg-combo-box-item", this.prototypingEnvironments, "prototyping-environment")), h("gxg-combo-box", { label: this._componentLocale.tabBasic.backEnd.dataSource, disableFilter: true, value: (_d = this._initialComboValue["dataSources"]) !== null && _d !== void 0 ? _d : this.dataSources[0].id, ref: (el) => (this.dataSourceEl = el), class: "data-source", part: "data-source" }, renderFormItems("gxg-combo-box-item", this.dataSources, "data-source"))), h("gxg-container", { fieldset: true, noHeadingBorder: true, containerTitle: this._componentLocale.tabBasic.frontEnd.frontEndLabel, ref: el => (this.frontEndsBoxEl = el) }, renderFormItems("gxg-form-checkbox", this.frontEnds, "front-end")))));
140
+ return (h("gxg-tab", { tab: "basic", "no-padding": true, flexContainer: true }, h("gx-ide-container", { displayBorderTop: true, displayBorderBottom: true }, h("div", { class: "grid basic-row-first" }, h("gxg-combo-box", { disabled: !this.isAdvanced, disableFilter: true, label: this._componentLocale.tabBasic.prototypingTarget, value: (_a = this._initialComboValue["prototypingTargets"]) !== null && _a !== void 0 ? _a : this.prototypingTargets[0].id, ref: (el) => (this.prototypingTargetEl = el), class: "prototyping-target", part: "prototyping-target" }, renderFormItems("gxg-combo-box-item", this.prototypingTargets, "prototyping-target")), h("gxg-combo-box", { disableFilter: true, label: this._componentLocale.tabBasic.userInterfaceLanguage, value: (_b = this._initialComboValue["userInterfaceLanguages"]) !== null && _b !== void 0 ? _b : this.userInterfaceLanguages[0].id, ref: (el) => (this.userInterfaceLanguageEl = el), class: "user-interface-language", part: "user-interface-language" }, renderFormItems("gxg-combo-box-item", this.userInterfaceLanguages, "user-interface-language")))), h("div", { class: "grid basic-row-second" }, h("gx-ide-container", { fieldset: true, noHeadingBorder: true, containerTitle: this._componentLocale.tabBasic.backEnd.backEndLabel }, h("gxg-combo-box", { disableFilter: true, label: this._componentLocale.tabBasic.backEnd.prototypingEnvironment, value: (_c = this._initialComboValue["prototypingEnvironments"]) !== null && _c !== void 0 ? _c : this.prototypingEnvironments[0].id, ref: (el) => (this.prototypingEnvironmentEl = el), class: "prototyping-environment", part: "prototyping-environment" }, renderFormItems("gxg-combo-box-item", this.prototypingEnvironments, "prototyping-environment")), h("gxg-combo-box", { label: this._componentLocale.tabBasic.backEnd.dataSource, disableFilter: true, value: (_d = this._initialComboValue["dataSources"]) !== null && _d !== void 0 ? _d : this.dataSources[0].id, ref: (el) => (this.dataSourceEl = el), class: "data-source", part: "data-source" }, renderFormItems("gxg-combo-box-item", this.dataSources, "data-source"))), h("gx-ide-container", { fieldset: true, noHeadingBorder: true, containerTitle: this._componentLocale.tabBasic.frontEnd.frontEndLabel }, h("gxg-form-checkbox-group", { ref: el => (this.frontEndsEl = el) }, renderFormItems("gxg-form-checkbox", this.frontEnds, "front-end"))))));
148
141
  };
149
142
  this.renderTabAdvanced = () => {
150
143
  var _a, _b, _c;
151
- return (h("gxg-tab", { tab: "advanced", "no-padding": true }, h("gxg-container", { displayBorderTop: true, displayBorderBottom: true, containerTitle: this._componentLocale.tabAdvanced.tabTitle }), h("div", { class: "grid knowledge-base-storage" }, h("gxg-container", { fieldset: true, displayBorderEnd: true }, h("div", { class: "grid knowledge-base-storage__col-left" }, h("gxg-combo-box", { label: this._componentLocale.tabAdvanced.serverName, disableFilter: true, value: (_a = this._initialComboValue["serverNames"]) !== null && _a !== void 0 ? _a : this.serverNames[0].id, ref: (el) => (this.serverNameEl = el), class: "server-name-combo-box", part: "server-name", onValueChanged: this.evaluateCreateDataInKbDisabled }, renderFormItems("gxg-combo-box-item", this.serverNames, "server-name")), h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/search", class: "server-name-button", part: "search-server-name" }), h("gxg-form-text", { labelPosition: "above", label: this._componentLocale.tabAdvanced.databaseName, placeholder: "MyDatabase", ref: (el) => (this.databaseNameEl = el), value: this.databaseName, class: "database-name", part: "database-name" }), h("gxg-combo-box", { label: this._componentLocale.tabAdvanced.collation, disableFilter: true, value: (_b = this._initialComboValue["collations"]) !== null && _b !== void 0 ? _b : this.collations[0].id, ref: (el) => (this.collationEl = el), class: "collation-combo-box", part: "collation" }, renderFormItems("gxg-combo-box-item", this.collations, "collation")), h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/reset", class: "collation-button", part: "reset-collation" }), h("gxg-form-checkbox", { label: this._componentLocale.tabAdvanced.createDataFilesInKbFolder, ref: (el) => (this.createDataFilesInKBFolderEl =
152
- el), alignTop: true, checked: this.createDataFilesInKBFolder, disabled: this.createDataInKbDisabled, class: "create-data-in-kb", part: "create-data-in-kb" }))), h("gxg-container", { fieldset: true, noHeadingBorder: true }, h("div", { class: {
144
+ return (h("gxg-tab", { tab: "advanced", "no-padding": true, flexContainer: true }, h("gx-ide-container", { displayBorderTop: true, displayBorderBottom: true, containerTitle: this._componentLocale.tabAdvanced.tabTitle }), h("div", { class: "grid knowledge-base-storage" }, h("gx-ide-container", { fieldset: true }, h("div", { class: "grid knowledge-base-storage__col-left" }, h("gxg-combo-box", { label: this._componentLocale.tabAdvanced.serverName, disableFilter: true, value: (_a = this._initialComboValue["serverNames"]) !== null && _a !== void 0 ? _a : this.serverNames[0].id, ref: (el) => (this.serverNameEl = el), class: "server-name-combo-box", part: "server-name", onValueChanged: this.evaluateCreateDataInKbDisabled }, renderFormItems("gxg-combo-box-item", this.serverNames, "server-name")), h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/search", class: "server-name-button", part: "search-server-name" }), h("gxg-form-text", { labelPosition: "above", label: this._componentLocale.tabAdvanced.databaseName, placeholder: "MyDatabase", ref: (el) => (this.databaseNameEl = el), value: this.databaseName, class: "database-name", part: "database-name" }), h("gxg-combo-box", { label: this._componentLocale.tabAdvanced.collation, disableFilter: true, value: (_b = this._initialComboValue["collations"]) !== null && _b !== void 0 ? _b : this.collations[0].id, ref: (el) => (this.collationEl = el), class: "collation-combo-box", part: "collation" }, renderFormItems("gxg-combo-box-item", this.collations, "collation")), h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/reset", class: "collation-button", part: "reset-collation" }), h("gxg-form-checkbox", { label: this._componentLocale.tabAdvanced.createDataFilesInKbFolder, ref: (el) => (this.createDataFilesInKBFolderEl =
145
+ el), alignTop: true, checked: this.createDataFilesInKBFolder, disabled: this.createDataInKbDisabled, class: "create-data-in-kb", part: "create-data-in-kb" }))), h("gx-ide-container", { fieldset: true, noHeadingBorder: true }, h("div", { class: {
153
146
  "grid": true,
154
147
  "knowledge-base-storage__col-right": true,
155
148
  "knowledge-base-storage__col-right--windows-authentication": !this.userNameVisible
156
149
  } }, h("gxg-combo-box", { label: this._componentLocale.tabAdvanced.authenticationType, disableFilter: true, value: (_c = this._initialComboValue["authenticationTypes"]) !== null && _c !== void 0 ? _c : this.authenticationTypes[0].id, ref: (el) => (this.authenticationTypeEl = el), class: "authentication-type", part: "authentication-type", onValueChanged: this.evaluateAuthenticationType }, renderFormItems("gxg-combo-box-item", this.authenticationTypes, "authentication-type")), this.userNameVisible ? (h("gxg-form-text", { labelPosition: "above", label: this._componentLocale.tabAdvanced.userName, ref: (el) => (this.userNameEl = el), value: this.userName, class: "user-name", part: "user-name" })) : null, this.passwordVisible ? (h("gxg-form-text", { labelPosition: "above", label: this._componentLocale.tabAdvanced.password, password: true, ref: (el) => (this.passwordEl = el), value: this.password, class: "password", part: "password" })) : null, this.savePasswordVisible ? (h("gxg-form-checkbox", { label: this._componentLocale.tabAdvanced.savePassword, ref: (el) => (this.savePasswordEl = el), checked: this.savePassword, class: "save-password", part: "save-password" })) : null)))));
157
150
  };
151
+ this.createDataInKbDisabled = false;
152
+ this.userNameVisible = true;
153
+ this.passwordVisible = true;
154
+ this.savePasswordVisible = true;
155
+ this.hideTopBar = false;
158
156
  this.dataSources = undefined;
159
157
  this.frontEnds = undefined;
160
158
  this.isAdvanced = false;
@@ -175,29 +173,24 @@ export class GxIdeNewKb {
175
173
  this.test = undefined;
176
174
  this.createCallback = undefined;
177
175
  this.cancelCallback = undefined;
178
- this.createDataInKbDisabled = false;
179
- this.userNameVisible = true;
180
- this.passwordVisible = true;
181
- this.savePasswordVisible = true;
182
176
  }
183
- // 6.METHODS //
177
+ // 6.COMPONENT LIFECYCLE METHODS //
184
178
  async componentWillLoad() {
185
179
  this._componentLocale = await Locale.getComponentStrings(this.el);
186
180
  this.setInitialValues();
187
181
  this.evaluateCreateDataInKbDisabled(null);
188
182
  this.evaluateAuthenticationType(null);
189
183
  }
190
- componentDidLoad() {
191
- this.kbNameEl.focus();
184
+ componentDidRender() {
185
+ this.componentDidRenderEvent.emit(this._componentLocale.componentName);
192
186
  }
193
187
  /** *****************************
194
188
  * 11.RENDER() FUNCTION
195
189
  ********************************/
196
190
  render() {
197
- return (h(Host, { class: { "gx-ide-component": true } }, h("div", { class: `main-wrapper` }, h("gxg-container", null, h("header", { class: "header grid" }, h("gxg-label", { labelPosition: "start", class: "kb-label" }, this._componentLocale.header.kbName), h("gxg-form-text", { labelPosition: "start", placeholder: "SalesInventory", "max-width": "100%", value: this.kbName, ref: (el) => (this.kbNameEl = el), part: "kb-name", class: "kb-input" }), h("gxg-label", { labelPosition: "start", class: "location-label" }, this._componentLocale.header.kbLocation), h("gxg-form-text", { labelPosition: "start", placeholder: "C:\\Models", maxWidth: "100%", value: this.kbLocation, ref: (el) => (this.locationEl = el), disabled: !this.isAdvanced, part: "kb-location", class: "location-input" }), h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/folder", onClick: this.selectLocationHandler, part: "button-select-location", class: "location-icon" }))), h("header", { class: {
198
- "header": true,
199
- "header--no-location-folder": !this.selectLocationCallback
200
- } }), h("main", { class: "main" }, h("gxg-tabs", { height: "100%", position: "top", class: "gxg-tabs" }, h("gxg-tab-bar", { slot: "tab-bar-container", part: "tab-bar" }, h("gxg-tab-button", { slot: "tab-bar", tabLabel: this._componentLocale.tabBasic.tabLabel, tab: "basic", "is-selected": true, part: "tab-button-basic" }), h("gxg-tab-button", { slot: "tab-bar", tabLabel: this._componentLocale.tabAdvanced.tabLabel, tab: "advanced", disabled: !this.isAdvanced, part: "tab-button-advanced" })), this.renderTabBasic(), this.renderTabAdvanced(), h("gxg-container", { displayBorderTop: true }, h("gxg-button", { id: "button-create", slot: "footer", type: "primary-text-only", onClick: this.createKbHandler, part: "button-create" }, this._componentLocale.footer.btnCreate), h("gxg-button", { id: "button-cancel", slot: "footer", type: "outlined", onClick: this.cancelKbHandler, part: "button-cancel" }, this._componentLocale.footer.btnCancel)))))));
191
+ return (h(Host, { class: "gx-ide-component" }, !this.hideTopBar ? (h("gx-ide-top-bar", { topBarTitle: this._componentLocale.componentName })) : null, h("div", { class: "gx-ide-main-wrapper gx-ide-overflow" }, h("gx-ide-container", null, h("header", { class: "header grid" }, h("gxg-label", { labelPosition: "start", class: "kb-label" }, this._componentLocale.header.kbName), h("gxg-form-text", { labelPosition: "start", placeholder: "SalesInventory", "max-width": "100%", value: this.kbName, ref: (el) => (this.kbNameEl = el), part: "kb-name", class: "kb-input" }), h("gxg-label", { labelPosition: "start", class: "location-label" }, this._componentLocale.header.kbLocation), h("gxg-form-text", { labelPosition: "start", placeholder: "C:\\Models", maxWidth: "100%", value: this.kbLocation, ref: (el) => (this.locationEl = el), disabled: !this.isAdvanced, part: "kb-location", class: "location-input" }), h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/folder", onClick: this.selectLocationHandler, part: "button-select-location", class: "location-icon" }))), h("main", { class: "gxi-full-height" }, h("gxg-tabs", { height: "100%", position: "top", class: "gxg-tabs" }, h("gxg-tab-bar", { slot: "tab-bar-container", part: "tab-bar" }, h("gxg-tab-button", { slot: "tab-bar", tabLabel: this._componentLocale.tabBasic.tabLabel, tab: "basic", "is-selected": true, part: "tab-button-basic" }), h("gxg-tab-button", { slot: "tab-bar", tabLabel: this._componentLocale.tabAdvanced.tabLabel, tab: "advanced",
192
+ // disabled={!this.isAdvanced}
193
+ part: "tab-button-advanced" })), this.renderTabBasic(), this.renderTabAdvanced())), h("gx-ide-container", { displayBorderTop: true }, h("gxg-button", { id: "button-create", type: "primary-text-only", onClick: this.createKbHandler, part: "button-create", slot: "footer-end" }, this._componentLocale.footer.btnCreate), h("gxg-button", { id: "button-cancel", type: "outlined", onClick: this.cancelKbHandler, part: "button-cancel", slot: "footer-end" }, this._componentLocale.footer.btnCancel)))));
201
194
  }
202
195
  static get is() { return "gx-ide-new-kb"; }
203
196
  static get encapsulation() { return "shadow"; }
@@ -214,14 +207,32 @@ export class GxIdeNewKb {
214
207
  static get assetsDirs() { return ["gx-ide-assets/new-kb"]; }
215
208
  static get properties() {
216
209
  return {
210
+ "hideTopBar": {
211
+ "type": "boolean",
212
+ "mutable": false,
213
+ "complexType": {
214
+ "original": "false",
215
+ "resolved": "boolean",
216
+ "references": {}
217
+ },
218
+ "required": false,
219
+ "optional": false,
220
+ "docs": {
221
+ "tags": [],
222
+ "text": "If true, will hide the top-bar"
223
+ },
224
+ "attribute": "hide-top-bar",
225
+ "reflect": false,
226
+ "defaultValue": "false"
227
+ },
217
228
  "dataSources": {
218
229
  "type": "unknown",
219
230
  "mutable": false,
220
231
  "complexType": {
221
- "original": "GxgOption[]",
222
- "resolved": "GxgOption[]",
232
+ "original": "GxOption[]",
233
+ "resolved": "GxOption[]",
223
234
  "references": {
224
- "GxgOption": {
235
+ "GxOption": {
225
236
  "location": "import",
226
237
  "path": "../../common/types"
227
238
  }
@@ -238,10 +249,10 @@ export class GxIdeNewKb {
238
249
  "type": "unknown",
239
250
  "mutable": false,
240
251
  "complexType": {
241
- "original": "GxgOption[]",
242
- "resolved": "GxgOption[]",
252
+ "original": "GxOption[]",
253
+ "resolved": "GxOption[]",
243
254
  "references": {
244
- "GxgOption": {
255
+ "GxOption": {
245
256
  "location": "import",
246
257
  "path": "../../common/types"
247
258
  }
@@ -293,11 +304,11 @@ export class GxIdeNewKb {
293
304
  "type": "unknown",
294
305
  "mutable": false,
295
306
  "complexType": {
296
- "original": "() => Promise<string>",
307
+ "original": "SelectLocationCallback",
297
308
  "resolved": "() => Promise<string>",
298
309
  "references": {
299
- "Promise": {
300
- "location": "global"
310
+ "SelectLocationCallback": {
311
+ "location": "local"
301
312
  }
302
313
  }
303
314
  },
@@ -329,10 +340,10 @@ export class GxIdeNewKb {
329
340
  "type": "unknown",
330
341
  "mutable": false,
331
342
  "complexType": {
332
- "original": "GxgOption[]",
333
- "resolved": "GxgOption[]",
343
+ "original": "GxOption[]",
344
+ "resolved": "GxOption[]",
334
345
  "references": {
335
- "GxgOption": {
346
+ "GxOption": {
336
347
  "location": "import",
337
348
  "path": "../../common/types"
338
349
  }
@@ -349,10 +360,10 @@ export class GxIdeNewKb {
349
360
  "type": "unknown",
350
361
  "mutable": false,
351
362
  "complexType": {
352
- "original": "GxgOption[]",
353
- "resolved": "GxgOption[]",
363
+ "original": "GxOption[]",
364
+ "resolved": "GxOption[]",
354
365
  "references": {
355
- "GxgOption": {
366
+ "GxOption": {
356
367
  "location": "import",
357
368
  "path": "../../common/types"
358
369
  }
@@ -369,10 +380,10 @@ export class GxIdeNewKb {
369
380
  "type": "unknown",
370
381
  "mutable": false,
371
382
  "complexType": {
372
- "original": "GxgOption[]",
373
- "resolved": "GxgOption[]",
383
+ "original": "GxOption[]",
384
+ "resolved": "GxOption[]",
374
385
  "references": {
375
- "GxgOption": {
386
+ "GxOption": {
376
387
  "location": "import",
377
388
  "path": "../../common/types"
378
389
  }
@@ -389,10 +400,10 @@ export class GxIdeNewKb {
389
400
  "type": "unknown",
390
401
  "mutable": false,
391
402
  "complexType": {
392
- "original": "GxgOption[]",
393
- "resolved": "GxgOption[]",
403
+ "original": "GxOption[]",
404
+ "resolved": "GxOption[]",
394
405
  "references": {
395
- "GxgOption": {
406
+ "GxOption": {
396
407
  "location": "import",
397
408
  "path": "../../common/types"
398
409
  }
@@ -409,10 +420,10 @@ export class GxIdeNewKb {
409
420
  "type": "unknown",
410
421
  "mutable": false,
411
422
  "complexType": {
412
- "original": "GxgOption[]",
413
- "resolved": "GxgOption[]",
423
+ "original": "GxOption[]",
424
+ "resolved": "GxOption[]",
414
425
  "references": {
415
- "GxgOption": {
426
+ "GxOption": {
416
427
  "location": "import",
417
428
  "path": "../../common/types"
418
429
  }
@@ -499,10 +510,10 @@ export class GxIdeNewKb {
499
510
  "type": "unknown",
500
511
  "mutable": false,
501
512
  "complexType": {
502
- "original": "GxgOption[]",
503
- "resolved": "GxgOption[]",
513
+ "original": "GxOption[]",
514
+ "resolved": "GxOption[]",
504
515
  "references": {
505
- "GxgOption": {
516
+ "GxOption": {
506
517
  "location": "import",
507
518
  "path": "../../common/types"
508
519
  }
@@ -553,18 +564,11 @@ export class GxIdeNewKb {
553
564
  "type": "unknown",
554
565
  "mutable": false,
555
566
  "complexType": {
556
- "original": "(\n data: NewKBData\n ) => Promise<FormSubmitResult[]>",
557
- "resolved": "(data: NewKBData) => Promise<FormSubmitResult[]>",
567
+ "original": "CreateCallback",
568
+ "resolved": "(data: NewKBData) => Promise<FormSubmitResult>",
558
569
  "references": {
559
- "NewKBData": {
570
+ "CreateCallback": {
560
571
  "location": "local"
561
- },
562
- "Promise": {
563
- "location": "global"
564
- },
565
- "FormSubmitResult": {
566
- "location": "import",
567
- "path": "../../common/types"
568
572
  }
569
573
  }
570
574
  },
@@ -579,11 +583,11 @@ export class GxIdeNewKb {
579
583
  "type": "unknown",
580
584
  "mutable": false,
581
585
  "complexType": {
582
- "original": "() => Promise<void>",
586
+ "original": "CancelCallback",
583
587
  "resolved": "() => Promise<void>",
584
588
  "references": {
585
- "Promise": {
586
- "location": "global"
589
+ "CancelCallback": {
590
+ "location": "local"
587
591
  }
588
592
  }
589
593
  },
@@ -606,8 +610,8 @@ export class GxIdeNewKb {
606
610
  }
607
611
  static get events() {
608
612
  return [{
609
- "method": "componentDidLoadEvent",
610
- "name": "componentDidLoadEvent",
613
+ "method": "componentDidRenderEvent",
614
+ "name": "componentDidRenderEvent",
611
615
  "bubbles": true,
612
616
  "cancelable": true,
613
617
  "composed": true,
@@ -0,0 +1,17 @@
1
+ :host {
2
+ display: block;
3
+ box-sizing: border-box;
4
+ }
5
+
6
+ .wrapper {
7
+ display: flex;
8
+ justify-content: space-between;
9
+ padding: var(--spacing-comp-01) var(--spacing-comp-02);
10
+ transition: background-color var(--gx-ide-timing-super-fast-ms);
11
+ background-color: var(--gray-01);
12
+ }
13
+
14
+ gxg-title::part(title) {
15
+ color: var(--color-on-secondary);
16
+ transition: color var(--gx-ide-timing-super-fast-ms);
17
+ }
@@ -0,0 +1,62 @@
1
+ /* STENCIL IMPORTS */
2
+ import { Host, h } from "@stencil/core";
3
+ /* OTHER LIBRARIES IMPORTS */
4
+ /* CUSTOM IMPORTS */
5
+ export class GxIdeTopBar {
6
+ constructor() {
7
+ this.topBarTitle = undefined;
8
+ }
9
+ // 5.EVENTS (EMIT) //
10
+ // 6.METHODS //
11
+ componentWillLoad() {
12
+ this.evaluateSlots();
13
+ }
14
+ // 7.LISTENERS //
15
+ // 8.PUBLIC METHODS API //
16
+ // 9.LOCAL METHODS //
17
+ evaluateSlots() {
18
+ // header
19
+ const menuSlot = this.el.querySelectorAll('[slot="menu"]');
20
+ if (menuSlot.length) {
21
+ this._hasMenuSlot = true;
22
+ }
23
+ }
24
+ // 10.RENDER() FUNCTION //
25
+ render() {
26
+ return (h(Host, null, h("div", { class: "wrapper", part: "wrapper" }, h("div", { class: "wrapper__left", part: "wrapper-left" }, h("gxg-title", { type: "title-04", exportparts: "title: gxg-title" }, this.topBarTitle)), h("div", { class: "wrapper__right", part: "wrapper-right" }, this._hasMenuSlot ? (h("gxg-button", { type: "secondary-icon-only", icon: "gemini-tools/show-more-vertical" }, h("slot", { name: "menu" }))) : null))));
27
+ }
28
+ static get is() { return "gx-ide-top-bar"; }
29
+ static get encapsulation() { return "shadow"; }
30
+ static get originalStyleUrls() {
31
+ return {
32
+ "$": ["top-bar.scss"]
33
+ };
34
+ }
35
+ static get styleUrls() {
36
+ return {
37
+ "$": ["top-bar.css"]
38
+ };
39
+ }
40
+ static get properties() {
41
+ return {
42
+ "topBarTitle": {
43
+ "type": "string",
44
+ "mutable": false,
45
+ "complexType": {
46
+ "original": "string",
47
+ "resolved": "string",
48
+ "references": {}
49
+ },
50
+ "required": false,
51
+ "optional": false,
52
+ "docs": {
53
+ "tags": [],
54
+ "text": "The top bar title"
55
+ },
56
+ "attribute": "top-bar-title",
57
+ "reflect": false
58
+ }
59
+ };
60
+ }
61
+ static get elementRef() { return "el"; }
62
+ }
@@ -1,11 +1,12 @@
1
1
  const toggleDarkBtn = document.getElementById("toggle-dark-btn");
2
2
  const toggleDirBtn = document.getElementById("toggle-dir-btn");
3
3
  const showPartsBtn = document.getElementById("show-parts-btn");
4
- const validateBtn = document.getElementById("validate-btn");
5
4
  const responsiveMobileBtn = document.getElementById("responsive-mobile-btn");
6
5
  const responsiveTabletBtn = document.getElementById("responsive-tablet-btn");
7
6
  const responsiveDesktopBtn = document.getElementById("responsive-desktop-btn");
7
+ const toggleHeightBtn = document.getElementById("toggle-height-btn");
8
8
  const containerComponent = document.getElementById("container-component");
9
+
9
10
  /* Toggle Dark */
10
11
  toggleDarkBtn.addEventListener("click", function () {
11
12
  html.classList.toggle("dark");
@@ -77,13 +78,6 @@ showPartsBtn.addEventListener("click", function () {
77
78
  }
78
79
  });
79
80
 
80
- /* Test Validation */
81
- if (validateBtn) {
82
- validateBtn.addEventListener("click", async function () {
83
- await gxIdeComponent.validate();
84
- });
85
- }
86
-
87
81
  /* Sidebar buttons */
88
82
  const sidebarButtons = document.querySelectorAll("gxg-button");
89
83
  if (sidebarButtons.length) {
@@ -172,3 +166,29 @@ responsiveDesktopBtn.addEventListener("click", () => {
172
166
  containerComponent.classList.remove("mobile");
173
167
  containerComponent.classList.add("desktop");
174
168
  });
169
+
170
+ /* Toggle height button */
171
+ /* Set initial height*/
172
+ gxIdeComponent.addEventListener("componentDidRenderEvent", e => {
173
+ console.log(`${e.detail} did render`);
174
+ setTimeout(() => {
175
+ // Just to be completely sure.
176
+ containerComponent.style.height = `${containerComponent.offsetHeight}px`;
177
+ }, 250);
178
+ });
179
+ const heightVariation = 200;
180
+ if (toggleHeightBtn) {
181
+ toggleHeightBtn.addEventListener("click", () => {
182
+ const containerActualHeight = containerComponent.offsetHeight;
183
+ if (html.classList.contains("taller")) {
184
+ // make shorter
185
+ containerComponent.style.height =
186
+ containerActualHeight - heightVariation + "px";
187
+ } else {
188
+ // make taller
189
+ containerComponent.style.height =
190
+ containerActualHeight + heightVariation + "px";
191
+ }
192
+ html.classList.toggle("taller");
193
+ });
194
+ }