globuswebcomponents 0.9.7 → 0.9.8

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 (234) hide show
  1. package/dist/cjs/{gb-avatar_44.cjs.entry.js → gb-avatar_45.cjs.entry.js} +261 -134
  2. package/dist/cjs/gb-avatar_45.cjs.entry.js.map +1 -0
  3. package/dist/cjs/gb-export-dropdown.cjs.entry.js +2 -2
  4. package/dist/cjs/gb-export-dropdown.cjs.entry.js.map +1 -1
  5. package/dist/cjs/gb-pagination-dot-group.cjs.entry.js +1 -1
  6. package/dist/cjs/gb-progress-circle.cjs.entry.js +1 -1
  7. package/dist/cjs/gb-rich-text.cjs.entry.js +1 -1
  8. package/dist/cjs/gb-scrollbar.cjs.entry.js +1 -1
  9. package/dist/cjs/gb-toggle.cjs.entry.js +1 -1
  10. package/dist/cjs/gb-token-field.cjs.entry.js +1 -1
  11. package/dist/cjs/gb-verification-code-field.cjs.entry.js +2 -2
  12. package/dist/cjs/globuscomponents.cjs.js +1 -1
  13. package/dist/cjs/loader.cjs.js +1 -1
  14. package/dist/cjs/reusableModels-e50f3440.js.map +1 -1
  15. package/dist/cjs/test-input-tag.cjs.entry.js +2 -2
  16. package/dist/collection/assets/empty-state-background.svg +60 -0
  17. package/dist/collection/assets/empty-state-no-data.svg +42 -0
  18. package/dist/collection/collection-manifest.json +1 -0
  19. package/dist/collection/components/gb-export-dropdown/gb-export-dropdown.js +2 -2
  20. package/dist/collection/components/gb-export-dropdown/gb-export-dropdown.js.map +1 -1
  21. package/dist/collection/components/gb-file-upload/gb-file-upload.js +27 -27
  22. package/dist/collection/components/gb-file-upload/gb-file-upload.js.map +1 -1
  23. package/dist/collection/components/gb-horizontal-tabs/gb-horizontal-tabs.js +1 -1
  24. package/dist/collection/components/gb-input-dropdown/gb-input-dropdown.css +29 -0
  25. package/dist/collection/components/gb-input-dropdown/gb-input-dropdown.js +153 -74
  26. package/dist/collection/components/gb-input-dropdown/gb-input-dropdown.js.map +1 -1
  27. package/dist/collection/components/gb-input-dropdown-menu-item/gb-input-dropdown-menu-item.css +0 -4
  28. package/dist/collection/components/gb-input-field/gb-input-field.css +6 -0
  29. package/dist/collection/components/gb-input-field/gb-input-field.js +25 -17
  30. package/dist/collection/components/gb-input-field/gb-input-field.js.map +1 -1
  31. package/dist/collection/components/gb-pagination/gb-pagination.js +4 -3
  32. package/dist/collection/components/gb-pagination/gb-pagination.js.map +1 -1
  33. package/dist/collection/components/gb-pagination-button-group-base/gb-pagination-button-group-base.js +2 -40
  34. package/dist/collection/components/gb-pagination-button-group-base/gb-pagination-button-group-base.js.map +1 -1
  35. package/dist/collection/components/gb-pagination-dot-group/gb-pagination-dot-group.js +1 -1
  36. package/dist/collection/components/gb-pagination-dot-indicator/gb-pagination-dot-indicator.js +1 -1
  37. package/dist/collection/components/gb-pagination-number-base/gb-pagination-number-base.js +1 -1
  38. package/dist/collection/components/gb-password-button/gb-password-button.js +1 -1
  39. package/dist/collection/components/gb-progress-bar/gb-progress-bar.js +1 -1
  40. package/dist/collection/components/gb-progress-circle/gb-progress-circle.js +1 -1
  41. package/dist/collection/components/gb-rich-text/gb-rich-text.js +1 -1
  42. package/dist/collection/components/gb-scrollbar/gb-scrollbar.js +1 -1
  43. package/dist/collection/components/gb-side-bar-item/gb-side-bar-item.js +1 -1
  44. package/dist/collection/components/gb-sidebar/gb-sidebar.js +7 -8
  45. package/dist/collection/components/gb-sidebar/gb-sidebar.js.map +1 -1
  46. package/dist/collection/components/gb-slider/gb-slider.js +1 -1
  47. package/dist/collection/components/gb-slider-control-handle/gb-slider-control-handle.js +1 -1
  48. package/dist/collection/components/gb-status-indicator/gb-status-indicator.js +1 -1
  49. package/dist/collection/components/gb-tab-button-base/gb-tab-button-base.css +4 -0
  50. package/dist/collection/components/gb-tab-button-base/gb-tab-button-base.js +4 -4
  51. package/dist/collection/components/gb-tag/gb-tag.js +1 -1
  52. package/dist/collection/components/gb-tag-checkbox/gb-tag-checkbox.js +1 -1
  53. package/dist/collection/components/gb-tag-close/gb-tag-close.js +1 -1
  54. package/dist/collection/components/gb-tag-count/gb-tag-count.js +1 -1
  55. package/dist/collection/components/gb-toast/gb-toast.js +1 -1
  56. package/dist/collection/components/gb-toast-button/gb-toast-button.js +1 -1
  57. package/dist/collection/components/gb-toggle/gb-toggle.js +1 -1
  58. package/dist/collection/components/gb-toggle-base/gb-toggle-base.js +2 -2
  59. package/dist/collection/components/gb-token-field/gb-token-field.js +1 -1
  60. package/dist/collection/components/gb-tooltip/gb-tooltip.js +1 -1
  61. package/dist/collection/components/gb-verification-code-field/gb-verification-code-field.js +2 -2
  62. package/dist/collection/components/gb-vertical-tabs/gb-vertical-tabs.css +6 -0
  63. package/dist/collection/components/gb-vertical-tabs/gb-vertical-tabs.js +501 -0
  64. package/dist/collection/components/gb-vertical-tabs/gb-vertical-tabs.js.map +1 -0
  65. package/dist/collection/components/test-input-tag/test-input-tag.js +2 -2
  66. package/dist/collection/models/reusableModels.js.map +1 -1
  67. package/dist/components/gb-avatar-add-button.js +1 -1
  68. package/dist/components/gb-avatar-dropdown.js +3 -3
  69. package/dist/components/gb-avatar-group.js +4 -4
  70. package/dist/components/gb-avatar-label-group.js +1 -1
  71. package/dist/components/gb-avatar-profile-photo.js +2 -2
  72. package/dist/components/gb-avatar.js +1 -1
  73. package/dist/components/gb-badge.js +1 -1
  74. package/dist/components/gb-checkbox-group-item.js +1 -1
  75. package/dist/components/gb-checkbox-group.js +3 -3
  76. package/dist/components/gb-collapse-button.js +1 -1
  77. package/dist/components/gb-export-dropdown.js +2 -2
  78. package/dist/components/gb-export-dropdown.js.map +1 -1
  79. package/dist/components/gb-file-upload-item-base.js +1 -1
  80. package/dist/components/gb-file-upload.js +30 -28
  81. package/dist/components/gb-file-upload.js.map +1 -1
  82. package/dist/components/gb-header.js +2 -2
  83. package/dist/components/gb-help-tooltip.js +1 -1
  84. package/dist/components/gb-horizontal-tabs.js +4 -4
  85. package/dist/components/gb-input-dropdown-menu-item.js +1 -1
  86. package/dist/components/gb-input-dropdown.js +1 -1
  87. package/dist/components/gb-input-field.js +1 -1
  88. package/dist/components/gb-pagination-button-group-base.js +1 -1
  89. package/dist/components/gb-pagination-dot-group.js +1 -1
  90. package/dist/components/gb-pagination-dot-indicator.js +1 -1
  91. package/dist/components/gb-pagination-number-base.js +1 -1
  92. package/dist/components/gb-pagination.js +18 -17
  93. package/dist/components/gb-pagination.js.map +1 -1
  94. package/dist/components/gb-password-button.js +1 -1
  95. package/dist/components/gb-progress-bar.js +1 -1
  96. package/dist/components/gb-progress-circle.js +1 -1
  97. package/dist/components/gb-rich-text.js +14 -14
  98. package/dist/components/gb-scrollbar.js +1 -1
  99. package/dist/components/gb-side-bar-item.js +1 -1
  100. package/dist/components/gb-sidebar.js +12 -13
  101. package/dist/components/gb-sidebar.js.map +1 -1
  102. package/dist/components/gb-slider-control-handle.js +1 -1
  103. package/dist/components/gb-slider.js +3 -3
  104. package/dist/components/gb-status-indicator.js +1 -1
  105. package/dist/components/gb-tab-button-base.js +1 -1
  106. package/dist/components/gb-tag-checkbox.js +1 -1
  107. package/dist/components/gb-tag-close.js +1 -1
  108. package/dist/components/gb-tag-count.js +1 -1
  109. package/dist/components/gb-tag.js +1 -1
  110. package/dist/components/gb-toast-button.js +1 -1
  111. package/dist/components/gb-toast.js +2 -2
  112. package/dist/components/gb-toggle-base.js +1 -1
  113. package/dist/components/gb-toggle.js +2 -2
  114. package/dist/components/gb-token-field.js +1 -1
  115. package/dist/components/gb-tooltip.js +1 -1
  116. package/dist/components/gb-verification-code-field.js +2 -2
  117. package/dist/components/gb-vertical-tabs.d.ts +11 -0
  118. package/dist/components/gb-vertical-tabs.js +132 -0
  119. package/dist/components/gb-vertical-tabs.js.map +1 -0
  120. package/dist/components/gb-wysiwyg-toolbar.js +1 -1
  121. package/dist/components/{p-b17585ec.js → p-0bde1b0e.js} +2 -2
  122. package/dist/components/{p-b17585ec.js.map → p-0bde1b0e.js.map} +1 -1
  123. package/dist/components/{p-7def9a0c.js → p-0c6b277d.js} +2 -2
  124. package/dist/components/{p-7def9a0c.js.map → p-0c6b277d.js.map} +1 -1
  125. package/dist/components/{p-6b417d00.js → p-12879e00.js} +2 -2
  126. package/dist/components/{p-6b417d00.js.map → p-12879e00.js.map} +1 -1
  127. package/dist/components/{p-ef76a407.js → p-1c1003b6.js} +2 -2
  128. package/dist/components/{p-ef76a407.js.map → p-1c1003b6.js.map} +1 -1
  129. package/dist/components/{p-99f8eb85.js → p-24625c69.js} +2 -2
  130. package/dist/components/{p-99f8eb85.js.map → p-24625c69.js.map} +1 -1
  131. package/dist/components/{p-75e5ba2a.js → p-29ca4063.js} +7 -7
  132. package/dist/components/{p-75e5ba2a.js.map → p-29ca4063.js.map} +1 -1
  133. package/dist/components/{p-c14ae549.js → p-2e73f436.js} +2 -2
  134. package/dist/components/{p-c14ae549.js.map → p-2e73f436.js.map} +1 -1
  135. package/dist/components/{p-2fedd9da.js → p-3254d1d4.js} +3 -3
  136. package/dist/components/{p-2fedd9da.js.map → p-3254d1d4.js.map} +1 -1
  137. package/dist/components/{p-62cba16e.js → p-35406f07.js} +143 -68
  138. package/dist/components/p-35406f07.js.map +1 -0
  139. package/dist/components/p-47052b60.js.map +1 -1
  140. package/dist/components/{p-5b236279.js → p-472f11a3.js} +2 -2
  141. package/dist/components/{p-5b236279.js.map → p-472f11a3.js.map} +1 -1
  142. package/dist/components/{p-6ed7f8fd.js → p-6557b598.js} +3 -3
  143. package/dist/components/{p-6ed7f8fd.js.map → p-6557b598.js.map} +1 -1
  144. package/dist/components/{p-5a175e1b.js → p-855667d7.js} +4 -4
  145. package/dist/components/p-855667d7.js.map +1 -0
  146. package/dist/components/{p-f44cfa90.js → p-88e8dfdb.js} +3 -3
  147. package/dist/components/{p-f44cfa90.js.map → p-88e8dfdb.js.map} +1 -1
  148. package/dist/components/{p-a5be24df.js → p-8a6370b2.js} +3 -3
  149. package/dist/components/{p-a5be24df.js.map → p-8a6370b2.js.map} +1 -1
  150. package/dist/components/{p-92560291.js → p-8a998306.js} +2 -2
  151. package/dist/components/{p-92560291.js.map → p-8a998306.js.map} +1 -1
  152. package/dist/components/{p-cf36ddf6.js → p-99ac6a1b.js} +37 -29
  153. package/dist/components/p-99ac6a1b.js.map +1 -0
  154. package/dist/components/{p-e671339d.js → p-ac14b3b7.js} +8 -8
  155. package/dist/components/p-ac14b3b7.js.map +1 -0
  156. package/dist/components/{p-0ad4eab9.js → p-ad3a2c04.js} +2 -2
  157. package/dist/components/{p-0ad4eab9.js.map → p-ad3a2c04.js.map} +1 -1
  158. package/dist/components/{p-c74e6b18.js → p-b0acdded.js} +13 -13
  159. package/dist/components/{p-c74e6b18.js.map → p-b0acdded.js.map} +1 -1
  160. package/dist/components/{p-d0c7cb58.js → p-c2efc577.js} +2 -2
  161. package/dist/components/{p-d0c7cb58.js.map → p-c2efc577.js.map} +1 -1
  162. package/dist/components/{p-86a65382.js → p-c8f12e95.js} +2 -2
  163. package/dist/components/{p-86a65382.js.map → p-c8f12e95.js.map} +1 -1
  164. package/dist/components/{p-38b74f4c.js → p-cbe0d594.js} +2 -2
  165. package/dist/components/{p-38b74f4c.js.map → p-cbe0d594.js.map} +1 -1
  166. package/dist/components/{p-b86bef4d.js → p-d401040a.js} +3 -3
  167. package/dist/components/{p-b86bef4d.js.map → p-d401040a.js.map} +1 -1
  168. package/dist/components/{p-40545eb0.js → p-db3b8bbc.js} +3 -9
  169. package/dist/components/p-db3b8bbc.js.map +1 -0
  170. package/dist/components/{p-30587454.js → p-e7fb3e27.js} +3 -3
  171. package/dist/components/{p-30587454.js.map → p-e7fb3e27.js.map} +1 -1
  172. package/dist/components/{p-116a3de5.js → p-ec43535d.js} +6 -6
  173. package/dist/components/{p-116a3de5.js.map → p-ec43535d.js.map} +1 -1
  174. package/dist/components/{p-1370acdb.js → p-fdb2a202.js} +3 -3
  175. package/dist/components/{p-1370acdb.js.map → p-fdb2a202.js.map} +1 -1
  176. package/dist/components/test-input-tag.js +9 -9
  177. package/dist/esm/{gb-avatar_44.entry.js → gb-avatar_45.entry.js} +261 -135
  178. package/dist/esm/gb-avatar_45.entry.js.map +1 -0
  179. package/dist/esm/gb-export-dropdown.entry.js +2 -2
  180. package/dist/esm/gb-export-dropdown.entry.js.map +1 -1
  181. package/dist/esm/gb-pagination-dot-group.entry.js +1 -1
  182. package/dist/esm/gb-progress-circle.entry.js +1 -1
  183. package/dist/esm/gb-rich-text.entry.js +1 -1
  184. package/dist/esm/gb-scrollbar.entry.js +1 -1
  185. package/dist/esm/gb-toggle.entry.js +1 -1
  186. package/dist/esm/gb-token-field.entry.js +1 -1
  187. package/dist/esm/gb-verification-code-field.entry.js +2 -2
  188. package/dist/esm/globuscomponents.js +1 -1
  189. package/dist/esm/loader.js +1 -1
  190. package/dist/esm/reusableModels-8496e911.js.map +1 -1
  191. package/dist/esm/test-input-tag.entry.js +2 -2
  192. package/dist/globuscomponents/assets/empty-state-background.svg +60 -0
  193. package/dist/globuscomponents/assets/empty-state-no-data.svg +42 -0
  194. package/dist/globuscomponents/globuscomponents.esm.js +1 -1
  195. package/dist/globuscomponents/globuscomponents.esm.js.map +1 -1
  196. package/dist/globuscomponents/{p-9f612212.entry.js → p-09f97c9b.entry.js} +2 -2
  197. package/dist/globuscomponents/p-123789b1.entry.js +2 -0
  198. package/dist/globuscomponents/p-47052b60.js.map +1 -1
  199. package/dist/globuscomponents/{p-65f494ea.entry.js → p-69239722.entry.js} +2 -2
  200. package/dist/globuscomponents/p-a6568465.entry.js +2 -0
  201. package/dist/globuscomponents/{p-6e05335a.entry.js → p-a786f9fa.entry.js} +2 -2
  202. package/dist/globuscomponents/{p-70868bfe.entry.js → p-b5d57e93.entry.js} +2 -2
  203. package/dist/globuscomponents/{p-13fb8ad0.entry.js → p-b65519f9.entry.js} +2 -2
  204. package/dist/globuscomponents/{p-27ad012f.entry.js → p-ebe37817.entry.js} +2 -2
  205. package/dist/globuscomponents/p-ebe37817.entry.js.map +1 -0
  206. package/dist/globuscomponents/{p-cc42edb7.entry.js → p-f4d25885.entry.js} +2 -2
  207. package/dist/globuscomponents/p-f4d25885.entry.js.map +1 -0
  208. package/dist/globuscomponents/{p-f8a6d94e.entry.js → p-f58cd21d.entry.js} +2 -2
  209. package/dist/types/components/gb-input-dropdown/gb-input-dropdown.d.ts +10 -4
  210. package/dist/types/components/gb-input-field/gb-input-field.d.ts +0 -1
  211. package/dist/types/components/gb-pagination-button-group-base/gb-pagination-button-group-base.d.ts +0 -3
  212. package/dist/types/components/gb-vertical-tabs/gb-vertical-tabs.d.ts +31 -0
  213. package/dist/types/components.d.ts +83 -10
  214. package/dist/types/models/reusableModels.d.ts +2 -2
  215. package/package.json +1 -1
  216. package/dist/cjs/gb-avatar_44.cjs.entry.js.map +0 -1
  217. package/dist/components/p-40545eb0.js.map +0 -1
  218. package/dist/components/p-5a175e1b.js.map +0 -1
  219. package/dist/components/p-62cba16e.js.map +0 -1
  220. package/dist/components/p-cf36ddf6.js.map +0 -1
  221. package/dist/components/p-e671339d.js.map +0 -1
  222. package/dist/esm/gb-avatar_44.entry.js.map +0 -1
  223. package/dist/globuscomponents/p-27ad012f.entry.js.map +0 -1
  224. package/dist/globuscomponents/p-cc42edb7.entry.js.map +0 -1
  225. package/dist/globuscomponents/p-dd933232.entry.js +0 -2
  226. package/dist/globuscomponents/p-ffe76eeb.entry.js +0 -2
  227. /package/dist/globuscomponents/{p-9f612212.entry.js.map → p-09f97c9b.entry.js.map} +0 -0
  228. /package/dist/globuscomponents/{p-dd933232.entry.js.map → p-123789b1.entry.js.map} +0 -0
  229. /package/dist/globuscomponents/{p-65f494ea.entry.js.map → p-69239722.entry.js.map} +0 -0
  230. /package/dist/globuscomponents/{p-ffe76eeb.entry.js.map → p-a6568465.entry.js.map} +0 -0
  231. /package/dist/globuscomponents/{p-6e05335a.entry.js.map → p-a786f9fa.entry.js.map} +0 -0
  232. /package/dist/globuscomponents/{p-70868bfe.entry.js.map → p-b5d57e93.entry.js.map} +0 -0
  233. /package/dist/globuscomponents/{p-13fb8ad0.entry.js.map → p-b65519f9.entry.js.map} +0 -0
  234. /package/dist/globuscomponents/{p-f8a6d94e.entry.js.map → p-f58cd21d.entry.js.map} +0 -0
@@ -17,31 +17,48 @@ export class GbInputDropdown {
17
17
  this.leadingIcon = '';
18
18
  this.icon = undefined;
19
19
  this.items = [
20
- // { name: 'Mock Item A', username: 'A', selected: false },
21
- // { name: 'Mock Item B', username: 'B', selected: false },
22
- // { name: 'Mock Item C', username: 'C', selected: false },
23
- // 45, 50, 20
24
- // 'Activated',
25
- // 'Deactivated',
20
+ { name: 'Mock Item A', username: 'A', selected: false },
21
+ { name: 'Mock Item B', username: 'B', selected: false },
22
+ { name: 'Mock Item C', username: 'C', selected: false },
23
+ 45, 50, 20, 25, 90, 92, 53,
24
+ 'Activated',
25
+ 'Deactivated',
26
26
  ];
27
27
  this.value = [
28
- // { name: 'Mock Item A', username: 'A', selected: false },
29
- // { name: 'Mock Item B', username: 'B', selected: false },
30
- // { name: 'Mock Item C', username: 'C', selected: false },
31
- // 45, 50, 20, 25, 90,
32
- // 'Activated',
33
- // 'Deactivated',
28
+ { name: 'Mock Item A', username: 'A', selected: false },
29
+ { name: 'Mock Item B', username: 'B', selected: false },
30
+ { name: 'Mock Item C', username: 'C', selected: false },
31
+ 45, 50, 20, 25, 90,
32
+ 'Activated',
33
+ // 'Deactivated',
34
34
  ];
35
35
  this.supportingText = false;
36
36
  this.color = undefined;
37
37
  this.showBorder = false;
38
38
  this.menuPosition = undefined;
39
39
  this.showSearchInput = false;
40
+ this.inputValue = undefined;
40
41
  this.leadingIconSvg = '';
41
42
  this.dropdownOpen = false;
42
43
  this.selectedItems = [];
43
44
  this.unselectedItems = [];
44
45
  this.selectedItem = undefined;
46
+ this.searchItem = undefined;
47
+ this.searchResults = undefined;
48
+ }
49
+ searchItems(event) {
50
+ this.searchItem = event.detail;
51
+ this.searchResults = this.items.filter((item) => {
52
+ if (typeof item === 'string') {
53
+ return item.toLowerCase().includes(this.searchItem.toLowerCase());
54
+ }
55
+ else if (typeof item === 'number') {
56
+ return item.toString().includes(this.searchItem.toString());
57
+ }
58
+ else if (typeof item === 'object') {
59
+ return item.name.toLowerCase().includes(this.searchItem.toLowerCase());
60
+ }
61
+ });
45
62
  }
46
63
  disconnectedCallback() {
47
64
  document.removeEventListener('click', this.handleClickOutside);
@@ -55,17 +72,17 @@ export class GbInputDropdown {
55
72
  if (this.state !== 'disabled') {
56
73
  this.dropdownOpen = !this.dropdownOpen;
57
74
  }
75
+ // console.log(this.inputValue);
58
76
  event.stopPropagation();
59
77
  }
60
78
  isItemSelected(item) {
61
- // if(typeof selectedItem === 'object') {
62
- // const found = this.selectedItems.find(item => item.name === selectedItem.name);
63
- // return found !== undefined;
64
- // } else {
65
- // return this.selectedItem === selectedItem;
66
- // }
67
79
  const isObject = typeof item === 'object';
68
- return this.selectedItems.some(i => (isObject ? i.name === item.name : i === item));
80
+ if (this.value.length === 0) {
81
+ return this.selectedItems.some(i => (isObject ? i.name === item.name : i === item));
82
+ }
83
+ else if (this.value.length > 0) {
84
+ return this.value.some(i => (isObject ? i.name === item.name : i === item));
85
+ }
69
86
  }
70
87
  async loadIcon(iconName) {
71
88
  const iconPath = getAssetPath(`${iconName}`);
@@ -93,58 +110,109 @@ export class GbInputDropdown {
93
110
  });
94
111
  }
95
112
  handleItemSelect(item) {
96
- const isObject = typeof item === 'object';
97
113
  if (this.type === 'tags') {
98
- // Handle multiple selection for "tags" type
99
- const isSelected = this.selectedItems.some(i => (isObject ? i.name === item.name : i === item));
100
- if (isSelected) {
101
- // Unselect item: Move it from selectedItems to unselectedItems
102
- this.selectedItems = this.selectedItems.filter(i => (isObject ? i.name !== item.name : i !== item));
103
- if (!this.unselectedItems.some(i => (isObject ? i.name === item.name : i === item))) {
104
- this.unselectedItems = [...this.unselectedItems, item];
105
- }
114
+ if (this.state === 'default') {
115
+ this.selectMultipleItems(item);
116
+ console.log(this.selectedItems);
117
+ }
118
+ else if (this.state === 'filled' && this.value.length > 0) {
119
+ this.state = 'default';
120
+ this.value.length = 0;
121
+ this.selectMultipleItems(item);
106
122
  }
107
- else {
108
- // Select item: Move it from unselectedItems to selectedItems
109
- this.selectedItems = [...this.selectedItems, item];
110
- this.unselectedItems = this.unselectedItems.filter(i => (isObject ? i.name !== item.name : i !== item));
111
- this.dropdownItemSelected.emit(this.selectedItems);
123
+ else if (this.state === 'filled' && this.value.length === 0) {
124
+ this.selectMultipleItems(item);
112
125
  }
113
126
  }
114
127
  else {
115
- // Handle single selection for other types
116
- this.selectedItem = item; // Store single selected item
117
- this.selectedItems = [item]; // Ensure only one item in selectedItems
118
- // this.unselectedItems = this.items.filter(i => (isObject ? i.name !== item.name : i !== item));
119
- // Close the dropdown after selection for single selection types
120
- this.dropdownOpen = false;
121
- this.dropdownItemSelected.emit(this.selectedItem);
128
+ if (this.state === 'default') {
129
+ this.singleItemSelect(item);
130
+ }
131
+ else if (this.state === 'filled' && this.value.length > 0) {
132
+ this.state = 'default';
133
+ this.value.length = 0;
134
+ this.singleItemSelect(item);
135
+ }
136
+ else if (this.state === 'filled' && this.value.length === 0) {
137
+ this.singleItemSelect(item);
138
+ }
122
139
  }
123
140
  this.state = this.selectedItems.length > 0 ? 'filled' : 'default';
141
+ // console.log(this.state)
124
142
  }
125
- handleTagRemove(item) {
143
+ singleItemSelect(item) {
144
+ // Handle single selection for other types
145
+ this.selectedItem = item; // Store single selected item
146
+ this.selectedItems = [item]; // Ensure only one item in selectedItems
147
+ // Close the dropdown after selection for single selection types
148
+ this.dropdownOpen = false;
149
+ this.dropdownItemSelected.emit(this.selectedItem);
150
+ }
151
+ selectMultipleItems(item) {
126
152
  const isObject = typeof item === 'object';
127
- // Remove item from selectedItems
128
- this.selectedItems = this.selectedItems.filter(i => (isObject ? i.name !== item.name : i !== item));
129
- // Add item back to unselectedItems if not already present
130
- if (!this.unselectedItems.some(i => (isObject ? i.name === item.name : i === item))) {
131
- this.unselectedItems = [...this.unselectedItems, item];
153
+ const isSelected = this.selectedItems.some(i => (isObject ? i.name === item.name : i === item));
154
+ if (isSelected) {
155
+ // Unselect item: Move it from selectedItems to unselectedItems
156
+ this.selectedItems = this.selectedItems.filter(i => (isObject ? i.name !== item.name : i !== item));
157
+ if (!this.unselectedItems.some(i => (isObject ? i.name === item.name : i === item))) {
158
+ this.unselectedItems = [...this.unselectedItems, item];
159
+ }
160
+ }
161
+ else {
162
+ // Select item: Move it from unselectedItems to selectedItems
163
+ this.selectedItems = [...this.selectedItems, item];
164
+ this.unselectedItems = this.unselectedItems.filter(i => (isObject ? i.name !== item.name : i !== item));
165
+ this.dropdownItemSelected.emit(this.selectedItems);
166
+ }
167
+ }
168
+ handleTagRemove(item) {
169
+ if (this.value.length === 0) {
170
+ const isObject = typeof item === 'object';
171
+ // Remove item from selectedItems
172
+ this.selectedItems = this.selectedItems.filter(i => (isObject ? i.name !== item.name : i !== item));
173
+ // Add item back to unselectedItems if not already present
174
+ if (!this.unselectedItems.some(i => (isObject ? i.name === item.name : i === item))) {
175
+ this.unselectedItems = [...this.unselectedItems, item];
176
+ }
177
+ // Optionally update state or emit event
178
+ this.state = this.selectedItems.length > 0 ? 'filled' : 'default';
179
+ }
180
+ else if (this.value.length > 0) {
181
+ const isObject = typeof item === 'object';
182
+ // Remove item from selectedItems
183
+ this.value = this.value.filter(i => (isObject ? i.name !== item.name : i !== item));
184
+ this.selectedItems = this.value;
185
+ // Add item back to unselectedItems if not already present
186
+ if (!this.unselectedItems.some(i => (isObject ? i.name === item.name : i === item))) {
187
+ this.unselectedItems = [...this.unselectedItems, item];
188
+ }
189
+ // Optionally update state or emit event
190
+ this.state = this.selectedItems.length > 0 ? 'filled' : 'default';
132
191
  }
133
- // Optionally update state or emit event
134
- this.state = this.selectedItems.length > 0 ? 'filled' : 'default';
135
192
  }
136
193
  componentWillRender() {
137
194
  if (this.value.length > 0 && this.state === 'default') {
138
195
  this.state = 'filled';
139
196
  }
140
197
  }
141
- componentWillLoad() {
198
+ componentWillLoad(item) {
142
199
  this.loadIcon(this.leadingIcon);
143
200
  this.unselectedItems = [...this.items];
144
201
  this.selectedItems = [];
145
202
  if (this.type !== 'tags') {
146
203
  this.selectedItem = null; // For single selection types
147
204
  }
205
+ if (this.value.length > 0) {
206
+ if (typeof item !== 'object') {
207
+ this.selectedItems = this.items.filter(item => this.value.includes(item));
208
+ this.unselectedItems = this.items.filter(item => !this.value.includes(item));
209
+ }
210
+ else if (typeof item === 'object') {
211
+ this.selectedItems = this.items.filter(item => this.value.includes(item.name));
212
+ this.unselectedItems = this.items.filter(item => !this.value.includes(item.name));
213
+ }
214
+ console.log(this.selectedItems);
215
+ }
148
216
  }
149
217
  componentDidLoad() {
150
218
  if (this.type !== 'tags') {
@@ -183,17 +251,21 @@ export class GbInputDropdown {
183
251
  }
184
252
  render() {
185
253
  var _a;
254
+ const emptyStateBackground = getAssetPath('assets/empty-state-background.svg');
255
+ const illustration = getAssetPath('assets/empty-state-no-data.svg');
186
256
  return [
187
- h("div", { key: '95aaddcc8c0759c1acd6540aadb0ff3edb91305a', class: `input_dropdown_container ${this.type === 'tags' ? 'tag' : ''}` }, h("div", { key: '2f3718d6cf74b339fa957039a86f129465273b1d', class: `input_with_label` }, this.showLabel && (h("p", { key: '97c61833a1cdeab3aed3e68f0f087fe7cdd8b2c6', class: "text-sm-regular", style: { color: '#4B5565' } }, this.label.charAt(0).toUpperCase() + this.label.slice(1).toLowerCase())), h("div", { key: 'bd147e52741db78b5613be2fbf7ecab0a4aa4b6d', class: `input_dropdown_div ${this.size} ${this.state} ${this.type === 'tags' ? 'tag' : ''}`, onClick: e => this.toggleDropdown(e) }, this.type === 'icon_leading' && (h("svg", { key: 'db7ef374f8f4b3a892d560018f81deb861ef9f45', xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none" }, h("path", { key: '497229b585696c9c4598287ebc74c3916d35e591', d: "M5.48131 12.9013C4.30234 13.6033 1.21114 15.0368 3.09388 16.8305C4.01359 17.7067 5.03791 18.3333 6.32572 18.3333H13.6743C14.9621 18.3333 15.9864 17.7067 16.9061 16.8305C18.7889 15.0368 15.6977 13.6033 14.5187 12.9013C11.754 11.2551 8.24599 11.2551 5.48131 12.9013Z", stroke: "#697586", "stroke-width": "1.66667" }), h("path", { key: 'b12fe0fbf293a246f8bd9461aade43dd261985b4', d: "M13.75 5.41667C13.75 7.48774 12.0711 9.16667 10 9.16667C7.92893 9.16667 6.25 7.48774 6.25 5.41667C6.25 3.3456 7.92893 1.66667 10 1.66667C12.0711 1.66667 13.75 3.3456 13.75 5.41667Z", stroke: "#697586", "stroke-width": "1.66667" }))), this.type === 'avatar_leading' && (h(Fragment, null, this.state === 'default' && (h("svg", { key: '59d601c781ab87dd46b78cdd0af2482eaf532574', xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none" }, h("path", { key: '2f3b6b6d298702d7c9f08bb7dc4332186b98603a', d: "M5.48131 12.9013C4.30234 13.6033 1.21114 15.0368 3.09388 16.8305C4.01359 17.7067 5.03791 18.3333 6.32572 18.3333H13.6743C14.9621 18.3333 15.9864 17.7067 16.9061 16.8305C18.7889 15.0368 15.6977 13.6033 14.5187 12.9013C11.754 11.2551 8.24599 11.2551 5.48131 12.9013Z", stroke: "#4B5565", "stroke-width": "1.66667" }), h("path", { key: '97c77b3a4ce3452754977892b8bad2bfce2a8511', d: "M13.75 5.41666C13.75 7.48772 12.0711 9.16666 10 9.16666C7.92893 9.16666 6.25 7.48772 6.25 5.41666C6.25 3.34559 7.92893 1.66666 10 1.66666C12.0711 1.66666 13.75 3.34559 13.75 5.41666Z", stroke: "#4B5565", "stroke-width": "1.66667" }))), this.state === 'filled' && (h("gb-avatar", { key: 'b9e5a0c89c776e8d65b1e86b29f17974dc257b97', size: "xs", text: this.text, color: this.color, "show-border": this.showBorder }, h("h1", { key: '57c1ca055bd94998d63e0603f54dc800d45a7eb9', slot: "initials" }, this.selectedItem.name.split(' ').map(part => part.charAt(0).toUpperCase())))))), this.showLeadingIcon && h(Fragment, null, this.type === 'search' || this.type === 'tags' ? h("div", { class: `icon`, innerHTML: this.leadingIconSvg }) : null), this.type === 'dot_leading' && (h("svg", { key: '019a05371b75b0197674ad80f2b7d0016567725a', xmlns: "http://www.w3.org/2000/svg", width: "10", height: "10", viewBox: "0 0 10 10", fill: "none", class: `dot ${this.size}` }, h("circle", { key: '82e43fe139f7c6c22737ba243db342c2ea3d7dfc', cx: "5", cy: "5", r: "4", fill: "#079455" }))), h("div", { key: '60a4a0f74893a4f49da8b11fcd9978882c44319a', class: "placeholder" }, h(Fragment, null, this.state === 'default' && (h(Fragment, null, this.placeholder && (h("p", { key: '87ff775cf995462a363f28a9d52a3d14247f10dd', class: "text-md-regular", style: { color: '#CDD5DF' } }, this.placeholder)))), this.state === 'filled' && (h(Fragment, null, h("div", { key: '00b054ae180e1291a616b8d6a53e74bddc1dcab8', class: `content` }, h("div", { key: '89d60fcb8b77211e94c34356e2d172fc07fc7d14', class: `text text-md-regular ${this.type === 'tags' ? 'tag' : ''}`, style: { color: '#4B5565' } }, this.type === 'tags' ? (h(Fragment, null, this.value.length === 0 ? (h(Fragment, null, this.selectedItems.map((item, index) => typeof item === 'object' ? (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close", onClick: () => this.handleTagRemove(item) }, h("p", { class: "text-xs-medium" }, item.name.split(' ')[0]), h("h1", { slot: "initials", class: "text-xxs-semi-bold" }, item.name
257
+ h("div", { key: '72e9747f734611f23b8046306afa1f90572738cd', class: `input_dropdown_container ${this.type === 'tags' ? 'tag' : ''}` }, h("div", { key: '7a394b35636231df8b3bf8c9543fb7e55aa163b5', class: `input_with_label` }, this.showLabel && (h("p", { key: '4c1492fe52327d1a2c3fb8257c15279cb5e2a45e', class: "text-sm-regular", style: { color: '#4B5565' } }, this.label.charAt(0).toUpperCase() + this.label.slice(1).toLowerCase())), h("div", { key: 'ae5f58fb4499f8909aaf368a2b5ec0ed9c367534', class: `input_dropdown_div ${this.size} ${this.state} ${this.type === 'tags' ? 'tag' : ''}`, onClick: e => this.toggleDropdown(e) }, this.type === 'icon_leading' && (h("svg", { key: 'e1be663925b1b9c87b17430777dafda377d6cf6b', xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none" }, h("path", { key: '90780193ad3b68966cc753fe432dc125c90fa541', d: "M5.48131 12.9013C4.30234 13.6033 1.21114 15.0368 3.09388 16.8305C4.01359 17.7067 5.03791 18.3333 6.32572 18.3333H13.6743C14.9621 18.3333 15.9864 17.7067 16.9061 16.8305C18.7889 15.0368 15.6977 13.6033 14.5187 12.9013C11.754 11.2551 8.24599 11.2551 5.48131 12.9013Z", stroke: "#697586", "stroke-width": "1.66667" }), h("path", { key: 'f730f2dd87ab0afcb1c466944a97f4b69893b5b4', d: "M13.75 5.41667C13.75 7.48774 12.0711 9.16667 10 9.16667C7.92893 9.16667 6.25 7.48774 6.25 5.41667C6.25 3.3456 7.92893 1.66667 10 1.66667C12.0711 1.66667 13.75 3.3456 13.75 5.41667Z", stroke: "#697586", "stroke-width": "1.66667" }))), this.type === 'avatar_leading' && (h(Fragment, null, this.state === 'default' && (h("svg", { key: '173d5117e5ca2947663f62235022a9b31e746463', xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none" }, h("path", { key: '501b135ba6085a60cc32b33ecd50593c13fee640', d: "M5.48131 12.9013C4.30234 13.6033 1.21114 15.0368 3.09388 16.8305C4.01359 17.7067 5.03791 18.3333 6.32572 18.3333H13.6743C14.9621 18.3333 15.9864 17.7067 16.9061 16.8305C18.7889 15.0368 15.6977 13.6033 14.5187 12.9013C11.754 11.2551 8.24599 11.2551 5.48131 12.9013Z", stroke: "#4B5565", "stroke-width": "1.66667" }), h("path", { key: 'a743adbac79efc0f99747c9e4941be9d180bb799', d: "M13.75 5.41666C13.75 7.48772 12.0711 9.16666 10 9.16666C7.92893 9.16666 6.25 7.48772 6.25 5.41666C6.25 3.34559 7.92893 1.66666 10 1.66666C12.0711 1.66666 13.75 3.34559 13.75 5.41666Z", stroke: "#4B5565", "stroke-width": "1.66667" }))), this.state === 'filled' && (h("gb-avatar", { key: '54356962d194f57d05a2d4482e8ea116745f883a', size: "xs", text: this.text, color: this.color, "show-border": this.showBorder }, h("h1", { key: 'a60df2c7dc5cd4ceaf869245a802af9bf479dc78', slot: "initials" }, this.selectedItem.name.split(' ').map(part => part.charAt(0).toUpperCase())))))), this.showLeadingIcon && h(Fragment, null, this.type === 'search' || this.type === 'tags' ? h("div", { class: `icon`, innerHTML: this.leadingIconSvg }) : null), this.type === 'dot_leading' && (h("svg", { key: '99f2317980563fe6b482d7f2ed7c7342c78d7aec', xmlns: "http://www.w3.org/2000/svg", width: "10", height: "10", viewBox: "0 0 10 10", fill: "none", class: `dot ${this.size}` }, h("circle", { key: '519ef6ffd0d376c1389d393c6a4413775487f881', cx: "5", cy: "5", r: "4", fill: "#079455" }))), h("div", { key: 'e1eea820f5c57af8909129f8554be7853d9d3718', class: "placeholder" }, h(Fragment, null, this.state === 'default' && (h(Fragment, null, this.placeholder && (h("p", { key: 'f9f77b0fb89786077a1955ee7f8011fb9c72ca5e', class: "text-md-regular", style: { color: '#CDD5DF' } }, this.placeholder)))), this.state === 'filled' && (h(Fragment, null, h("div", { key: '7eb664e69a2ffacc5c6e579ba8968510395f4120', class: `content` }, h("div", { key: '76933b5d1dde1961053e805d04c2881351c3d78e', class: `text text-md-regular ${this.type === 'tags' ? 'tag' : ''}`, style: { color: '#4B5565' } }, this.type === 'tags' ? (h(Fragment, null, this.value.length === 0 ? (h(Fragment, null, this.selectedItems.map((item, index) => typeof item === 'object' ? (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close", onClick: () => this.handleTagRemove(item) }, h("p", { class: "text-xs-medium" }, item.name.split(' ')[0]), h("h1", { slot: "initials", class: "text-xxs-semi-bold" }, item.name
188
258
  .split(' ')
189
259
  .map(part => part.charAt(0).toUpperCase())
190
260
  .join(''))))) : (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close", onClick: () => this.handleTagRemove(item) }, h("p", { class: "text-xs-medium" }, item))))))) : (h(Fragment, null, this.value.map((item, index) => typeof item === 'object' ? (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close", onClick: () => this.handleTagRemove(item) }, h("p", { class: "text-xs-medium" }, item.name.split(' ')[0]), h("h1", { slot: "initials", class: "text-xxs-semi-bold" }, item.name
191
261
  .split(' ')
192
262
  .map(part => part.charAt(0).toUpperCase())
193
- .join(''))))) : (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close", onClick: () => this.handleTagRemove(item) }, h("p", { class: "text-xs-medium" }, item))))))))) : (h(Fragment, null, this.value.length === 0 ? ((_a = this.selectedItem) === null || _a === void 0 ? void 0 : _a.name) || this.selectedItem : h(Fragment, null, this.value.map(item => (typeof item === 'object' ? item.name : item)))))), this.supportingText && (h("div", { key: '1a7b42a7c4fa6f5c79fc4d9fc0d2fd2a8bb18bcf', class: "supporting_text text-sm-regular", style: { color: '#697586' } }, this.type !== 'tags' && (h(Fragment, null, this.value.length === 0 ? (h(Fragment, null, "@", this.selectedItem.username)) : (h(Fragment, null, this.value.map((item) => typeof item === 'object' && item.username)))))))))), this.state === 'disabled' && (h(Fragment, null, h("div", { key: '38f29de25029bd0ee3f7a94db874387938ccf5ac', class: `content` }, h("div", { key: 'e0ca803fa25479ca2208f180278d34ae63618cf8', class: `text text-md-regular ${this.type === 'tags' ? 'tag' : ''}`, style: { color: '#4B5565' } }, this.type === 'tags' ? (h(Fragment, null, this.value.map((item, index) => typeof item === 'object' ? (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close" }, h("p", { class: "text-xs-medium" }, item.name.split(' ')[0]), h("h1", { slot: "initials", class: "text-xxs-semi-bold" }, item.name
263
+ .join(''))))) : (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close", onClick: () => this.handleTagRemove(item) }, h("p", { class: "text-xs-medium" }, item))))))))) : (h(Fragment, null, this.value.length === 0 ? ((_a = this.selectedItem) === null || _a === void 0 ? void 0 : _a.name) || this.selectedItem : h(Fragment, null, this.value.map(item => (typeof item === 'object' ? item.name : item)))))), this.supportingText && (h("div", { key: '5624f818c49c8d5860d8a962979f659d16037c6d', class: "supporting_text text-sm-regular", style: { color: '#697586' } }, this.type !== 'tags' && (h(Fragment, null, this.value.length === 0 ? (h(Fragment, null, "@", this.selectedItem.username)) : (h(Fragment, null, this.value.map((item) => typeof item === 'object' && item.username)))))))))), this.state === 'disabled' && (h(Fragment, null, h("div", { key: '4cd356b524520d12bfdabfc543cba490cea966b7', class: `content` }, h("div", { key: 'e49ec3b6cf3aa1ac5cdae765c06c35f6f505c9c1', class: `text text-md-regular ${this.type === 'tags' ? 'tag' : ''}`, style: { color: '#4B5565' } }, this.type === 'tags' ? (h(Fragment, null, this.value.map((item, index) => typeof item === 'object' ? (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close" }, h("p", { class: "text-xs-medium" }, item.name.split(' ')[0]), h("h1", { slot: "initials", class: "text-xxs-semi-bold" }, item.name
194
264
  .split(' ')
195
265
  .map(part => part.charAt(0).toUpperCase())
196
- .join(''))))) : (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close" }, h("p", { class: "text-xs-medium" }, item))))))) : (h(Fragment, null, h(Fragment, null, this.value.map(item => (typeof item === 'object' ? item.name : item)))))), this.supportingText && (h("div", { key: '3f17900ee57e9483bcbaaf93bbdf7078c64f01c7', class: "supporting_text text-sm-regular", style: { color: '#697586' } }, this.type !== 'tags' && (h(Fragment, null, this.value.length === 0 ? (h(Fragment, null, "@", this.selectedItem.username)) : (h(Fragment, null, this.value.map((item) => typeof item === 'object' && (h(Fragment, null, "@", item.username)))))))))))))), this.showHelpIcon && (h("div", { key: 'ebec775aab261d5a2f45b5476d96c67da501b4d7', class: `help_icon` }, h("gb-help-tooltip", { key: '3d44f1c42c0db1905adde44fe883823b3ace2101', "show-supporting-text": true }, h("slot", { key: '538c59b413395bed4217cda42de0b2d34785b4ac', name: "tooltip_label", slot: "label" }), h("slot", { key: '4debad1f92214c5eca44eae130f5ab70d7729945', name: "tooltip_supporting_text", slot: "supporting_text" })))), this.type !== 'search' && (h("div", { key: '42e4172d8e425826da8be2b027973a63b75631cb', class: `dropdown_icon ${this.dropdownOpen ? 'opened' : ''}` }, h("svg", { key: '3c650bf507e3afd66722f584c0782739325b7a2a', xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", class: `${this.state}` }, h("path", { key: '46ea80f0764509b5f08e90c7f7369baf1792d0ba', d: "M15 7.50004C15 7.50004 11.3176 12.5 9.99996 12.5C8.68237 12.5 5 7.5 5 7.5", stroke: "#697586", "stroke-width": "1.66667", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h(Fragment, null, this.dropdownOpen && (h("div", { key: '723acaab6bb486d7101c95881e00ad7cb8587e25', class: `dropdown_menu ${this.menuPosition}`, ref: el => (this.dropdownRef = el), onClick: e => e.stopPropagation() }, this.showSearchInput && (h("div", { key: 'd0e77d1ad03d9a364ac783152d8bdcc1b784b759', class: "dropdown_search_field" }, h("gb-input-field", { key: '294be90fb0bace2414e3804a3d7c37acbe1c92b7', size: "sm", "show-close-button": true, "icon-swap": "assets/search-01.svg", placeholder: "Search banks", type: "icon_leading", labelText: "label", idOfInput: "3" }))), this.type === 'tags' ? (h(Fragment, null, this.selectedItems.map(item => (h("gb-input-dropdown-menu-item", { type: this.type === 'search' ? 'checkbox' : this.type === 'tags' ? 'checkbox' : this.type, state: StateEnum.Default, "supporting-text": this.supportingText, selected: true, onClick: () => this.handleItemSelect(item) }, typeof item === 'object' ? (h(Fragment, null, h("p", { slot: "name" }, item.name), h("p", { slot: "supporting_text" }, "@", item.username))) : (h("p", { slot: "name" }, item))))), this.unselectedItems.map(item => (h("gb-input-dropdown-menu-item", { type: this.type === 'search' ? 'checkbox' : this.type === 'tags' ? 'checkbox' : this.type, state: StateEnum.Default, "supporting-text": this.supportingText, selected: false, onClick: () => this.handleItemSelect(item) }, typeof item === 'object' ? (h(Fragment, null, h("p", { slot: "name" }, item.name), h("p", { slot: "supporting_text" }, "@", item.username))) : (h("p", { slot: "name" }, item))))))) : (h(Fragment, null, this.items.map(item => (h("gb-input-dropdown-menu-item", { type: this.type === 'search' ? 'checkbox' : this.type === 'tags' ? 'checkbox' : this.type, state: StateEnum.Default, "supporting-text": this.supportingText, selected: this.isItemSelected(item), color: this.color, onClick: () => this.handleItemSelect(item) }, typeof item === 'object' ? (h(Fragment, null, h("p", { slot: "name" }, item.name), h("h1", { slot: "initials" }, item.name.split(' ').map(part => part.charAt(0).toUpperCase())), h("p", { slot: "supporting_text" }, "@", item.username))) : (typeof item !== 'object' && h("p", { slot: "name" }, item)))))))))))), this.showHintText && (h("p", { key: '501308d2294417a693adba47573446136cf1d077', class: "text-sm-regular", style: { color: '#697586' } }, this.hintText))),
266
+ .join(''))))) : (h("div", { class: "added_tag", key: index }, h("gb-tag", { size: "sm", icon: this.icon ? this.icon : 'avatar', action: "X_close" }, h("p", { class: "text-xs-medium" }, item))))))) : (h(Fragment, null, h(Fragment, null, this.value.map(item => (typeof item === 'object' ? item.name : item)))))), this.supportingText && (h("div", { key: 'd6f4255dded94edcbb87e535c6372f6b758048bd', class: "supporting_text text-sm-regular", style: { color: '#697586' } }, this.type !== 'tags' && (h(Fragment, null, this.value.length === 0 ? (h(Fragment, null, "@", this.selectedItem.username)) : (h(Fragment, null, this.value.map((item) => typeof item === 'object' && (h(Fragment, null, "@", item.username)))))))))))))), this.showHelpIcon && (h("div", { key: '70711957da57ca69152a72222bd4f68568f79e1c', class: `help_icon` }, h("gb-help-tooltip", { key: '47c4b9b39e9587073cd2d22593a12c955264d078', "show-supporting-text": true }, h("slot", { key: 'c5f3135525ba13df0e1d77aa3714092490b53320', name: "tooltip_label", slot: "label" }), h("slot", { key: 'a07e6e6b7076a7a083168c022add780fe867cb0a', name: "tooltip_supporting_text", slot: "supporting_text" })))), this.type !== 'search' && (h("div", { key: '37d5f29c2dad2d7ead4e51526407ea6ac1fef35e', class: `dropdown_icon ${this.dropdownOpen ? 'opened' : ''}` }, h("svg", { key: 'e87694b6d129550c098c0d2a0b322c24a74c7b81', xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", class: `${this.state}` }, h("path", { key: 'c63c7f8223676b8dc95973907ed4857a52416bdd', d: "M15 7.50004C15 7.50004 11.3176 12.5 9.99996 12.5C8.68237 12.5 5 7.5 5 7.5", stroke: "#697586", "stroke-width": "1.66667", "stroke-linecap": "round", "stroke-linejoin": "round" })))), h(Fragment, null, this.dropdownOpen && (h("div", { key: 'aaf62c9af0f1dcc66173ee656454ed4d9ed3a685', class: `dropdown_menu ${this.menuPosition}`, ref: el => (this.dropdownRef = el), onClick: e => e.stopPropagation() }, this.showSearchInput && (h("div", { key: 'a30e67de85d3d373f98f5b25d20a619a96f73469', class: "dropdown_search_field" }, h("gb-input-field", { key: '1eed390dc66b12509591156d71a23984134b835a', size: "sm", value: this.inputValue, "show-close-button": this.inputValue ? true : false, "icon-swap": "assets/search-01.svg", placeholder: "Search banks", type: "icon_leading", labelText: "label", idOfInput: "3", onInputValueChanged: this.searchItems.bind(this) }))), this.searchItem ? (h(Fragment, null, this.searchItem !== '' && this.searchResults.length > 0 ? (h(Fragment, null, this.searchResults.map(item => (h("gb-input-dropdown-menu-item", { type: this.type === 'search' ? 'checkbox' : this.type === 'tags' ? 'checkbox' : this.type, state: StateEnum.Default, "supporting-text": this.supportingText, selected: this.isItemSelected(item), onClick: () => this.handleItemSelect(item) }, typeof item === 'object' ? (h(Fragment, null, h("p", { slot: "name" }, item.name), h("p", { slot: "supporting_text" }, "@", item.username))) : (h("p", { slot: "name" }, item))))))) : this.searchItem !== '' && this.searchResults.length === 0 ? (
267
+ //Empty state for when there are no search results
268
+ h("div", { class: "empty_state" }, h("img", { src: emptyStateBackground, class: "background", alt: "" }), h("div", { class: "message_background" }, h("img", { src: illustration, alt: "", class: "illustration" }), h("p", { class: "message text-md-semi-bold" }, "No results available")))) : null)) : (h(Fragment, null, this.type === 'tags' ? (h(Fragment, null, this.selectedItems.map(item => (h("gb-input-dropdown-menu-item", { type: this.type === 'search' ? 'checkbox' : this.type === 'tags' ? 'checkbox' : this.type, state: StateEnum.Default, "supporting-text": this.supportingText, selected: true, onClick: () => this.handleItemSelect(item) }, typeof item === 'object' ? (h(Fragment, null, h("p", { slot: "name" }, item.name), h("p", { slot: "supporting_text" }, "@", item.username))) : (h("p", { slot: "name" }, item))))), this.unselectedItems.map(item => (h("gb-input-dropdown-menu-item", { type: this.type === 'search' ? 'checkbox' : this.type === 'tags' ? 'checkbox' : this.type, state: StateEnum.Default, "supporting-text": this.supportingText, selected: false, onClick: () => this.handleItemSelect(item) }, typeof item === 'object' ? (h(Fragment, null, h("p", { slot: "name" }, item.name), h("p", { slot: "supporting_text" }, "@", item.username))) : (h("p", { slot: "name" }, item))))))) : (h(Fragment, null, this.items.map(item => (h("gb-input-dropdown-menu-item", { type: this.type === 'search' ? 'checkbox' : this.type === 'tags' ? 'checkbox' : this.type, state: StateEnum.Default, "supporting-text": this.supportingText, selected: this.isItemSelected(item), color: this.color, onClick: () => this.handleItemSelect(item) }, typeof item === 'object' ? (h(Fragment, null, h("p", { slot: "name" }, item.name), h("p", { slot: "supporting_text" }, "@", item.username))) : (typeof item !== 'object' && h("p", { slot: "name" }, item)))))))))))))), this.showHintText && (h("p", { key: '752ca98e29d6e6f7ea7ec51c36ad335c96621f26', class: "text-sm-regular", style: { color: '#697586' } }, this.hintText))),
197
269
  ];
198
270
  }
199
271
  static get is() { return "gb-input-dropdown"; }
@@ -472,15 +544,9 @@ export class GbInputDropdown {
472
544
  "type": "unknown",
473
545
  "mutable": true,
474
546
  "complexType": {
475
- "original": "DropdownItemTypes[]",
476
- "resolved": "DropdownItemTypes[]",
477
- "references": {
478
- "DropdownItemTypes": {
479
- "location": "import",
480
- "path": "../../models/reusableModels",
481
- "id": "src/models/reusableModels.ts::DropdownItemTypes"
482
- }
483
- }
547
+ "original": "any[]",
548
+ "resolved": "any[]",
549
+ "references": {}
484
550
  },
485
551
  "required": false,
486
552
  "optional": false,
@@ -488,21 +554,15 @@ export class GbInputDropdown {
488
554
  "tags": [],
489
555
  "text": ""
490
556
  },
491
- "defaultValue": "[\r\n // { name: 'Mock Item A', username: 'A', selected: false },\r\n // { name: 'Mock Item B', username: 'B', selected: false },\r\n // { name: 'Mock Item C', username: 'C', selected: false },\r\n // 45, 50, 20\r\n // 'Activated',\r\n // 'Deactivated',\r\n ]"
557
+ "defaultValue": "[\r\n { name: 'Mock Item A', username: 'A', selected: false },\r\n { name: 'Mock Item B', username: 'B', selected: false },\r\n { name: 'Mock Item C', username: 'C', selected: false },\r\n 45, 50, 20, 25, 90, 92, 53,\r\n 'Activated',\r\n 'Deactivated',\r\n ]"
492
558
  },
493
559
  "value": {
494
560
  "type": "unknown",
495
- "mutable": false,
561
+ "mutable": true,
496
562
  "complexType": {
497
- "original": "DropdownItemTypes[]",
498
- "resolved": "DropdownItemTypes[]",
499
- "references": {
500
- "DropdownItemTypes": {
501
- "location": "import",
502
- "path": "../../models/reusableModels",
503
- "id": "src/models/reusableModels.ts::DropdownItemTypes"
504
- }
505
- }
563
+ "original": "any[]",
564
+ "resolved": "any[]",
565
+ "references": {}
506
566
  },
507
567
  "required": false,
508
568
  "optional": false,
@@ -510,7 +570,7 @@ export class GbInputDropdown {
510
570
  "tags": [],
511
571
  "text": ""
512
572
  },
513
- "defaultValue": "[\r\n // { name: 'Mock Item A', username: 'A', selected: false },\r\n // { name: 'Mock Item B', username: 'B', selected: false },\r\n // { name: 'Mock Item C', username: 'C', selected: false },\r\n // 45, 50, 20, 25, 90,\r\n // 'Activated',\r\n // 'Deactivated',\r\n ]"
573
+ "defaultValue": "[\r\n { name: 'Mock Item A', username: 'A', selected: false },\r\n { name: 'Mock Item B', username: 'B', selected: false },\r\n { name: 'Mock Item C', username: 'C', selected: false },\r\n 45, 50, 20, 25, 90,\r\n 'Activated',\r\n // 'Deactivated',\r\n ]"
514
574
  },
515
575
  "supportingText": {
516
576
  "type": "boolean",
@@ -605,6 +665,23 @@ export class GbInputDropdown {
605
665
  "attribute": "show-search-input",
606
666
  "reflect": false,
607
667
  "defaultValue": "false"
668
+ },
669
+ "inputValue": {
670
+ "type": "string",
671
+ "mutable": false,
672
+ "complexType": {
673
+ "original": "string",
674
+ "resolved": "string",
675
+ "references": {}
676
+ },
677
+ "required": false,
678
+ "optional": false,
679
+ "docs": {
680
+ "tags": [],
681
+ "text": ""
682
+ },
683
+ "attribute": "input-value",
684
+ "reflect": false
608
685
  }
609
686
  };
610
687
  }
@@ -614,7 +691,9 @@ export class GbInputDropdown {
614
691
  "dropdownOpen": {},
615
692
  "selectedItems": {},
616
693
  "unselectedItems": {},
617
- "selectedItem": {}
694
+ "selectedItem": {},
695
+ "searchItem": {},
696
+ "searchResults": {}
618
697
  };
619
698
  }
620
699
  static get events() {