globuswebcomponents 0.9.6 → 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 (252) hide show
  1. package/dist/cjs/{gb-avatar_44.cjs.entry.js → gb-avatar_45.cjs.entry.js} +268 -140
  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-megainput-field.cjs.entry.js +2 -2
  6. package/dist/cjs/gb-pagination-dot-group.cjs.entry.js +1 -1
  7. package/dist/cjs/gb-progress-circle.cjs.entry.js +1 -1
  8. package/dist/cjs/gb-rich-text.cjs.entry.js +1 -1
  9. package/dist/cjs/gb-scrollbar.cjs.entry.js +1 -1
  10. package/dist/cjs/gb-toggle.cjs.entry.js +1 -1
  11. package/dist/cjs/gb-token-field.cjs.entry.js +1 -1
  12. package/dist/cjs/gb-verification-code-field.cjs.entry.js +2 -2
  13. package/dist/cjs/globuscomponents.cjs.js +1 -1
  14. package/dist/cjs/loader.cjs.js +1 -1
  15. package/dist/cjs/reusableModels-e50f3440.js.map +1 -1
  16. package/dist/cjs/test-input-tag.cjs.entry.js +2 -2
  17. package/dist/collection/assets/empty-state-background.svg +60 -0
  18. package/dist/collection/assets/empty-state-no-data.svg +42 -0
  19. package/dist/collection/collection-manifest.json +1 -0
  20. package/dist/collection/components/gb-export-dropdown/gb-export-dropdown.js +2 -2
  21. package/dist/collection/components/gb-export-dropdown/gb-export-dropdown.js.map +1 -1
  22. package/dist/collection/components/gb-file-upload/gb-file-upload.js +27 -27
  23. package/dist/collection/components/gb-file-upload/gb-file-upload.js.map +1 -1
  24. package/dist/collection/components/gb-horizontal-tabs/gb-horizontal-tabs.js +1 -1
  25. package/dist/collection/components/gb-input-dropdown/gb-input-dropdown.css +39 -0
  26. package/dist/collection/components/gb-input-dropdown/gb-input-dropdown.js +172 -74
  27. package/dist/collection/components/gb-input-dropdown/gb-input-dropdown.js.map +1 -1
  28. package/dist/collection/components/gb-input-dropdown-menu-item/gb-input-dropdown-menu-item.css +0 -4
  29. package/dist/collection/components/gb-input-dropdown-menu-item/gb-input-dropdown-menu-item.js +2 -2
  30. package/dist/collection/components/gb-input-field/gb-input-field.css +6 -0
  31. package/dist/collection/components/gb-input-field/gb-input-field.js +27 -19
  32. package/dist/collection/components/gb-input-field/gb-input-field.js.map +1 -1
  33. package/dist/collection/components/gb-megainput-field-base/gb-megainput-field.js +2 -2
  34. package/dist/collection/components/gb-notification-content/gb-notification-content.js +1 -1
  35. package/dist/collection/components/gb-notification-pane/gb-notification-pane.js +3 -3
  36. package/dist/collection/components/gb-pagination/gb-pagination.js +4 -3
  37. package/dist/collection/components/gb-pagination/gb-pagination.js.map +1 -1
  38. package/dist/collection/components/gb-pagination-button-group-base/gb-pagination-button-group-base.js +2 -40
  39. package/dist/collection/components/gb-pagination-button-group-base/gb-pagination-button-group-base.js.map +1 -1
  40. package/dist/collection/components/gb-pagination-dot-group/gb-pagination-dot-group.js +1 -1
  41. package/dist/collection/components/gb-pagination-dot-indicator/gb-pagination-dot-indicator.js +1 -1
  42. package/dist/collection/components/gb-pagination-number-base/gb-pagination-number-base.js +1 -1
  43. package/dist/collection/components/gb-password-button/gb-password-button.js +1 -1
  44. package/dist/collection/components/gb-progress-bar/gb-progress-bar.js +1 -1
  45. package/dist/collection/components/gb-progress-circle/gb-progress-circle.js +1 -1
  46. package/dist/collection/components/gb-rich-text/gb-rich-text.js +1 -1
  47. package/dist/collection/components/gb-scrollbar/gb-scrollbar.js +1 -1
  48. package/dist/collection/components/gb-side-bar-item/gb-side-bar-item.js +1 -1
  49. package/dist/collection/components/gb-sidebar/gb-sidebar.js +7 -8
  50. package/dist/collection/components/gb-sidebar/gb-sidebar.js.map +1 -1
  51. package/dist/collection/components/gb-slider/gb-slider.js +1 -1
  52. package/dist/collection/components/gb-slider-control-handle/gb-slider-control-handle.js +1 -1
  53. package/dist/collection/components/gb-status-indicator/gb-status-indicator.js +1 -1
  54. package/dist/collection/components/gb-tab-button-base/gb-tab-button-base.css +4 -0
  55. package/dist/collection/components/gb-tab-button-base/gb-tab-button-base.js +4 -4
  56. package/dist/collection/components/gb-tag/gb-tag.js +1 -1
  57. package/dist/collection/components/gb-tag-checkbox/gb-tag-checkbox.js +1 -1
  58. package/dist/collection/components/gb-tag-close/gb-tag-close.js +1 -1
  59. package/dist/collection/components/gb-tag-count/gb-tag-count.js +1 -1
  60. package/dist/collection/components/gb-toast/gb-toast.js +1 -1
  61. package/dist/collection/components/gb-toast-button/gb-toast-button.js +1 -1
  62. package/dist/collection/components/gb-toggle/gb-toggle.js +1 -1
  63. package/dist/collection/components/gb-toggle-base/gb-toggle-base.js +2 -2
  64. package/dist/collection/components/gb-token-field/gb-token-field.js +1 -1
  65. package/dist/collection/components/gb-tooltip/gb-tooltip.js +1 -1
  66. package/dist/collection/components/gb-verification-code-field/gb-verification-code-field.js +2 -2
  67. package/dist/collection/components/gb-vertical-tabs/gb-vertical-tabs.css +6 -0
  68. package/dist/collection/components/gb-vertical-tabs/gb-vertical-tabs.js +501 -0
  69. package/dist/collection/components/gb-vertical-tabs/gb-vertical-tabs.js.map +1 -0
  70. package/dist/collection/components/test-input-tag/test-input-tag.js +2 -2
  71. package/dist/collection/models/reusableModels.js.map +1 -1
  72. package/dist/components/gb-avatar-add-button.js +1 -1
  73. package/dist/components/gb-avatar-dropdown.js +3 -3
  74. package/dist/components/gb-avatar-group.js +4 -4
  75. package/dist/components/gb-avatar-label-group.js +1 -1
  76. package/dist/components/gb-avatar-profile-photo.js +2 -2
  77. package/dist/components/gb-avatar.js +1 -1
  78. package/dist/components/gb-badge.js +1 -1
  79. package/dist/components/gb-checkbox-group-item.js +1 -1
  80. package/dist/components/gb-checkbox-group.js +3 -3
  81. package/dist/components/gb-collapse-button.js +1 -1
  82. package/dist/components/gb-export-dropdown.js +2 -2
  83. package/dist/components/gb-export-dropdown.js.map +1 -1
  84. package/dist/components/gb-file-upload-item-base.js +1 -1
  85. package/dist/components/gb-file-upload.js +30 -28
  86. package/dist/components/gb-file-upload.js.map +1 -1
  87. package/dist/components/gb-header.js +2 -2
  88. package/dist/components/gb-help-tooltip.js +1 -1
  89. package/dist/components/gb-horizontal-tabs.js +4 -4
  90. package/dist/components/gb-input-dropdown-menu-item.js +1 -1
  91. package/dist/components/gb-input-dropdown.js +1 -1
  92. package/dist/components/gb-input-field.js +1 -396
  93. package/dist/components/gb-input-field.js.map +1 -1
  94. package/dist/components/gb-megainput-field.js +1 -1
  95. package/dist/components/gb-notification-content.js +1 -1
  96. package/dist/components/gb-notification-pane.js +4 -4
  97. package/dist/components/gb-pagination-button-group-base.js +1 -1
  98. package/dist/components/gb-pagination-dot-group.js +1 -1
  99. package/dist/components/gb-pagination-dot-indicator.js +1 -1
  100. package/dist/components/gb-pagination-number-base.js +1 -1
  101. package/dist/components/gb-pagination.js +48 -29
  102. package/dist/components/gb-pagination.js.map +1 -1
  103. package/dist/components/gb-password-button.js +1 -1
  104. package/dist/components/gb-progress-bar.js +1 -1
  105. package/dist/components/gb-progress-circle.js +1 -1
  106. package/dist/components/gb-rich-text.js +46 -22
  107. package/dist/components/gb-rich-text.js.map +1 -1
  108. package/dist/components/gb-scrollbar.js +1 -1
  109. package/dist/components/gb-side-bar-item.js +1 -1
  110. package/dist/components/gb-sidebar.js +12 -13
  111. package/dist/components/gb-sidebar.js.map +1 -1
  112. package/dist/components/gb-slider-control-handle.js +1 -1
  113. package/dist/components/gb-slider.js +3 -3
  114. package/dist/components/gb-status-indicator.js +1 -1
  115. package/dist/components/gb-tab-button-base.js +1 -1
  116. package/dist/components/gb-tag-checkbox.js +1 -1
  117. package/dist/components/gb-tag-close.js +1 -1
  118. package/dist/components/gb-tag-count.js +1 -1
  119. package/dist/components/gb-tag.js +1 -1
  120. package/dist/components/gb-toast-button.js +1 -1
  121. package/dist/components/gb-toast.js +2 -2
  122. package/dist/components/gb-toggle-base.js +1 -1
  123. package/dist/components/gb-toggle.js +2 -2
  124. package/dist/components/gb-token-field.js +2 -2
  125. package/dist/components/gb-tooltip.js +1 -1
  126. package/dist/components/gb-verification-code-field.js +3 -3
  127. package/dist/components/gb-vertical-tabs.d.ts +11 -0
  128. package/dist/components/gb-vertical-tabs.js +132 -0
  129. package/dist/components/gb-vertical-tabs.js.map +1 -0
  130. package/dist/components/gb-wysiwyg-toolbar.js +1 -1
  131. package/dist/components/{p-af6c2dc5.js → p-0bde1b0e.js} +2 -2
  132. package/dist/components/{p-af6c2dc5.js.map → p-0bde1b0e.js.map} +1 -1
  133. package/dist/components/{p-5512321a.js → p-0c6b277d.js} +2 -2
  134. package/dist/components/{p-5512321a.js.map → p-0c6b277d.js.map} +1 -1
  135. package/dist/components/{p-e26f2275.js → p-12879e00.js} +2 -2
  136. package/dist/components/{p-e26f2275.js.map → p-12879e00.js.map} +1 -1
  137. package/dist/components/{p-b02e796f.js → p-1c1003b6.js} +2 -2
  138. package/dist/components/{p-b02e796f.js.map → p-1c1003b6.js.map} +1 -1
  139. package/dist/components/{p-4aa73a61.js → p-24625c69.js} +2 -2
  140. package/dist/components/{p-4aa73a61.js.map → p-24625c69.js.map} +1 -1
  141. package/dist/components/{p-da349f94.js → p-258cafb9.js} +2 -2
  142. package/dist/components/{p-da349f94.js.map → p-258cafb9.js.map} +1 -1
  143. package/dist/components/{p-e673b425.js → p-29ca4063.js} +7 -7
  144. package/dist/components/{p-e673b425.js.map → p-29ca4063.js.map} +1 -1
  145. package/dist/components/{p-60a8f11a.js → p-2e73f436.js} +2 -2
  146. package/dist/components/{p-60a8f11a.js.map → p-2e73f436.js.map} +1 -1
  147. package/dist/components/{p-18a465ff.js → p-3254d1d4.js} +3 -3
  148. package/dist/components/{p-18a465ff.js.map → p-3254d1d4.js.map} +1 -1
  149. package/dist/components/{p-787c9757.js → p-35406f07.js} +176 -75
  150. package/dist/components/p-35406f07.js.map +1 -0
  151. package/dist/components/p-47052b60.js.map +1 -1
  152. package/dist/components/{p-2ee8e211.js → p-472f11a3.js} +2 -2
  153. package/dist/components/{p-2ee8e211.js.map → p-472f11a3.js.map} +1 -1
  154. package/dist/components/{p-cfbe014d.js → p-4bd1630c.js} +3 -3
  155. package/dist/components/{p-cfbe014d.js.map → p-4bd1630c.js.map} +1 -1
  156. package/dist/components/{p-ebbbdd33.js → p-6557b598.js} +3 -3
  157. package/dist/components/{p-ebbbdd33.js.map → p-6557b598.js.map} +1 -1
  158. package/dist/components/{p-6e7c1b3f.js → p-855667d7.js} +6 -6
  159. package/dist/components/p-855667d7.js.map +1 -0
  160. package/dist/components/{p-75424aa6.js → p-88e8dfdb.js} +3 -3
  161. package/dist/components/{p-75424aa6.js.map → p-88e8dfdb.js.map} +1 -1
  162. package/dist/components/{p-26de186a.js → p-8a6370b2.js} +3 -3
  163. package/dist/components/{p-26de186a.js.map → p-8a6370b2.js.map} +1 -1
  164. package/dist/components/{p-a112004b.js → p-8a998306.js} +2 -2
  165. package/dist/components/{p-a112004b.js.map → p-8a998306.js.map} +1 -1
  166. package/dist/components/p-99ac6a1b.js +408 -0
  167. package/dist/components/p-99ac6a1b.js.map +1 -0
  168. package/dist/components/{p-5be3a868.js → p-ac14b3b7.js} +8 -8
  169. package/dist/components/p-ac14b3b7.js.map +1 -0
  170. package/dist/components/{p-c5391fb7.js → p-ad3a2c04.js} +2 -2
  171. package/dist/components/{p-c5391fb7.js.map → p-ad3a2c04.js.map} +1 -1
  172. package/dist/components/{p-c7c9cb57.js → p-b0acdded.js} +45 -21
  173. package/dist/components/p-b0acdded.js.map +1 -0
  174. package/dist/components/{p-70b439f9.js → p-c2efc577.js} +2 -2
  175. package/dist/components/{p-70b439f9.js.map → p-c2efc577.js.map} +1 -1
  176. package/dist/components/{p-47f3f4e8.js → p-c8f12e95.js} +2 -2
  177. package/dist/components/{p-47f3f4e8.js.map → p-c8f12e95.js.map} +1 -1
  178. package/dist/components/{p-9ae39411.js → p-cbe0d594.js} +2 -2
  179. package/dist/components/{p-9ae39411.js.map → p-cbe0d594.js.map} +1 -1
  180. package/dist/components/{p-6287f38c.js → p-d401040a.js} +3 -3
  181. package/dist/components/{p-6287f38c.js.map → p-d401040a.js.map} +1 -1
  182. package/dist/components/{p-14a5304b.js → p-db3b8bbc.js} +3 -9
  183. package/dist/components/p-db3b8bbc.js.map +1 -0
  184. package/dist/components/{p-ff58b603.js → p-e7fb3e27.js} +3 -3
  185. package/dist/components/{p-ff58b603.js.map → p-e7fb3e27.js.map} +1 -1
  186. package/dist/components/{p-8efbc7c0.js → p-ec43535d.js} +6 -6
  187. package/dist/components/{p-8efbc7c0.js.map → p-ec43535d.js.map} +1 -1
  188. package/dist/components/{p-7aa28b49.js → p-fdb2a202.js} +3 -3
  189. package/dist/components/{p-7aa28b49.js.map → p-fdb2a202.js.map} +1 -1
  190. package/dist/components/test-input-tag.js +9 -9
  191. package/dist/esm/{gb-avatar_44.entry.js → gb-avatar_45.entry.js} +268 -141
  192. package/dist/esm/gb-avatar_45.entry.js.map +1 -0
  193. package/dist/esm/gb-export-dropdown.entry.js +2 -2
  194. package/dist/esm/gb-export-dropdown.entry.js.map +1 -1
  195. package/dist/esm/gb-megainput-field.entry.js +2 -2
  196. package/dist/esm/gb-pagination-dot-group.entry.js +1 -1
  197. package/dist/esm/gb-progress-circle.entry.js +1 -1
  198. package/dist/esm/gb-rich-text.entry.js +1 -1
  199. package/dist/esm/gb-scrollbar.entry.js +1 -1
  200. package/dist/esm/gb-toggle.entry.js +1 -1
  201. package/dist/esm/gb-token-field.entry.js +1 -1
  202. package/dist/esm/gb-verification-code-field.entry.js +2 -2
  203. package/dist/esm/globuscomponents.js +1 -1
  204. package/dist/esm/loader.js +1 -1
  205. package/dist/esm/reusableModels-8496e911.js.map +1 -1
  206. package/dist/esm/test-input-tag.entry.js +2 -2
  207. package/dist/globuscomponents/assets/empty-state-background.svg +60 -0
  208. package/dist/globuscomponents/assets/empty-state-no-data.svg +42 -0
  209. package/dist/globuscomponents/globuscomponents.esm.js +1 -1
  210. package/dist/globuscomponents/globuscomponents.esm.js.map +1 -1
  211. package/dist/globuscomponents/p-09f97c9b.entry.js +2 -0
  212. package/dist/globuscomponents/p-123789b1.entry.js +2 -0
  213. package/dist/globuscomponents/{p-641ddab7.entry.js → p-35a813fe.entry.js} +2 -2
  214. package/dist/globuscomponents/p-47052b60.js.map +1 -1
  215. package/dist/globuscomponents/{p-d1a92423.entry.js → p-69239722.entry.js} +2 -2
  216. package/dist/globuscomponents/p-a6568465.entry.js +2 -0
  217. package/dist/globuscomponents/{p-b22b0186.entry.js → p-a786f9fa.entry.js} +2 -2
  218. package/dist/globuscomponents/{p-d32c11d8.entry.js → p-b5d57e93.entry.js} +2 -2
  219. package/dist/globuscomponents/{p-a6d401af.entry.js → p-b65519f9.entry.js} +2 -2
  220. package/dist/globuscomponents/{p-bde2ee59.entry.js → p-ebe37817.entry.js} +2 -2
  221. package/dist/globuscomponents/p-ebe37817.entry.js.map +1 -0
  222. package/dist/globuscomponents/{p-cc42edb7.entry.js → p-f4d25885.entry.js} +2 -2
  223. package/dist/globuscomponents/p-f4d25885.entry.js.map +1 -0
  224. package/dist/globuscomponents/{p-aaa4b333.entry.js → p-f58cd21d.entry.js} +2 -2
  225. package/dist/types/components/gb-input-dropdown/gb-input-dropdown.d.ts +11 -4
  226. package/dist/types/components/gb-input-field/gb-input-field.d.ts +0 -1
  227. package/dist/types/components/gb-pagination-button-group-base/gb-pagination-button-group-base.d.ts +0 -3
  228. package/dist/types/components/gb-vertical-tabs/gb-vertical-tabs.d.ts +31 -0
  229. package/dist/types/components.d.ts +87 -12
  230. package/dist/types/models/reusableModels.d.ts +2 -2
  231. package/package.json +1 -1
  232. package/dist/cjs/gb-avatar_44.cjs.entry.js.map +0 -1
  233. package/dist/components/p-14a5304b.js.map +0 -1
  234. package/dist/components/p-5be3a868.js.map +0 -1
  235. package/dist/components/p-6e7c1b3f.js.map +0 -1
  236. package/dist/components/p-787c9757.js.map +0 -1
  237. package/dist/components/p-c7c9cb57.js.map +0 -1
  238. package/dist/esm/gb-avatar_44.entry.js.map +0 -1
  239. package/dist/globuscomponents/p-7d1d376e.entry.js +0 -2
  240. package/dist/globuscomponents/p-bde2ee59.entry.js.map +0 -1
  241. package/dist/globuscomponents/p-cc42edb7.entry.js.map +0 -1
  242. package/dist/globuscomponents/p-d0045a1d.entry.js +0 -2
  243. package/dist/globuscomponents/p-eded0645.entry.js +0 -2
  244. /package/dist/globuscomponents/{p-d0045a1d.entry.js.map → p-09f97c9b.entry.js.map} +0 -0
  245. /package/dist/globuscomponents/{p-eded0645.entry.js.map → p-123789b1.entry.js.map} +0 -0
  246. /package/dist/globuscomponents/{p-641ddab7.entry.js.map → p-35a813fe.entry.js.map} +0 -0
  247. /package/dist/globuscomponents/{p-d1a92423.entry.js.map → p-69239722.entry.js.map} +0 -0
  248. /package/dist/globuscomponents/{p-7d1d376e.entry.js.map → p-a6568465.entry.js.map} +0 -0
  249. /package/dist/globuscomponents/{p-b22b0186.entry.js.map → p-a786f9fa.entry.js.map} +0 -0
  250. /package/dist/globuscomponents/{p-d32c11d8.entry.js.map → p-b5d57e93.entry.js.map} +0 -0
  251. /package/dist/globuscomponents/{p-a6d401af.entry.js.map → p-b65519f9.entry.js.map} +0 -0
  252. /package/dist/globuscomponents/{p-aaa4b333.entry.js.map → p-f58cd21d.entry.js.map} +0 -0
@@ -17,30 +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, 25, 90,
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
+ this.showSearchInput = false;
40
+ this.inputValue = undefined;
39
41
  this.leadingIconSvg = '';
40
42
  this.dropdownOpen = false;
41
43
  this.selectedItems = [];
42
44
  this.unselectedItems = [];
43
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
+ });
44
62
  }
45
63
  disconnectedCallback() {
46
64
  document.removeEventListener('click', this.handleClickOutside);
@@ -54,17 +72,17 @@ export class GbInputDropdown {
54
72
  if (this.state !== 'disabled') {
55
73
  this.dropdownOpen = !this.dropdownOpen;
56
74
  }
75
+ // console.log(this.inputValue);
57
76
  event.stopPropagation();
58
77
  }
59
78
  isItemSelected(item) {
60
- // if(typeof selectedItem === 'object') {
61
- // const found = this.selectedItems.find(item => item.name === selectedItem.name);
62
- // return found !== undefined;
63
- // } else {
64
- // return this.selectedItem === selectedItem;
65
- // }
66
79
  const isObject = typeof item === 'object';
67
- 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
+ }
68
86
  }
69
87
  async loadIcon(iconName) {
70
88
  const iconPath = getAssetPath(`${iconName}`);
@@ -92,58 +110,109 @@ export class GbInputDropdown {
92
110
  });
93
111
  }
94
112
  handleItemSelect(item) {
95
- const isObject = typeof item === 'object';
96
113
  if (this.type === 'tags') {
97
- // Handle multiple selection for "tags" type
98
- const isSelected = this.selectedItems.some(i => (isObject ? i.name === item.name : i === item));
99
- if (isSelected) {
100
- // Unselect item: Move it from selectedItems to unselectedItems
101
- this.selectedItems = this.selectedItems.filter(i => (isObject ? i.name !== item.name : i !== item));
102
- if (!this.unselectedItems.some(i => (isObject ? i.name === item.name : i === item))) {
103
- this.unselectedItems = [...this.unselectedItems, item];
104
- }
114
+ if (this.state === 'default') {
115
+ this.selectMultipleItems(item);
116
+ console.log(this.selectedItems);
105
117
  }
106
- else {
107
- // Select item: Move it from unselectedItems to selectedItems
108
- this.selectedItems = [...this.selectedItems, item];
109
- this.unselectedItems = this.unselectedItems.filter(i => (isObject ? i.name !== item.name : i !== item));
110
- this.dropdownItemSelected.emit(this.selectedItems);
118
+ else if (this.state === 'filled' && this.value.length > 0) {
119
+ this.state = 'default';
120
+ this.value.length = 0;
121
+ this.selectMultipleItems(item);
122
+ }
123
+ else if (this.state === 'filled' && this.value.length === 0) {
124
+ this.selectMultipleItems(item);
111
125
  }
112
126
  }
113
127
  else {
114
- // Handle single selection for other types
115
- this.selectedItem = item; // Store single selected item
116
- this.selectedItems = [item]; // Ensure only one item in selectedItems
117
- // this.unselectedItems = this.items.filter(i => (isObject ? i.name !== item.name : i !== item));
118
- // Close the dropdown after selection for single selection types
119
- this.dropdownOpen = false;
120
- 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
+ }
121
139
  }
122
140
  this.state = this.selectedItems.length > 0 ? 'filled' : 'default';
141
+ // console.log(this.state)
123
142
  }
124
- 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) {
125
152
  const isObject = typeof item === 'object';
126
- // Remove item from selectedItems
127
- this.selectedItems = this.selectedItems.filter(i => (isObject ? i.name !== item.name : i !== item));
128
- // Add item back to unselectedItems if not already present
129
- if (!this.unselectedItems.some(i => (isObject ? i.name === item.name : i === item))) {
130
- 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';
131
191
  }
132
- // Optionally update state or emit event
133
- this.state = this.selectedItems.length > 0 ? 'filled' : 'default';
134
192
  }
135
193
  componentWillRender() {
136
194
  if (this.value.length > 0 && this.state === 'default') {
137
195
  this.state = 'filled';
138
196
  }
139
197
  }
140
- componentWillLoad() {
198
+ componentWillLoad(item) {
141
199
  this.loadIcon(this.leadingIcon);
142
200
  this.unselectedItems = [...this.items];
143
201
  this.selectedItems = [];
144
202
  if (this.type !== 'tags') {
145
203
  this.selectedItem = null; // For single selection types
146
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
+ }
147
216
  }
148
217
  componentDidLoad() {
149
218
  if (this.type !== 'tags') {
@@ -182,17 +251,21 @@ export class GbInputDropdown {
182
251
  }
183
252
  render() {
184
253
  var _a;
254
+ const emptyStateBackground = getAssetPath('assets/empty-state-background.svg');
255
+ const illustration = getAssetPath('assets/empty-state-no-data.svg');
185
256
  return [
186
- h("div", { key: 'b137b491938afaeaf20534052a7ecc60af136230', class: `input_dropdown_container ${this.type === 'tags' ? 'tag' : ''}` }, h("div", { key: '5089839bbef823d441ff6bb2f7f610856131363f', class: `input_with_label` }, this.showLabel && (h("p", { key: '40a8c14286ca7060d592e4da8d8aa4efda30b1dc', class: "text-sm-regular", style: { color: '#4B5565' } }, this.label.charAt(0).toUpperCase() + this.label.slice(1).toLowerCase())), h("div", { key: 'b584d7e1c53b2977cde24449b2e5403ad93e0772', class: `input_dropdown_div ${this.size} ${this.state} ${this.type === 'tags' ? 'tag' : ''}`, onClick: e => this.toggleDropdown(e) }, this.type === 'icon_leading' && (h("svg", { key: 'c48604e76ca6f8671aa0957a817747c2581c8bcb', xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none" }, h("path", { key: '2e93aa5408167fa84b29d5ca29c54470efe23837', 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: 'b64bb4cb437b3eb13e531798cb5a2ac1d1d30925', 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: 'cb2a9eeb976d8569785204da68521c83283ad12f', xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none" }, h("path", { key: '748548d2bd2e90c04c84e1185deb528e1f38153d', 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: '6d76f5bb6ba721f5ca57ac7e1568c5dc539f06ea', 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: '655b7cd8c4a42bd729aca791ab1ee02c3be616ce', size: "xs", text: this.text, color: this.color, "show-border": this.showBorder }, h("h1", { key: 'eca7e84fb89b28d46357aaa7b01aa1ada2a94981', 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: '959aaa69e5c94e0ad789517cf1d102b7ce2b9ee2', 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: '18c5e2732c116acfffa4e112f3464b48d8983d3d', cx: "5", cy: "5", r: "4", fill: "#079455" }))), h("div", { key: '4ba4317e0e92c072c185fe15049afc1f825f5c30', class: "placeholder" }, h(Fragment, null, this.state === 'default' && (h(Fragment, null, this.placeholder && (h("p", { key: '0e85bf0050f70aef4e9bb8295c6f330eb3f98861', class: "text-md-regular", style: { color: '#CDD5DF' } }, this.placeholder)))), this.state === 'filled' && (h(Fragment, null, h("div", { key: 'a2b2d4e7021bef22cb46e5c1c530e4ef88220cff', class: `content` }, h("div", { key: 'bbf8054b885ed7b8c2f3e8f592ac63a7ae72b57b', 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
187
258
  .split(' ')
188
259
  .map(part => part.charAt(0).toUpperCase())
189
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
190
261
  .split(' ')
191
262
  .map(part => part.charAt(0).toUpperCase())
192
- .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: 'fb52436f6d3b795669ac49a469a4f9c5cf7a00f9', 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: '607300c4172fc75fb8740af8c696d0835326da08', class: `content` }, h("div", { key: 'cc99752b38229dde017336d086efaf94a9021f5f', 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
193
264
  .split(' ')
194
265
  .map(part => part.charAt(0).toUpperCase())
195
- .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: '3ced9afc891c487405fd91d58cb4bbd9dfd3d44b', 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: '4a4c014fbd5ca3e521fa0ed4076e4b19b74932f4', class: `help_icon` }, h("gb-help-tooltip", { key: 'fc2299c70922126407c36bde4b1b75cd8badf794', "show-supporting-text": true }, h("slot", { key: 'd8655a48ecc83545405192804079e21d6fd5aa30', name: "tooltip_label", slot: "label" }), h("slot", { key: '701e7ebb77234dadd31357d7e538d94b7c7e3efd', name: "tooltip_supporting_text", slot: "supporting_text" })))), this.type !== 'search' && (h("div", { key: '34c9d156baf6d9fd6ff240c95e9182aa03616201', class: `dropdown_icon ${this.dropdownOpen ? 'opened' : ''}` }, h("svg", { key: 'ecd703626ee603925ced6e931a88c1abfdd5eb73', xmlns: "http://www.w3.org/2000/svg", width: "20", height: "20", viewBox: "0 0 20 20", fill: "none", class: `${this.state}` }, h("path", { key: '895c9fdb89391abd01fe4842f455b0de9f5f152b', 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: '10ecc3b6284665feb2d31c263154755b3b22c4ce', class: `dropdown_menu ${this.menuPosition}`, ref: el => (this.dropdownRef = el), onClick: e => e.stopPropagation() }, 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: '0692b132152f584ccf594040faa2889f98a1b6aa', 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))),
196
269
  ];
197
270
  }
198
271
  static get is() { return "gb-input-dropdown"; }
@@ -471,15 +544,9 @@ export class GbInputDropdown {
471
544
  "type": "unknown",
472
545
  "mutable": true,
473
546
  "complexType": {
474
- "original": "DropdownItemTypes[]",
475
- "resolved": "DropdownItemTypes[]",
476
- "references": {
477
- "DropdownItemTypes": {
478
- "location": "import",
479
- "path": "../../models/reusableModels",
480
- "id": "src/models/reusableModels.ts::DropdownItemTypes"
481
- }
482
- }
547
+ "original": "any[]",
548
+ "resolved": "any[]",
549
+ "references": {}
483
550
  },
484
551
  "required": false,
485
552
  "optional": false,
@@ -487,21 +554,15 @@ export class GbInputDropdown {
487
554
  "tags": [],
488
555
  "text": ""
489
556
  },
490
- "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 ]"
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 ]"
491
558
  },
492
559
  "value": {
493
560
  "type": "unknown",
494
- "mutable": false,
561
+ "mutable": true,
495
562
  "complexType": {
496
- "original": "DropdownItemTypes[]",
497
- "resolved": "DropdownItemTypes[]",
498
- "references": {
499
- "DropdownItemTypes": {
500
- "location": "import",
501
- "path": "../../models/reusableModels",
502
- "id": "src/models/reusableModels.ts::DropdownItemTypes"
503
- }
504
- }
563
+ "original": "any[]",
564
+ "resolved": "any[]",
565
+ "references": {}
505
566
  },
506
567
  "required": false,
507
568
  "optional": false,
@@ -509,7 +570,7 @@ export class GbInputDropdown {
509
570
  "tags": [],
510
571
  "text": ""
511
572
  },
512
- "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 ]"
513
574
  },
514
575
  "supportingText": {
515
576
  "type": "boolean",
@@ -586,6 +647,41 @@ export class GbInputDropdown {
586
647
  },
587
648
  "attribute": "menu-position",
588
649
  "reflect": false
650
+ },
651
+ "showSearchInput": {
652
+ "type": "boolean",
653
+ "mutable": false,
654
+ "complexType": {
655
+ "original": "boolean",
656
+ "resolved": "boolean",
657
+ "references": {}
658
+ },
659
+ "required": false,
660
+ "optional": false,
661
+ "docs": {
662
+ "tags": [],
663
+ "text": ""
664
+ },
665
+ "attribute": "show-search-input",
666
+ "reflect": false,
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
589
685
  }
590
686
  };
591
687
  }
@@ -595,7 +691,9 @@ export class GbInputDropdown {
595
691
  "dropdownOpen": {},
596
692
  "selectedItems": {},
597
693
  "unselectedItems": {},
598
- "selectedItem": {}
694
+ "selectedItem": {},
695
+ "searchItem": {},
696
+ "searchResults": {}
599
697
  };
600
698
  }
601
699
  static get events() {