@genexus/genexus-ide-ui 0.0.98 → 0.0.100

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 (224) hide show
  1. package/dist/cjs/ch-icon_5.cjs.entry.js +3 -2
  2. package/dist/cjs/ch-icon_5.cjs.entry.js.map +1 -1
  3. package/dist/cjs/genexus-ide-ui.cjs.js +1 -1
  4. package/dist/cjs/{gx-ide-container_2.cjs.entry.js → gx-ide-container_3.cjs.entry.js} +53 -127
  5. package/dist/cjs/gx-ide-container_3.cjs.entry.js.map +1 -0
  6. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js +2 -2
  7. package/dist/cjs/gx-ide-dashboard-home.cjs.entry.js.map +1 -1
  8. package/dist/cjs/gx-ide-data-selector.cjs.entry.js +175 -0
  9. package/dist/cjs/gx-ide-data-selector.cjs.entry.js.map +1 -0
  10. package/dist/cjs/{gx-ide-recent-news.cjs.entry.js → gx-ide-empty-state_2.cjs.entry.js} +64 -2
  11. package/dist/cjs/gx-ide-empty-state_2.cjs.entry.js.map +1 -0
  12. package/dist/cjs/gx-ide-import-from-design.cjs.entry.js +2 -9
  13. package/dist/cjs/gx-ide-import-from-design.cjs.entry.js.map +1 -1
  14. package/dist/cjs/gx-ide-start-page.cjs.entry.js +9 -5
  15. package/dist/cjs/gx-ide-start-page.cjs.entry.js.map +1 -1
  16. package/dist/cjs/gx-ide-status-buttons_2.cjs.entry.js +41 -27
  17. package/dist/cjs/gx-ide-status-buttons_2.cjs.entry.js.map +1 -1
  18. package/dist/cjs/gxg-card_2.cjs.entry.js +10 -5
  19. package/dist/cjs/gxg-card_2.cjs.entry.js.map +1 -1
  20. package/dist/cjs/gxg-combo-box_2.cjs.entry.js +62 -24
  21. package/dist/cjs/gxg-combo-box_2.cjs.entry.js.map +1 -1
  22. package/dist/cjs/gxg-form-checkbox.cjs.entry.js +151 -0
  23. package/dist/cjs/gxg-form-checkbox.cjs.entry.js.map +1 -0
  24. package/dist/cjs/gxg-list-box_2.cjs.entry.js +28 -3
  25. package/dist/cjs/gxg-list-box_2.cjs.entry.js.map +1 -1
  26. package/dist/cjs/gxg-menu-item.cjs.entry.js +1 -1
  27. package/dist/cjs/gxg-menu-item.cjs.entry.js.map +1 -1
  28. package/dist/cjs/gxg-pill.cjs.entry.js +5 -5
  29. package/dist/cjs/gxg-pill.cjs.entry.js.map +1 -1
  30. package/dist/cjs/gxg-pills.cjs.entry.js +1 -1
  31. package/dist/cjs/gxg-pills.cjs.entry.js.map +1 -1
  32. package/dist/cjs/gxg-tab_4.cjs.entry.js +97 -17
  33. package/dist/cjs/gxg-tab_4.cjs.entry.js.map +1 -1
  34. package/dist/cjs/gxg-window-v2.cjs.entry.js +28 -0
  35. package/dist/cjs/gxg-window-v2.cjs.entry.js.map +1 -0
  36. package/dist/cjs/loader.cjs.js +1 -1
  37. package/dist/collection/collection-manifest.json +4 -1
  38. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.css +40 -0
  39. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.js +180 -0
  40. package/dist/collection/components/_helpers/empty-state/gx-ide-empty-state.js.map +1 -0
  41. package/dist/collection/components/_helpers/list-selector/list-selector-item/list-selector-item.js +1 -1
  42. package/dist/collection/components/_helpers/list-selector/list-selector.js +1 -1
  43. package/dist/collection/components/dashboard-home/dashboard-home.css +5 -0
  44. package/dist/collection/components/dashboard-home/dashboard-home.js +1 -1
  45. package/dist/collection/components/dashboard-home/dashboard-home.js.map +1 -1
  46. package/dist/collection/components/data-selector/data-selector.css +261 -0
  47. package/dist/collection/components/data-selector/data-selector.js +441 -0
  48. package/dist/collection/components/data-selector/data-selector.js.map +1 -0
  49. package/dist/collection/components/data-selector/gx-ide-assets/data-selector/langs/data-selector.lang.en.json +23 -0
  50. package/dist/collection/components/data-selector/gx-ide-assets/data-selector/langs/data-selector.lang.ja.json +3 -0
  51. package/dist/collection/components/data-selector/gx-ide-assets/data-selector/langs/data-selector.lang.zh.json +3 -0
  52. package/dist/collection/components/data-selector/gx-ide-assets/data-selector/shortcuts.json +15 -0
  53. package/dist/collection/components/import-from-design/import-from-design.js +3 -12
  54. package/dist/collection/components/import-from-design/import-from-design.js.map +1 -1
  55. package/dist/collection/components/start-page/recent-news.css +1 -1
  56. package/dist/collection/components/start-page/start-page.css +4 -0
  57. package/dist/collection/components/start-page/start-page.js +8 -4
  58. package/dist/collection/components/start-page/start-page.js.map +1 -1
  59. package/dist/components/card.js +11 -5
  60. package/dist/components/card.js.map +1 -1
  61. package/dist/components/combo-box.js +62 -24
  62. package/dist/components/combo-box.js.map +1 -1
  63. package/dist/components/gx-ide-dashboard-home.js +2 -2
  64. package/dist/components/gx-ide-dashboard-home.js.map +1 -1
  65. package/dist/components/gx-ide-data-selector.d.ts +11 -0
  66. package/dist/components/gx-ide-data-selector.js +347 -0
  67. package/dist/components/gx-ide-data-selector.js.map +1 -0
  68. package/dist/components/gx-ide-empty-state.d.ts +11 -0
  69. package/dist/components/gx-ide-empty-state.js +8 -0
  70. package/dist/components/gx-ide-empty-state.js.map +1 -0
  71. package/dist/components/gx-ide-empty-state2.js +126 -0
  72. package/dist/components/gx-ide-empty-state2.js.map +1 -0
  73. package/dist/components/gx-ide-import-from-design.js +3 -11
  74. package/dist/components/gx-ide-import-from-design.js.map +1 -1
  75. package/dist/components/gx-ide-start-page.js +21 -11
  76. package/dist/components/gx-ide-start-page.js.map +1 -1
  77. package/dist/components/gxg-menu-item.js +1 -1
  78. package/dist/components/gxg-menu-item.js.map +1 -1
  79. package/dist/components/gxg-pills.js +1 -1
  80. package/dist/components/gxg-pills.js.map +1 -1
  81. package/dist/components/gxg-top-state-bar2.js +46 -30
  82. package/dist/components/gxg-top-state-bar2.js.map +1 -1
  83. package/dist/components/gxg-window-v2.js +44 -0
  84. package/dist/components/gxg-window-v2.js.map +1 -0
  85. package/dist/components/icon2.js +3 -2
  86. package/dist/components/icon2.js.map +1 -1
  87. package/dist/components/list-box.js +27 -1
  88. package/dist/components/list-box.js.map +1 -1
  89. package/dist/components/pill.js +5 -5
  90. package/dist/components/pill.js.map +1 -1
  91. package/dist/components/recent-news.js +1 -1
  92. package/dist/components/recent-news.js.map +1 -1
  93. package/dist/components/tab-bar.js +17 -9
  94. package/dist/components/tab-bar.js.map +1 -1
  95. package/dist/components/tab-button.js +11 -4
  96. package/dist/components/tab-button.js.map +1 -1
  97. package/dist/components/tab.js +6 -3
  98. package/dist/components/tab.js.map +1 -1
  99. package/dist/components/tabs.js +73 -4
  100. package/dist/components/tabs.js.map +1 -1
  101. package/dist/esm/ch-icon_5.entry.js +3 -2
  102. package/dist/esm/ch-icon_5.entry.js.map +1 -1
  103. package/dist/esm/genexus-ide-ui.js +1 -1
  104. package/dist/esm/{gx-ide-container_2.entry.js → gx-ide-container_3.entry.js} +53 -128
  105. package/dist/esm/gx-ide-container_3.entry.js.map +1 -0
  106. package/dist/esm/gx-ide-dashboard-home.entry.js +2 -2
  107. package/dist/esm/gx-ide-dashboard-home.entry.js.map +1 -1
  108. package/dist/esm/gx-ide-data-selector.entry.js +171 -0
  109. package/dist/esm/gx-ide-data-selector.entry.js.map +1 -0
  110. package/dist/esm/{gx-ide-recent-news.entry.js → gx-ide-empty-state_2.entry.js} +64 -3
  111. package/dist/esm/gx-ide-empty-state_2.entry.js.map +1 -0
  112. package/dist/esm/gx-ide-import-from-design.entry.js +2 -9
  113. package/dist/esm/gx-ide-import-from-design.entry.js.map +1 -1
  114. package/dist/esm/gx-ide-start-page.entry.js +9 -5
  115. package/dist/esm/gx-ide-start-page.entry.js.map +1 -1
  116. package/dist/esm/gx-ide-status-buttons_2.entry.js +41 -27
  117. package/dist/esm/gx-ide-status-buttons_2.entry.js.map +1 -1
  118. package/dist/esm/gxg-card_2.entry.js +10 -5
  119. package/dist/esm/gxg-card_2.entry.js.map +1 -1
  120. package/dist/esm/gxg-combo-box_2.entry.js +62 -24
  121. package/dist/esm/gxg-combo-box_2.entry.js.map +1 -1
  122. package/dist/esm/gxg-form-checkbox.entry.js +147 -0
  123. package/dist/esm/gxg-form-checkbox.entry.js.map +1 -0
  124. package/dist/esm/gxg-list-box_2.entry.js +27 -2
  125. package/dist/esm/gxg-list-box_2.entry.js.map +1 -1
  126. package/dist/esm/gxg-menu-item.entry.js +1 -1
  127. package/dist/esm/gxg-menu-item.entry.js.map +1 -1
  128. package/dist/esm/gxg-pill.entry.js +5 -5
  129. package/dist/esm/gxg-pill.entry.js.map +1 -1
  130. package/dist/esm/gxg-pills.entry.js +1 -1
  131. package/dist/esm/gxg-pills.entry.js.map +1 -1
  132. package/dist/esm/gxg-tab_4.entry.js +97 -17
  133. package/dist/esm/gxg-tab_4.entry.js.map +1 -1
  134. package/dist/esm/gxg-window-v2.entry.js +24 -0
  135. package/dist/esm/gxg-window-v2.entry.js.map +1 -0
  136. package/dist/esm/loader.js +1 -1
  137. package/dist/genexus-ide-ui/genexus-ide-ui.css +74 -7
  138. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js +1 -1
  139. package/dist/genexus-ide-ui/genexus-ide-ui.esm.js.map +1 -1
  140. package/dist/genexus-ide-ui/gx-ide-assets/data-selector/langs/data-selector.lang.en.json +23 -0
  141. package/dist/genexus-ide-ui/gx-ide-assets/data-selector/langs/data-selector.lang.ja.json +3 -0
  142. package/dist/genexus-ide-ui/gx-ide-assets/data-selector/langs/data-selector.lang.zh.json +3 -0
  143. package/dist/genexus-ide-ui/gx-ide-assets/data-selector/shortcuts.json +15 -0
  144. package/dist/genexus-ide-ui/icon-assets/mercury/tests/balanza-path.svg +3 -0
  145. package/dist/genexus-ide-ui/icon-assets/mercury/tests/balanza-stroke.svg +9 -0
  146. package/dist/genexus-ide-ui/icon-assets/mercury/tests/folder-2.svg +3 -0
  147. package/dist/genexus-ide-ui/{p-b8fc93f4.entry.js → p-2c8afaa6.entry.js} +147 -112
  148. package/dist/genexus-ide-ui/p-2c8afaa6.entry.js.map +1 -0
  149. package/dist/genexus-ide-ui/{p-9b96b515.entry.js → p-40f21d2d.entry.js} +116 -192
  150. package/dist/genexus-ide-ui/p-40f21d2d.entry.js.map +1 -0
  151. package/dist/genexus-ide-ui/{p-5ca84a03.entry.js → p-4e155cd5.entry.js} +27 -4
  152. package/dist/genexus-ide-ui/p-4e155cd5.entry.js.map +1 -0
  153. package/dist/genexus-ide-ui/p-4fc6d6a7.entry.js +24 -0
  154. package/dist/genexus-ide-ui/p-4fc6d6a7.entry.js.map +1 -0
  155. package/dist/genexus-ide-ui/p-54e4b362.entry.js +270 -0
  156. package/dist/genexus-ide-ui/p-54e4b362.entry.js.map +1 -0
  157. package/dist/genexus-ide-ui/{p-73aa4e69.entry.js → p-71f8aba2.entry.js} +13 -13
  158. package/dist/genexus-ide-ui/{p-73aa4e69.entry.js.map → p-71f8aba2.entry.js.map} +1 -1
  159. package/dist/genexus-ide-ui/p-75f0ba9d.entry.js +273 -0
  160. package/dist/genexus-ide-ui/p-75f0ba9d.entry.js.map +1 -0
  161. package/dist/genexus-ide-ui/{p-545291ad.entry.js → p-7dc3a137.entry.js} +4 -3
  162. package/dist/genexus-ide-ui/{p-545291ad.entry.js.map → p-7dc3a137.entry.js.map} +1 -1
  163. package/dist/genexus-ide-ui/{p-f186adfd.entry.js → p-85639fa5.entry.js} +100 -22
  164. package/dist/genexus-ide-ui/p-85639fa5.entry.js.map +1 -0
  165. package/dist/genexus-ide-ui/{p-30365c44.entry.js → p-a3e07b86.entry.js} +6 -7
  166. package/dist/genexus-ide-ui/p-a3e07b86.entry.js.map +1 -0
  167. package/dist/genexus-ide-ui/{p-9c6c5a61.entry.js → p-a592930e.entry.js} +37 -32
  168. package/dist/genexus-ide-ui/p-a592930e.entry.js.map +1 -0
  169. package/dist/genexus-ide-ui/p-b0e539fe.entry.js +41 -0
  170. package/dist/genexus-ide-ui/p-b0e539fe.entry.js.map +1 -0
  171. package/dist/genexus-ide-ui/{p-a439149b.entry.js → p-bff2603a.entry.js} +8 -3
  172. package/dist/genexus-ide-ui/p-bff2603a.entry.js.map +1 -0
  173. package/dist/genexus-ide-ui/{p-050bc199.entry.js → p-e0924e3f.entry.js} +96 -6
  174. package/dist/genexus-ide-ui/p-e0924e3f.entry.js.map +1 -0
  175. package/dist/genexus-ide-ui/{p-58cad79d.entry.js → p-e240361a.entry.js} +58 -68
  176. package/dist/genexus-ide-ui/p-e240361a.entry.js.map +1 -0
  177. package/dist/genexus-ide-ui/{p-e585f550.entry.js → p-e3925761.entry.js} +4 -5
  178. package/dist/genexus-ide-ui/{p-e585f550.entry.js.map → p-e3925761.entry.js.map} +1 -1
  179. package/dist/genexus-ide-ui/{p-219d7b29.entry.js → p-eeb35622.entry.js} +165 -89
  180. package/dist/genexus-ide-ui/p-eeb35622.entry.js.map +1 -0
  181. package/dist/node_modules/@genexus/gemini/dist/collection/components/card/card.css +13 -1
  182. package/dist/node_modules/@genexus/gemini/dist/collection/components/pills/pill.css +16 -51
  183. package/dist/node_modules/@genexus/gemini/dist/collection/components/pills/pills.css +1 -8
  184. package/dist/node_modules/@genexus/gemini/dist/collection/components/tab/tab.css +7 -0
  185. package/dist/node_modules/@genexus/gemini/dist/collection/components/tab-bar/tab-bar.css +18 -0
  186. package/dist/node_modules/@genexus/gemini/dist/collection/components/tab-button/tab-button.css +17 -0
  187. package/dist/node_modules/@genexus/gemini/dist/collection/components/tabs/tabs.css +64 -13
  188. package/dist/node_modules/@genexus/gemini/dist/collection/components/top-state-bar/gxg-top-state-bar.css +120 -43
  189. package/dist/node_modules/@genexus/gemini/dist/collection/components/window-v2/window.css +3 -0
  190. package/dist/types/components/_helpers/empty-state/gx-ide-empty-state.d.ts +34 -0
  191. package/dist/types/components/data-selector/data-selector.d.ts +109 -0
  192. package/dist/types/components/import-from-design/import-from-design.d.ts +1 -3
  193. package/dist/types/components.d.ts +220 -40
  194. package/package.json +3 -3
  195. package/dist/cjs/gx-ide-container_2.cjs.entry.js.map +0 -1
  196. package/dist/cjs/gx-ide-recent-news.cjs.entry.js.map +0 -1
  197. package/dist/cjs/gx-ide-title_2.cjs.entry.js +0 -77
  198. package/dist/cjs/gx-ide-title_2.cjs.entry.js.map +0 -1
  199. package/dist/cjs/reposition-scroll-86d8fac5.js +0 -33
  200. package/dist/cjs/reposition-scroll-86d8fac5.js.map +0 -1
  201. package/dist/components/reposition-scroll.js +0 -31
  202. package/dist/components/reposition-scroll.js.map +0 -1
  203. package/dist/esm/gx-ide-container_2.entry.js.map +0 -1
  204. package/dist/esm/gx-ide-recent-news.entry.js.map +0 -1
  205. package/dist/esm/gx-ide-title_2.entry.js +0 -72
  206. package/dist/esm/gx-ide-title_2.entry.js.map +0 -1
  207. package/dist/esm/reposition-scroll-cfff7017.js +0 -31
  208. package/dist/esm/reposition-scroll-cfff7017.js.map +0 -1
  209. package/dist/genexus-ide-ui/p-050bc199.entry.js.map +0 -1
  210. package/dist/genexus-ide-ui/p-219d7b29.entry.js.map +0 -1
  211. package/dist/genexus-ide-ui/p-30365c44.entry.js.map +0 -1
  212. package/dist/genexus-ide-ui/p-3e87257c.entry.js +0 -41
  213. package/dist/genexus-ide-ui/p-3e87257c.entry.js.map +0 -1
  214. package/dist/genexus-ide-ui/p-58cad79d.entry.js.map +0 -1
  215. package/dist/genexus-ide-ui/p-5ca84a03.entry.js.map +0 -1
  216. package/dist/genexus-ide-ui/p-9b96b515.entry.js.map +0 -1
  217. package/dist/genexus-ide-ui/p-9c6c5a61.entry.js.map +0 -1
  218. package/dist/genexus-ide-ui/p-a439149b.entry.js.map +0 -1
  219. package/dist/genexus-ide-ui/p-b8fc93f4.entry.js.map +0 -1
  220. package/dist/genexus-ide-ui/p-efa273d7.js +0 -27
  221. package/dist/genexus-ide-ui/p-efa273d7.js.map +0 -1
  222. package/dist/genexus-ide-ui/p-f186adfd.entry.js.map +0 -1
  223. package/dist/genexus-ide-ui/p-f5034221.entry.js +0 -258
  224. package/dist/genexus-ide-ui/p-f5034221.entry.js.map +0 -1
@@ -1,6 +1,5 @@
1
1
  import { r as registerInstance, c as createEvent, g as getElement, h, H as Host } from './index-f010c1e9.js';
2
2
  import { f as formMessageLogic, a as formTooltipLogic } from './form-32b2e788.js';
3
- import { r as repositionScroll } from './reposition-scroll-cfff7017.js';
4
3
  import { K as KeyboardKeys } from './types-cd4ed472.js';
5
4
  import { e as exportParts } from './export-parts-639c8817.js';
6
5
  import { s as state } from './store-ccf0cb77.js';
@@ -32,7 +31,7 @@ const GxgComboBox = class {
32
31
  clearButton: "clear-button",
33
32
  toggleButton: "toggle-button"
34
33
  };
35
- this.componentDidLoadFlag = false;
34
+ this.prevEmittedValue = null;
36
35
  this.userTyped = false;
37
36
  this.formMessageLogic = formMessageLogic;
38
37
  this.detectClickOutsideCombo = this.detectClickOutsideComboFunc.bind(this);
@@ -51,13 +50,18 @@ const GxgComboBox = class {
51
50
  this.inputHandler = (e) => {
52
51
  this.userTyped = true;
53
52
  const value = this.sanitizeString(e.detail);
54
- const filteredItems = this.filterList(value);
53
+ this.filterList(value);
55
54
  if (!this.strict) {
56
55
  this.value = value;
57
56
  }
58
- else if (filteredItems.length === 1) {
59
- /*on strict mode, only set value if there is an exact match*/
60
- this.value = filteredItems[0].value;
57
+ else {
58
+ const item = this.getItemByValue(value);
59
+ if (item) {
60
+ this.value = value;
61
+ }
62
+ else {
63
+ this.value = undefined;
64
+ }
61
65
  }
62
66
  };
63
67
  this.keyDownHandler = (e) => {
@@ -68,13 +72,11 @@ const GxgComboBox = class {
68
72
  if (e.code === KeyboardKeys.ARROW_DOWN) {
69
73
  newItem = this.getNewItem("next");
70
74
  (newItem === null || newItem === void 0 ? void 0 : newItem.value) && (this.value = newItem === null || newItem === void 0 ? void 0 : newItem.value);
71
- repositionScroll(this.itemsContainer, this.selectedItem, KeyboardKeys.ARROW_DOWN);
72
75
  e.altKey && this.showList();
73
76
  }
74
77
  else if (e.code === KeyboardKeys.ARROW_UP) {
75
78
  newItem = this.getNewItem("prev");
76
79
  (newItem === null || newItem === void 0 ? void 0 : newItem.value) && (this.value = newItem === null || newItem === void 0 ? void 0 : newItem.value);
77
- repositionScroll(this.itemsContainer, this.selectedItem, KeyboardKeys.ARROW_UP);
78
80
  }
79
81
  else if (e.code === KeyboardKeys.ENTER) {
80
82
  if (this.preventEnterPropagation && this.listIsOpen) {
@@ -82,6 +84,7 @@ const GxgComboBox = class {
82
84
  }
83
85
  this.hideList();
84
86
  this.showAllItems();
87
+ this.evaluateValueChangedEmit();
85
88
  }
86
89
  else if (e.code === KeyboardKeys.SPACE) {
87
90
  this.showList();
@@ -94,6 +97,28 @@ const GxgComboBox = class {
94
97
  this.hideList();
95
98
  }
96
99
  };
100
+ this.evaluateValueChangedEmit = () => {
101
+ if (this.strict && this.value === undefined) {
102
+ this.text = "";
103
+ this.value = this.prevEmittedValue;
104
+ }
105
+ else if (this.value !== this.prevEmittedValue) {
106
+ this.valueChanged.emit(this.value);
107
+ this.prevEmittedValue = this.value;
108
+ }
109
+ };
110
+ this.evaluateScroll = () => {
111
+ if (this.selectedItem) {
112
+ const selectedITemTop = this.selectedItem.getBoundingClientRect().top;
113
+ const selectedITemBottom = this.selectedItem.getBoundingClientRect().bottom;
114
+ const containerTop = this.itemsContainer.getBoundingClientRect().top;
115
+ const containerBottom = this.itemsContainer.getBoundingClientRect().bottom;
116
+ if (selectedITemTop < containerTop ||
117
+ selectedITemBottom > containerBottom) {
118
+ this.selectedItem.scrollIntoView({ behavior: "smooth" });
119
+ }
120
+ }
121
+ };
97
122
  this.handleValueChangeFormText = e => {
98
123
  this.value = e.detail;
99
124
  };
@@ -197,15 +222,20 @@ const GxgComboBox = class {
197
222
  this.clearIcon();
198
223
  };
199
224
  this.getValueByText = (text) => {
200
- !this.caseSensitive && (text = text.toLowerCase());
201
- const enabledItems = this.getEnabledItems();
202
- const item = enabledItems === null || enabledItems === void 0 ? void 0 : enabledItems.find(item => {
203
- const itemText = !this.caseSensitive
204
- ? item.textContent.toLocaleLowerCase()
205
- : item.textContent;
206
- return !item.disabled && itemText === text;
207
- });
208
- return item === null || item === void 0 ? void 0 : item.value;
225
+ if (text) {
226
+ !this.caseSensitive && (text = text.toLowerCase());
227
+ const enabledItems = this.getEnabledItems();
228
+ const item = enabledItems === null || enabledItems === void 0 ? void 0 : enabledItems.find(item => {
229
+ const itemText = !this.caseSensitive
230
+ ? item.textContent.toLocaleLowerCase()
231
+ : item.textContent;
232
+ return !item.disabled && itemText === text;
233
+ });
234
+ return item === null || item === void 0 ? void 0 : item.value;
235
+ }
236
+ else {
237
+ return undefined;
238
+ }
209
239
  };
210
240
  this.getNewItem = (direction) => {
211
241
  const filteredItems = this.getFilteredItems();
@@ -269,6 +299,10 @@ const GxgComboBox = class {
269
299
  }
270
300
  }
271
301
  }
302
+ this.prevEmittedValue = this.value;
303
+ };
304
+ this.onBlurHandler = () => {
305
+ this.evaluateValueChangedEmit();
272
306
  };
273
307
  this.toggleListButtonClickHandler = () => {
274
308
  if (!this.disabled) {
@@ -358,7 +392,6 @@ const GxgComboBox = class {
358
392
  }
359
393
  componentDidLoad() {
360
394
  this.resizeObserver();
361
- this.componentDidLoadFlag = true;
362
395
  this.evaluatePopOver();
363
396
  }
364
397
  disconnectedCallback() {
@@ -416,9 +449,6 @@ const GxgComboBox = class {
416
449
  *********************************/
417
450
  onValueChanged(newValue) {
418
451
  setTimeout(() => {
419
- if (this.componentDidLoadFlag) {
420
- this.valueChanged.emit(newValue);
421
- }
422
452
  this.clearSelectedItem();
423
453
  let value;
424
454
  let newItem = undefined;
@@ -433,12 +463,17 @@ const GxgComboBox = class {
433
463
  if (newItem) {
434
464
  this.setSelectedItem(newItem);
435
465
  this.setIcon(newItem.icon);
436
- (newItem === null || newItem === void 0 ? void 0 : newItem.textContent) && (this.text = newItem.textContent);
466
+ const textContent = newItem.textContent;
467
+ if (textContent.length > 0) {
468
+ this.text = textContent;
469
+ }
470
+ else {
471
+ this.text = newItem.value;
472
+ }
437
473
  }
438
474
  else {
439
475
  //this.setIcon(undefined);
440
476
  if (this.strict) {
441
- this.text = undefined;
442
477
  this.value = undefined;
443
478
  }
444
479
  else {
@@ -475,6 +510,9 @@ const GxgComboBox = class {
475
510
  }
476
511
  selectedItemHandler(newItem) {
477
512
  newItem && (newItem.selected = true);
513
+ if (this.listIsOpen) {
514
+ this.evaluateScroll();
515
+ }
478
516
  }
479
517
  removedItemHandler(removedItem) {
480
518
  const value = removedItem.value;
@@ -564,7 +602,7 @@ const GxgComboBox = class {
564
602
  large: state.large
565
603
  }, style: { maxWidth: this.maxWidth, minWidth: this.minWidth }, exportParts: this.exportparts ? this.exportparts : null }, h("div", { class: {
566
604
  "main-container": true
567
- }, ref: el => (this.mainContainer = el) }, this.label ? (h("gxg-label", { labelPosition: this.labelPosition, center: this.centerLabel, width: this.labelWidth }, this.label)) : null, h("div", { class: "outer-wrapper" }, h("div", { class: "search-and-items-container", ref: el => (this.searchItemsContainer = el) }, h("div", { class: { "search-container": true } }, h("gxg-form-text", { placeholder: this.placeholder, onInput: this.inputHandler.bind(this), onKeyDown: this.keyDownHandler, onClick: this.inputTextClickHandler, value: this.text, icon: this.fixedIcon || this.inputTextIcon, iconPosition: "start", readonly: this.disableFilter, ref: el => (this.inputText = el), validationStatus: this.validationStatus, disabled: this.disabled, onValueChanged: this.handleValueChangeFormText, cursorEnd: this.cursorEnd, preventValueChangedEmit: true, class: {
605
+ }, ref: el => (this.mainContainer = el) }, this.label ? (h("gxg-label", { labelPosition: this.labelPosition, center: this.centerLabel, width: this.labelWidth }, this.label)) : null, h("div", { class: "outer-wrapper" }, h("div", { class: "search-and-items-container", ref: el => (this.searchItemsContainer = el) }, h("div", { class: { "search-container": true } }, h("gxg-form-text", { placeholder: this.placeholder, onInput: this.inputHandler.bind(this), onKeyDown: this.keyDownHandler, onClick: this.inputTextClickHandler, onBlur: this.onBlurHandler, value: this.text, icon: this.fixedIcon || this.inputTextIcon, iconPosition: "start", readonly: this.disableFilter, ref: el => (this.inputText = el), validationStatus: this.validationStatus, disabled: this.disabled, onValueChanged: this.handleValueChangeFormText, cursorEnd: this.cursorEnd, preventValueChangedEmit: true, class: {
568
606
  "icon-end--double": clearIcon,
569
607
  "icon-end": !clearIcon
570
608
  }, part: this.parts.input }), h("div", { class: "buttons-wrapper" }, clearIcon ? (h("gxg-button", { class: { "button-icon delete-icon": true }, icon: "menus/delete", type: "tertiary", onClick: () => this.clearCombo(), tabindex: "-1", disabled: this.disabled, part: this.parts.clearButton, small: true })) : null, h("gxg-button", { class: { "button-icon": true }, icon: "navigation/arrow-down", type: "tertiary", onClick: this.toggleListButtonClickHandler, disabled: this.disabled, tabindex: "-1", part: this.parts.toggleButton, small: true }))), h("div", { class: {